]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - tests/stress/dead-get-closure-var.js
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / tests / stress / dead-get-closure-var.js
diff --git a/tests/stress/dead-get-closure-var.js b/tests/stress/dead-get-closure-var.js
new file mode 100644 (file)
index 0000000..7622fb0
--- /dev/null
@@ -0,0 +1,23 @@
+var global;
+
+function foo(a) {
+    var x = a.f;
+    var f = function() { global = x; };
+    noInline(f);
+    f();
+    var tmp1 = a.g + 1;
+    var tmp2 = x;
+    return global;
+}
+
+noInline(foo);
+
+for (var i = 0; i < 10000; ++i) {
+    var result = foo({f:i, g:i + 1});
+    if (result != i)
+        throw "Error: bad result: " + result;
+}
+
+var result = foo({f:42, g:4.2});
+if (result != 42)
+    throw "Error: bad result at end: " + result;