| 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 |