]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - tests/stress/exit-from-getter.js
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / tests / stress / exit-from-getter.js
diff --git a/tests/stress/exit-from-getter.js b/tests/stress/exit-from-getter.js
new file mode 100644 (file)
index 0000000..11830b8
--- /dev/null
@@ -0,0 +1,23 @@
+(function() {
+    var o = {_f:42};
+    o.__defineGetter__("f", function() { return this._f * 100; });
+    var result = 0;
+    var n = 50000;
+    function foo(o) {
+        return o.f + 11;
+    }
+    noInline(foo);
+    for (var i = 0; i < n; ++i) {
+        result += foo(o);
+    }
+    if (result != n * (42 * 100 + 11))
+        throw "Error: bad result: " + result;
+    o._f = 1000000000;
+    result = 0;
+    for (var i = 0; i < n; ++i) {
+        result += foo(o);
+    }
+    if (result != n * (1000000000 * 100 + 11))
+        throw "Error: bad result (2): " + result;
+})();
+