diff options
Diffstat (limited to 'js/src/jit-test/tests/basic/testBug602413.js')
-rw-r--r-- | js/src/jit-test/tests/basic/testBug602413.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/testBug602413.js b/js/src/jit-test/tests/basic/testBug602413.js new file mode 100644 index 0000000000..eeef15cbee --- /dev/null +++ b/js/src/jit-test/tests/basic/testBug602413.js @@ -0,0 +1,45 @@ +var so = []; + +function U(unusedV) +{ + for (var i = 0; i < so.length; ++i) + return false; + so.push(0); +} + +function C(v) +{ + if (typeof v == "object" || typeof v == "function") { + for (var i = 0; i < 10; ++i) {} + U(v); + } +} + +function exploreProperties(obj) +{ + var props = []; + for (var o = obj; o; o = Object.getPrototypeOf(o)) { + props = props.concat(Object.getOwnPropertyNames(o)); + } + for (var i = 0; i < props.length; ++i) { + var p = props[i]; + try { + var v = obj[p]; + C(v); + } catch(e) { } + } +} + +function boom() +{ + var a = []; + var b = function(){}; + var c = [{}]; + exploreProperties(a); + exploreProperties(b); + exploreProperties(c); + exploreProperties(c); +} + +boom(); + |