Home | History | Annotate | Download | only in regress
      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