Index: test/mjsunit/keyed-named-access.js |
diff --git a/test/mjsunit/keyed-named-access.js b/test/mjsunit/keyed-named-access.js |
index f9541e8e0aa9c2cd9a96faab478270964104f2a4..11f8fb50d879c123a1868ca317d3987f5d0e905d 100644 |
--- a/test/mjsunit/keyed-named-access.js |
+++ b/test/mjsunit/keyed-named-access.js |
@@ -34,3 +34,39 @@ f(o3); |
f(o3); |
%OptimizeFunctionOnNextCall(f); |
assertEquals(1200, f(o3)); |
+ |
+(function CountOperationDeoptimizationGetter() { |
+ var global = {}; |
+ global.__defineGetter__("A", function () { return "x"; }); |
+ |
+ function h() { |
+ return "A"; |
+ } |
+ |
+ function g(a, b, c) { |
+ try { |
+ return a + b.toString() + c; |
+ } catch (e) { } |
+ } |
+ |
+ function test(o) { |
+ return g(1, o[h()]--, 10); |
+ } |
+ |
+ test(global); |
+ test(global); |
+ %OptimizeFunctionOnNextCall(test); |
+ print(test(global)); |
+})(); |
+ |
+ |
+(function CountOperationDeoptimizationPoint() { |
+ function test() { |
+ this[0, ""]--; |
+ } |
+ |
+ test(); |
+ test(); |
+ %OptimizeFunctionOnNextCall(test); |
+ test(); |
+})(); |