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