OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM. | 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM. |
6 #if defined(TARGET_ARCH_ARM) | 6 #if defined(TARGET_ARCH_ARM) |
7 | 7 |
8 #include "vm/intrinsifier.h" | 8 #include "vm/intrinsifier.h" |
9 | 9 |
10 #include "vm/assembler.h" | 10 #include "vm/assembler.h" |
(...skipping 1406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1417 __ ldr(R1, Address(SP, 1 * kWordSize)); | 1417 __ ldr(R1, Address(SP, 1 * kWordSize)); |
1418 __ cmp(R0, ShifterOperand(R1)); | 1418 __ cmp(R0, ShifterOperand(R1)); |
1419 __ LoadObject(R0, Bool::False(), NE); | 1419 __ LoadObject(R0, Bool::False(), NE); |
1420 __ LoadObject(R0, Bool::True(), EQ); | 1420 __ LoadObject(R0, Bool::True(), EQ); |
1421 __ Ret(); | 1421 __ Ret(); |
1422 return true; | 1422 return true; |
1423 } | 1423 } |
1424 | 1424 |
1425 | 1425 |
1426 bool Intrinsifier::String_getHashCode(Assembler* assembler) { | 1426 bool Intrinsifier::String_getHashCode(Assembler* assembler) { |
1427 __ Untested("Intrinsifier::String_getHashCode"); | |
1428 __ ldr(R0, Address(SP, 0 * kWordSize)); | 1427 __ ldr(R0, Address(SP, 0 * kWordSize)); |
1429 __ ldr(R0, FieldAddress(R0, String::hash_offset())); | 1428 __ ldr(R0, FieldAddress(R0, String::hash_offset())); |
1430 __ cmp(R0, ShifterOperand(0)); | 1429 __ cmp(R0, ShifterOperand(0)); |
1431 __ bx(LR, NE); // Hash not yet computed. | 1430 __ bx(LR, NE); // Hash not yet computed. |
1432 return false; | 1431 return false; |
1433 } | 1432 } |
1434 | 1433 |
1435 | 1434 |
1436 bool Intrinsifier::String_getLength(Assembler* assembler) { | 1435 bool Intrinsifier::String_getLength(Assembler* assembler) { |
1437 __ ldr(R0, Address(SP, 0 * kWordSize)); | 1436 __ ldr(R0, Address(SP, 0 * kWordSize)); |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1698 __ Bind(&ok); | 1697 __ Bind(&ok); |
1699 __ Ret(); | 1698 __ Ret(); |
1700 | 1699 |
1701 __ Bind(&fall_through); | 1700 __ Bind(&fall_through); |
1702 return false; | 1701 return false; |
1703 } | 1702 } |
1704 | 1703 |
1705 } // namespace dart | 1704 } // namespace dart |
1706 | 1705 |
1707 #endif // defined TARGET_ARCH_ARM | 1706 #endif // defined TARGET_ARCH_ARM |
OLD | NEW |