1 // Copyright 2015 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 broken(value) { 8 return Math.floor(value/65536); 9 } 10 function toUnsigned(i) { 11 return i >>> 0; 12 } 13 function outer(i) { 14 return broken(toUnsigned(i)); 15 } 16 for (var i = 0; i < 5; i++) outer(0); 17 broken(0x80000000); // Spice things up with a sprinkling of type feedback. 18 %OptimizeFunctionOnNextCall(outer); 19 assertEquals(32768, outer(0x80000000)); 20