OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --allow-natives-syntax | 5 // Flags: --allow-natives-syntax |
6 | 6 |
7 var global = {} | 7 var global = {} |
8 | 8 |
9 var fish = [ | 9 var fish = [ |
10 {'name': 'foo'}, | 10 {'name': 'foo'}, |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 | 72 |
73 inferrable_store(0); | 73 inferrable_store(0); |
74 inferrable_store(0); | 74 inferrable_store(0); |
75 %OptimizeFunctionOnNextCall(inferrable_store); | 75 %OptimizeFunctionOnNextCall(inferrable_store); |
76 inferrable_store(0); | 76 inferrable_store(0); |
77 assertOptimized(inferrable_store); | 77 assertOptimized(inferrable_store); |
78 // If |inferrable_store| emitted a generic keyed store, it won't deopt upon | 78 // If |inferrable_store| emitted a generic keyed store, it won't deopt upon |
79 // seeing a property name key. It should have inferred a receiver map and | 79 // seeing a property name key. It should have inferred a receiver map and |
80 // emitted an elements store, however. | 80 // emitted an elements store, however. |
81 inferrable_store("deopt"); | 81 inferrable_store("deopt"); |
82 assertUnoptimized(inferrable_store); | 82 |
| 83 // TurboFan is not sophisticated enough to use key type provided by ICs. |
| 84 if (!isTurboFanned(inferrable_store)) { |
| 85 assertUnoptimized(inferrable_store); |
| 86 } |
OLD | NEW |