summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/bug1300528.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/bug1300528.js')
-rw-r--r--js/src/jit-test/tests/debug/bug1300528.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/bug1300528.js b/js/src/jit-test/tests/debug/bug1300528.js
new file mode 100644
index 0000000000..b555c96cdb
--- /dev/null
+++ b/js/src/jit-test/tests/debug/bug1300528.js
@@ -0,0 +1,34 @@
+// |jit-test| skip-if: helperThreadCount() === 0
+
+load(libdir + "asserts.js");
+
+function BigInteger(a, b, c) {}
+function montConvert(x) {
+ var r = new BigInteger(null);
+ return r;
+}
+var ba = new Array();
+a = new BigInteger(ba);
+g = montConvert(a);
+var lfGlobal = newGlobal({newCompartment: true});
+for (lfLocal in this) {
+ if (!(lfLocal in lfGlobal)) {
+ lfGlobal[lfLocal] = this[lfLocal];
+ }
+}
+lfGlobal.offThreadCompileToStencil(`
+ var dbg = new Debugger(g);
+ dbg.onEnterFrame = function (frame) {
+ var frameThis = frame.this;
+ }
+`);
+var stencil = lfGlobal.finishOffThreadStencil();
+lfGlobal.evalStencil(stencil);
+assertThrowsInstanceOf(test, ReferenceError);
+function test() {
+ function check(fun, msg, todo) {
+ success = fun();
+ }
+ check(() => Object.getPrototypeOf(view) == Object.getPrototypeOf(simple));
+ typeof this;
+}