| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation | 4 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation |
| 5 | 5 |
| 6 import 'dart:typed_data'; | 6 import 'dart:typed_data'; |
| 7 import 'package:expect/expect.dart'; | 7 import 'package:expect/expect.dart'; |
| 8 | 8 |
| 9 unalignedUint16() { | 9 unalignedUint16() { |
| 10 var bytes = new ByteData(64); | 10 var bytes = new ByteData(64); |
| 11 for (var i = 0; i < 2; i++) { | 11 for (var i = 0; i < 2; i++) { |
| 12 bytes.setUint16(i, 0xABCD); | 12 bytes.setUint16(i, 0xABCD, Endianness.HOST_ENDIAN); |
| 13 Expect.equals(0xABCD, bytes.getUint16(i)); | 13 Expect.equals(0xABCD, bytes.getUint16(i, Endianness.HOST_ENDIAN)); |
| 14 } | 14 } |
| 15 } | 15 } |
| 16 | 16 |
| 17 unalignedInt16() { | 17 unalignedInt16() { |
| 18 var bytes = new ByteData(64); | 18 var bytes = new ByteData(64); |
| 19 for (var i = 0; i < 2; i++) { | 19 for (var i = 0; i < 2; i++) { |
| 20 bytes.setInt16(i, -0x1234); | 20 bytes.setInt16(i, -0x1234, Endianness.HOST_ENDIAN); |
| 21 Expect.equals(-0x1234, bytes.getInt16(i)); | 21 Expect.equals(-0x1234, bytes.getInt16(i, Endianness.HOST_ENDIAN)); |
| 22 } | 22 } |
| 23 } | 23 } |
| 24 | 24 |
| 25 unalignedUint32() { | 25 unalignedUint32() { |
| 26 var bytes = new ByteData(64); | 26 var bytes = new ByteData(64); |
| 27 for (var i = 0; i < 4; i++) { | 27 for (var i = 0; i < 4; i++) { |
| 28 bytes.setUint32(i, 0xABCDABCD); | 28 bytes.setUint32(i, 0xABCDABCD, Endianness.HOST_ENDIAN); |
| 29 Expect.equals(0xABCDABCD, bytes.getUint32(i)); | 29 Expect.equals(0xABCDABCD, bytes.getUint32(i, Endianness.HOST_ENDIAN)); |
| 30 } | 30 } |
| 31 } | 31 } |
| 32 | 32 |
| 33 unalignedInt32() { | 33 unalignedInt32() { |
| 34 var bytes = new ByteData(64); | 34 var bytes = new ByteData(64); |
| 35 for (var i = 0; i < 4; i++) { | 35 for (var i = 0; i < 4; i++) { |
| 36 bytes.setInt32(i, -0x12341234); | 36 bytes.setInt32(i, -0x12341234, Endianness.HOST_ENDIAN); |
| 37 Expect.equals(-0x12341234, bytes.getInt32(i)); | 37 Expect.equals(-0x12341234, bytes.getInt32(i, Endianness.HOST_ENDIAN)); |
| 38 } | 38 } |
| 39 } | 39 } |
| 40 | 40 |
| 41 unalignedUint64() { | 41 unalignedUint64() { |
| 42 var bytes = new ByteData(64); | 42 var bytes = new ByteData(64); |
| 43 for (var i = 0; i < 8; i++) { | 43 for (var i = 0; i < 8; i++) { |
| 44 bytes.setUint64(i, 0xABCDABCD); | 44 bytes.setUint64(i, 0xABCDABCD12345678, Endianness.HOST_ENDIAN); |
| 45 Expect.equals(0xABCDABCD, bytes.getUint64(i)); | 45 Expect.equals(0xABCDABCD12345678, bytes.getUint64(i, Endianness.HOST_ENDIAN)
); |
| 46 } | 46 } |
| 47 } | 47 } |
| 48 | 48 |
| 49 unalignedInt64() { | 49 unalignedInt64() { |
| 50 var bytes = new ByteData(64); | 50 var bytes = new ByteData(64); |
| 51 for (var i = 0; i < 8; i++) { | 51 for (var i = 0; i < 8; i++) { |
| 52 bytes.setInt64(i, -0x12341234); | 52 bytes.setInt64(i, -0x12341234ABCDABCD, Endianness.HOST_ENDIAN); |
| 53 Expect.equals(-0x12341234, bytes.getInt64(i)); | 53 Expect.equals(-0x12341234ABCDABCD, bytes.getInt64(i, Endianness.HOST_ENDIAN)
); |
| 54 } | 54 } |
| 55 } | 55 } |
| 56 | 56 |
| 57 main() { | 57 main() { |
| 58 for (var i = 0; i < 20; i++) { | 58 for (var i = 0; i < 20; i++) { |
| 59 unalignedUint16(); | 59 unalignedUint16(); |
| 60 unalignedInt16(); | 60 unalignedInt16(); |
| 61 unalignedUint32(); | 61 unalignedUint32(); |
| 62 unalignedInt32(); | 62 unalignedInt32(); |
| 63 unalignedUint64(); | 63 unalignedUint64(); |
| 64 unalignedInt64(); | 64 unalignedInt64(); |
| 65 } | 65 } |
| 66 } | 66 } |
| OLD | NEW |