1 // Copyright 2016 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 var a = {} 8 var b = {} 9 a.x = 1; 10 a.y = 1; 11 b.x = 1; 12 13 function foo(c) { 14 var s = 0; 15 for (var p in c) { s++; } 16 return s; 17 } 18 19 assertEquals(2, foo(a)); 20 assertEquals(1, foo(b)); 21 %OptimizeFunctionOnNextCall(foo); 22 assertEquals(2, foo(a)); 23 assertEquals(1, foo(b)); 24