summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/saved-stacks/get-set.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/saved-stacks/get-set.js')
-rw-r--r--js/src/jit-test/tests/saved-stacks/get-set.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/saved-stacks/get-set.js b/js/src/jit-test/tests/saved-stacks/get-set.js
new file mode 100644
index 0000000000..be2e207399
--- /dev/null
+++ b/js/src/jit-test/tests/saved-stacks/get-set.js
@@ -0,0 +1,25 @@
+// Test that we can save stacks with getter and setter function frames.
+
+function assertStackLengthEq(stack, expectedLength) {
+ let actual = 0;
+ while (stack) {
+ actual++;
+ stack = stack.parent;
+ }
+ assertEq(actual, expectedLength);
+}
+
+const get = { get s() { return saveStack(); } }.s;
+assertStackLengthEq(get, 2);
+
+let set;
+try {
+ ({
+ set s(v) {
+ throw saveStack();
+ }
+ }).s = 1;
+} catch (s) {
+ set = s;
+}
+assertStackLengthEq(set, 2);