summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/bug1331058.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--js/src/jit-test/tests/ion/bug1331058.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/bug1331058.js b/js/src/jit-test/tests/ion/bug1331058.js
new file mode 100644
index 0000000000..ffb8f29196
--- /dev/null
+++ b/js/src/jit-test/tests/ion/bug1331058.js
@@ -0,0 +1,29 @@
+function foo(o, trigger) {
+ bar = function() { return o.getY(); };
+ if (trigger)
+ assertEq(bar(), undefined);
+ return 1;
+}
+function O(o, trigger) {
+ this.a1 = 1;
+ this.a2 = 2;
+ this.a3 = 3;
+ this.a4 = 4;
+ this.x = foo(this, trigger);
+}
+O.prototype.getY = function() {
+ return this.x;
+}
+function test() {
+ with(this) {}; // No Ion.
+ var arr = [];
+ for (var i=0; i<100; i++)
+ arr.push(new O({y: i}, false));
+
+ for (var i=0; i<100; i++)
+ bar();
+
+ for (var i=0; i<300; i++)
+ arr.push(new O({y: i}, true));
+}
+test();