| 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 | 5 // Flags: --allow-natives-syntax | 
| 6 | 6 | 
| 7 a = {y:1.5}; | 7 var a = {y:1.5}; | 
| 8 a.y = 0; | 8 a.y = 0; | 
| 9 b = a.y; | 9 var b = a.y; | 
| 10 c = {y:{}}; | 10 a.y = {}; | 
| 11 | 11 var d = 1; | 
| 12 function f() { | 12 function f() { | 
| 13   return 1; | 13   d = 0; | 
|  | 14   return {y: b}; | 
| 14 } | 15 } | 
| 15 | 16 f(); | 
| 16 function g() { | 17 f(); | 
| 17   var e = {y: b}; | 18 %OptimizeFunctionOnNextCall(f); | 
| 18   var d = {x:f()}; | 19 f(); | 
| 19   var d = {x:f()}; |  | 
| 20   return [e, d]; |  | 
| 21 } |  | 
| 22 |  | 
| 23 g(); |  | 
| 24 g(); |  | 
| 25 %OptimizeFunctionOnNextCall(g); |  | 
| 26 assertEquals(1, g()[1].x); |  | 
| OLD | NEW | 
|---|