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 --noopt-safe-uint32-operations | 5 // Flags: --allow-natives-syntax |
6 | 6 |
7 // Check the results of `left >>> right`. The result is always unsigned (and | 7 // Check the results of `left >>> right`. The result is always unsigned (and |
8 // therefore positive). | 8 // therefore positive). |
9 function test_shr(left) { | 9 function test_shr(left) { |
10 var errors = 0; | 10 var errors = 0; |
11 | 11 |
12 for (var i = 1; i < 1024; i++) { | 12 for (var i = 1; i < 1024; i++) { |
13 var temp = left >>> i; | 13 var temp = left >>> i; |
14 if (temp < 0) { | 14 if (temp < 0) { |
15 errors++; | 15 errors++; |
16 } | 16 } |
17 } | 17 } |
18 | 18 |
19 return errors; | 19 return errors; |
20 } | 20 } |
21 | 21 |
22 assertEquals(0, test_shr(1)); | 22 assertEquals(0, test_shr(1)); |
23 %OptimizeFunctionOnNextCall(test_shr); | 23 %OptimizeFunctionOnNextCall(test_shr); |
24 for (var i = 5; i >= -5; i--) { | 24 for (var i = 5; i >= -5; i--) { |
25 assertEquals(0, test_shr(i)); | 25 assertEquals(0, test_shr(i)); |
26 } | 26 } |
OLD | NEW |