Index: test/mjsunit/for-in-opt.js |
diff --git a/test/mjsunit/for-in-opt.js b/test/mjsunit/for-in-opt.js |
deleted file mode 100644 |
index 58344e4dc1bcfcb66b6bb789a992993c0b1ed036..0000000000000000000000000000000000000000 |
--- a/test/mjsunit/for-in-opt.js |
+++ /dev/null |
@@ -1,75 +0,0 @@ |
-// Copyright 2015 the V8 project authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Flags: --harmony-proxies --allow-natives-syntax |
- |
-"use strict"; |
- |
-// Test non-JSObject receiver. |
-function f(o) { |
- var result = []; |
- for (var i in o) { |
- result.push(i); |
- } |
- return result; |
-} |
- |
-assertEquals(["0"], f("a")); |
-assertEquals(["0"], f("a")); |
-%OptimizeFunctionOnNextCall(f); |
-assertEquals(["0","1","2"], f("bla")); |
- |
-// Test the lazy deopt points. |
-var keys = ["a", "b", "c", "d"]; |
-var has_keys = []; |
-var deopt_has = false; |
-var deopt_enum = false; |
- |
-var handler = { |
- enumerate: function(target) { |
- if (deopt_enum) { |
- %DeoptimizeFunction(f2); |
- deopt_enum = false; |
- } |
- return keys; |
- }, |
- |
- getPropertyDescriptor: function(k) { |
- if (deopt_has) { |
- %DeoptimizeFunction(f2); |
- deopt_has = false; |
- } |
- has_keys.push(k); |
- return {value: 10, configurable: true, writable: false, enumerable: true}; |
- } |
-}; |
- |
- |
-var proxy = Proxy.create(handler); |
-var o = {__proto__: proxy}; |
- |
-function f2(o) { |
- var result = []; |
- for (var i in o) { |
- result.push(i); |
- } |
- return result; |
-} |
- |
-function check_f2() { |
- assertEquals(keys, f2(o)); |
- assertEquals(keys, has_keys); |
- has_keys.length = 0; |
-} |
- |
-check_f2(); |
-check_f2(); |
-// Test lazy deopt after GetPropertyNamesFast |
-%OptimizeFunctionOnNextCall(f2); |
-deopt_enum = true; |
-check_f2(); |
-// Test lazy deopt after FILTER_KEY |
-%OptimizeFunctionOnNextCall(f2); |
-deopt_has = true; |
-check_f2(); |