summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/testDeepBailFromHasInstance.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/testDeepBailFromHasInstance.js')
-rw-r--r--js/src/jit-test/tests/basic/testDeepBailFromHasInstance.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/testDeepBailFromHasInstance.js b/js/src/jit-test/tests/basic/testDeepBailFromHasInstance.js
new file mode 100644
index 000000000..33646da6c
--- /dev/null
+++ b/js/src/jit-test/tests/basic/testDeepBailFromHasInstance.js
@@ -0,0 +1,12 @@
+var arr = [StopIteration, StopIteration, StopIteration, StopIteration, {}];
+var obj = {};
+var x;
+var result = 'no error';
+try {
+ for (var i = 0; i < arr.length; i++)
+ x = (obj instanceof arr[i]); // last iteration throws, triggering deep bail
+} catch (exc) {
+ result = exc.constructor.name;
+}
+assertEq(result, 'TypeError');
+