| 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 constants() { | 5 constants() { |
| 6 Expect.equals(0x80000000, 0x80000000 | 0); | 6 Expect.equals(0x80000000, 0x80000000 | 0); |
| 7 Expect.equals(0x80000001, 0x80000000 | 1); | 7 Expect.equals(0x80000001, 0x80000000 | 1); |
| 8 Expect.equals(0x80000000, 0x80000000 | 0x80000000); | 8 Expect.equals(0x80000000, 0x80000000 | 0x80000000); |
| 9 Expect.equals(0xFFFFFFFF, 0xFFFF0000 | 0xFFFF); | 9 Expect.equals(0xFFFFFFFF, 0xFFFF0000 | 0xFFFF); |
| 10 Expect.equals(0x80000000, 0x80000000 & 0xFFFFFFFF); | 10 Expect.equals(0x80000000, 0x80000000 & 0xFFFFFFFF); |
| 11 Expect.equals(0x80000000, 0x80000000 & 0x80000000); | 11 Expect.equals(0x80000000, 0x80000000 & 0x80000000); |
| 12 Expect.equals(0x80000000, 0x80000000 & 0xF0000000); | 12 Expect.equals(0x80000000, 0x80000000 & 0xF0000000); |
| 13 Expect.equals(0x80000000, 0xFFFFFFFF & 0x80000000); | 13 Expect.equals(0x80000000, 0xFFFFFFFF & 0x80000000); |
| 14 Expect.equals(0x80000000, 0x80000000 ^ 0); | 14 Expect.equals(0x80000000, 0x80000000 ^ 0); |
| 15 Expect.equals(0xFFFFFFFF, 0x80000000 ^ 0x7FFFFFFF); | 15 Expect.equals(0xFFFFFFFF, 0x80000000 ^ 0x7FFFFFFF); |
| 16 Expect.equals(0xFFFFFFFF, 0x7FFFFFFF ^ 0x80000000); | 16 Expect.equals(0xFFFFFFFF, 0x7FFFFFFF ^ 0x80000000); |
| 17 Expect.equals(0xF0000000, 0x70000000 ^ 0x80000000); | 17 Expect.equals(0xF0000000, 0x70000000 ^ 0x80000000); |
| 18 Expect.equals(0x80000000, 1 << 31); | 18 Expect.equals(0x80000000, 1 << 31); |
| 19 Expect.equals(0xFFFFFFF0, 0xFFFFFFF << 4); | 19 Expect.equals(0xFFFFFFF0, 0xFFFFFFF << 4); |
| 20 Expect.equals(0x7FFFFFFF, 0xFFFFFFFF >> 1); | 20 Expect.equals(0x7FFFFFFF, 0xFFFFFFFF >> 1); |
| 21 Expect.equals(0xFFFF0000, (-1 >> 16) & 0xFFFF0000); |
| 22 Expect.equals(0xFFFFFFFF, (-1 >> 33) & 0xFFFFFFFF); |
| 21 Expect.equals(0xFFFFFFFC, | 23 Expect.equals(0xFFFFFFFC, |
| 22 ((((((0xFFFFFFF << 4) // 0xFFFFFFF0 | 24 ((((((0xFFFFFFF << 4) // 0xFFFFFFF0 |
| 23 >> 1) // 0x7FFFFFF8 | 25 >> 1) // 0x7FFFFFF8 |
| 24 | 0x80000000) // 0xFFFFFFF8 | 26 | 0x80000000) // 0xFFFFFFF8 |
| 25 >> 2) // 0x3FFFFFFE | 27 >> 2) // 0x3FFFFFFE |
| 26 ^ 0x40000000) // 0x7FFFFFFE | 28 ^ 0x40000000) // 0x7FFFFFFE |
| 27 << 1)); | 29 << 1)); |
| 28 } | 30 } |
| 29 | 31 |
| 30 foo(i) { | 32 foo(i) { |
| (...skipping 22 matching lines...) Expand all Loading... |
| 53 Expect.equals(0x80000000, id(0x80000000) & id(0x80000000)); | 55 Expect.equals(0x80000000, id(0x80000000) & id(0x80000000)); |
| 54 Expect.equals(0x80000000, id(0x80000000) & id(0xF0000000)); | 56 Expect.equals(0x80000000, id(0x80000000) & id(0xF0000000)); |
| 55 Expect.equals(0x80000000, id(0xFFFFFFFF) & id(0x80000000)); | 57 Expect.equals(0x80000000, id(0xFFFFFFFF) & id(0x80000000)); |
| 56 Expect.equals(0x80000000, id(0x80000000) ^ id(0)); | 58 Expect.equals(0x80000000, id(0x80000000) ^ id(0)); |
| 57 Expect.equals(0xFFFFFFFF, id(0x80000000) ^ id(0x7FFFFFFF)); | 59 Expect.equals(0xFFFFFFFF, id(0x80000000) ^ id(0x7FFFFFFF)); |
| 58 Expect.equals(0xFFFFFFFF, id(0x7FFFFFFF) ^ id(0x80000000)); | 60 Expect.equals(0xFFFFFFFF, id(0x7FFFFFFF) ^ id(0x80000000)); |
| 59 Expect.equals(0xF0000000, id(0x70000000) ^ id(0x80000000)); | 61 Expect.equals(0xF0000000, id(0x70000000) ^ id(0x80000000)); |
| 60 Expect.equals(0x80000000, id(1) << id(31)); | 62 Expect.equals(0x80000000, id(1) << id(31)); |
| 61 Expect.equals(0xFFFFFFF0, id(0xFFFFFFF) << id(4)); | 63 Expect.equals(0xFFFFFFF0, id(0xFFFFFFF) << id(4)); |
| 62 Expect.equals(0x7FFFFFFF, id(0xFFFFFFFF) >> id(1)); | 64 Expect.equals(0x7FFFFFFF, id(0xFFFFFFFF) >> id(1)); |
| 65 Expect.equals(0xFFFF0000, (id(-1) >> 16) & 0xFFFF0000); |
| 66 Expect.equals(0xFFFFFFFF, (id(-1) >> 33) & 0xFFFFFFFF); |
| 63 Expect.equals(0xFFFFFFFC, | 67 Expect.equals(0xFFFFFFFC, |
| 64 ((((((id(0xFFFFFFF) << 4) // 0xFFFFFFF0 | 68 ((((((id(0xFFFFFFF) << 4) // 0xFFFFFFF0 |
| 65 >> 1) // 0x7FFFFFF8 | 69 >> 1) // 0x7FFFFFF8 |
| 66 | 0x80000000) // 0xFFFFFFF8 | 70 | 0x80000000) // 0xFFFFFFF8 |
| 67 >> 2) // 0x3FFFFFFE | 71 >> 2) // 0x3FFFFFFE |
| 68 ^ 0x40000000) // 0x7FFFFFFE | 72 ^ 0x40000000) // 0x7FFFFFFE |
| 69 << 1)); | 73 << 1)); |
| 70 } | 74 } |
| 71 | 75 |
| 72 speculative() { | 76 speculative() { |
| 73 var a = id(0x80000000); | 77 var a = id(0x80000000); |
| 74 var b = id(0); | 78 var b = id(0); |
| 75 var c = id(1); | 79 var c = id(1); |
| 76 var d = id(0xFFFF0000); | 80 var d = id(0xFFFF0000); |
| 77 var e = id(0xFFFF); | 81 var e = id(0xFFFF); |
| 78 var f = id(0xFFFFFFFF); | 82 var f = id(0xFFFFFFFF); |
| 79 var g = id(0xF0000000); | 83 var g = id(0xF0000000); |
| 80 var h = id(0x7FFFFFFF); | 84 var h = id(0x7FFFFFFF); |
| 81 var j = id(0x70000000); | 85 var j = id(0x70000000); |
| 82 var k = id(31); | 86 var k = id(31); |
| 83 var l = id(4); | 87 var l = id(4); |
| 84 var m = id(0xFFFFFFF); | 88 var m = id(0xFFFFFFF); |
| 89 var n = id(-1); |
| 85 for (int i = 0; i < 1; i++) { | 90 for (int i = 0; i < 1; i++) { |
| 86 Expect.equals(0x80000000, a | b); | 91 Expect.equals(0x80000000, a | b); |
| 87 Expect.equals(0x80000001, a | c); | 92 Expect.equals(0x80000001, a | c); |
| 88 Expect.equals(0x80000000, a | a); | 93 Expect.equals(0x80000000, a | a); |
| 89 Expect.equals(0xFFFFFFFF, d | e); | 94 Expect.equals(0xFFFFFFFF, d | e); |
| 90 Expect.equals(0x80000000, a & f); | 95 Expect.equals(0x80000000, a & f); |
| 91 Expect.equals(0x80000000, a & a); | 96 Expect.equals(0x80000000, a & a); |
| 92 Expect.equals(0x80000000, a & g); | 97 Expect.equals(0x80000000, a & g); |
| 93 Expect.equals(0x80000000, f & a); | 98 Expect.equals(0x80000000, f & a); |
| 94 Expect.equals(0x80000000, a ^ b); | 99 Expect.equals(0x80000000, a ^ b); |
| 95 Expect.equals(0xFFFFFFFF, a ^ h); | 100 Expect.equals(0xFFFFFFFF, a ^ h); |
| 96 Expect.equals(0xFFFFFFFF, h ^ a); | 101 Expect.equals(0xFFFFFFFF, h ^ a); |
| 97 Expect.equals(0xF0000000, j ^ a); | 102 Expect.equals(0xF0000000, j ^ a); |
| 98 Expect.equals(0x80000000, c << k); | 103 Expect.equals(0x80000000, c << k); |
| 99 Expect.equals(0xFFFFFFF0, m << l); | 104 Expect.equals(0xFFFFFFF0, m << l); |
| 100 Expect.equals(0x7FFFFFFF, f >> c); | 105 Expect.equals(0x7FFFFFFF, f >> c); |
| 106 Expect.equals(0xFFFF0000, (n >> 16) & 0xFFFF0000); |
| 107 Expect.equals(0xFFFFFFFF, (n >> 33) & 0xFFFFFFFF); |
| 101 Expect.equals(0xFFFFFFFC, | 108 Expect.equals(0xFFFFFFFC, |
| 102 ((((((m << 4) // 0xFFFFFFF0 | 109 ((((((m << 4) // 0xFFFFFFF0 |
| 103 >> 1) // 0x7FFFFFF8 | 110 >> 1) // 0x7FFFFFF8 |
| 104 | 0x80000000) // 0xFFFFFFF8 | 111 | 0x80000000) // 0xFFFFFFF8 |
| 105 >> 2) // 0x3FFFFFFE | 112 >> 2) // 0x3FFFFFFE |
| 106 ^ 0x40000000) // 0x7FFFFFFE | 113 ^ 0x40000000) // 0x7FFFFFFE |
| 107 << 1)); | 114 << 1)); |
| 108 } | 115 } |
| 109 } | 116 } |
| 110 | 117 |
| 111 // Due to bad precedence rules this example was broken in Dart2Js. | 118 // Due to bad precedence rules this example was broken in Dart2Js. |
| 112 precedence() { | 119 precedence() { |
| 113 Expect.equals(0x80000000, -1 & 0x80000000); | 120 Expect.equals(0x80000000, -1 & 0x80000000); |
| 114 Expect.equals(0x80000000, id(-1) & 0x80000000); | 121 Expect.equals(0x80000000, id(-1) & 0x80000000); |
| 115 Expect.equals(0x80000000, ~(~(0x80000000))); | 122 Expect.equals(0x80000000, ~(~(0x80000000))); |
| 116 Expect.equals(0x80000000, ~(~(id(0x80000000)))); | 123 Expect.equals(0x80000000, ~(~(id(0x80000000)))); |
| 117 } | 124 } |
| 118 | 125 |
| 119 main() { | 126 main() { |
| 120 constants(); | 127 constants(); |
| 121 interceptors(); | 128 interceptors(); |
| 122 speculative(); | 129 speculative(); |
| 123 precedence(); | 130 precedence(); |
| 124 } | 131 } |
| OLD | NEW |