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