OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 --always-opt | 5 // Flags: --allow-natives-syntax --always-opt --turbo-filter=* |
6 // Flags: --turbo-filter=* --turbo-deoptimization | |
7 | 6 |
8 function assertEquals() {} | 7 function assertEquals() {} |
9 | 8 |
10 function f(o) { | 9 function f(o) { |
11 if (o.setterProperty = 0) { | 10 if (o.setterProperty = 0) { |
12 return 1; | 11 return 1; |
13 } | 12 } |
14 return 2; | 13 return 2; |
15 } | 14 } |
16 | 15 |
17 function deopt() { %DeoptimizeFunction(f); } | 16 function deopt() { %DeoptimizeFunction(f); } |
18 | 17 |
19 assertEquals(2, | 18 assertEquals(2, |
20 f(Object.defineProperty({}, "setterProperty", { set: deopt }))); | 19 f(Object.defineProperty({}, "setterProperty", { set: deopt }))); |
OLD | NEW |