OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 // Test arithmetic on 64-bit integers. | 5 // Test arithmetic on 64-bit integers. |
6 | 6 |
7 test_and_1() { | 7 test_and_1() { |
8 try { // Avoid optimizing this function. | 8 try { // Avoid optimizing this function. |
9 f(a, b) { | 9 f(a, b) { |
10 var s = b; | 10 var s = b; |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 var y = 0xffffffffffffffff; | 64 var y = 0xffffffffffffffff; |
65 Expect.equals(-1, f(y, -1)); // Triggers deoptimization. | 65 Expect.equals(-1, f(y, -1)); // Triggers deoptimization. |
66 } finally { } | 66 } finally { } |
67 } | 67 } |
68 | 68 |
69 test_func(x, y) => (x & y) + 1.0; | 69 test_func(x, y) => (x & y) + 1.0; |
70 | 70 |
71 test_mint_double_op() { | 71 test_mint_double_op() { |
72 for (var i=0; i<10000; i++) test_func(4294967295, 1); | 72 for (var i=0; i<10000; i++) test_func(4294967295, 1); |
73 Expect.equals(2.0, test_func(4294967295, 1)); | 73 Expect.equals(2.0, test_func(4294967295, 1)); |
74 Expect.equals(4294967296.0, test_func(4294967295, 1)); | |
75 } | 74 } |
76 | 75 |
77 main() { | 76 main() { |
78 for (var i = 0; i < 5; i++) { | 77 for (var i = 0; i < 5; i++) { |
79 test_and_1(); | 78 test_and_1(); |
80 test_and_2(); | 79 test_and_2(); |
81 test_xor_1(); | 80 test_xor_1(); |
82 test_or_1(); | 81 test_or_1(); |
83 test_mint_double_op(); | 82 test_mint_double_op(); |
84 } | 83 } |
85 } | 84 } |
OLD | NEW |