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 3 // found in the LICENSE file. 4 5 // Flags: --allow-natives-syntax 6 7 function p(x) { 8 this.x = x; 9 } 10 11 function f() { 12 var a = new p(1), b = new p(2); 13 for (var i = 0; i < 1; i++) { 14 a.x += b.x; 15 } 16 return a.x; 17 } 18 19 new p(0.1); // make 'x' mutable box double field in p. 20 21 assertEquals(3, f()); 22 assertEquals(3, f()); 23 %OptimizeFunctionOnNextCall(f); 24 assertEquals(3, f()); 25