summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/invokeFunctionMagic.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/invokeFunctionMagic.js')
-rw-r--r--js/src/jit-test/tests/basic/invokeFunctionMagic.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/invokeFunctionMagic.js b/js/src/jit-test/tests/basic/invokeFunctionMagic.js
new file mode 100644
index 0000000000..9fc364315f
--- /dev/null
+++ b/js/src/jit-test/tests/basic/invokeFunctionMagic.js
@@ -0,0 +1,20 @@
+// JS_IS_CONSTRUCTING
+var g = newGlobal();
+do {
+ new g.String(); // jit::CreateThis passes JS_IS_CONSTRUCTING
+} while (!inIon());
+
+// JS_UNINITIALIZED_LEXICAL
+function dontAbortWholeCompilation() {
+ class B {};
+ class D extends B {
+ constructor() { super(); }
+ };
+
+ return D;
+}
+var classImpl = dontAbortWholeCompilation();
+
+do {
+ new classImpl(); // jit::CreateThis passes JS_UNINITIALIZED_LEXICAL
+} while (!inIon());