OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 a = {y:1.5}; | 7 var o = {} |
8 a.y = 1093445778; | 8 Object.defineProperty(o, "z", { |
9 b = a.y; | 9 set: function() { |
10 c = {y:{}}; | 10 %DeoptimizeFunction(f); |
| 11 }, |
| 12 }); |
11 | 13 |
12 function f() { | 14 function f(o) { |
13 return {y: b}; | 15 return 19 + (void(o.z = 12)); |
14 } | 16 } |
15 | 17 |
16 f(); | 18 f(o); |
17 f(); | |
18 %OptimizeFunctionOnNextCall(f); | |
19 assertEquals(f().y, 1093445778); | |
OLD | NEW |