| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
| 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
| 7 | 7 |
| 8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
| 9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
| 10 #include "src/frames.h" | 10 #include "src/frames.h" |
| (...skipping 982 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 993 Register type, | 993 Register type, |
| 994 Condition cond = al) { | 994 Condition cond = al) { |
| 995 ldr(type, FieldMemOperand(obj, HeapObject::kMapOffset), cond); | 995 ldr(type, FieldMemOperand(obj, HeapObject::kMapOffset), cond); |
| 996 ldrb(type, FieldMemOperand(type, Map::kInstanceTypeOffset), cond); | 996 ldrb(type, FieldMemOperand(type, Map::kInstanceTypeOffset), cond); |
| 997 tst(type, Operand(kIsNotStringMask), cond); | 997 tst(type, Operand(kIsNotStringMask), cond); |
| 998 DCHECK_EQ(0u, kStringTag); | 998 DCHECK_EQ(0u, kStringTag); |
| 999 return eq; | 999 return eq; |
| 1000 } | 1000 } |
| 1001 | 1001 |
| 1002 | 1002 |
| 1003 // Picks out an array index from the hash field. | |
| 1004 // Register use: | |
| 1005 // hash - holds the index's hash. Clobbered. | |
| 1006 // index - holds the overwritten index on exit. | |
| 1007 void IndexFromHash(Register hash, Register index); | |
| 1008 | |
| 1009 // Get the number of least significant bits from a register | 1003 // Get the number of least significant bits from a register |
| 1010 void GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits); | 1004 void GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits); |
| 1011 void GetLeastBitsFromInt32(Register dst, Register src, int mun_least_bits); | 1005 void GetLeastBitsFromInt32(Register dst, Register src, int mun_least_bits); |
| 1012 | 1006 |
| 1013 // Load the value of a smi object into a double register. | 1007 // Load the value of a smi object into a double register. |
| 1014 // The register value must be between d0 and d15. | 1008 // The register value must be between d0 and d15. |
| 1015 void SmiToDouble(LowDwVfpRegister value, Register smi); | 1009 void SmiToDouble(LowDwVfpRegister value, Register smi); |
| 1016 | 1010 |
| 1017 // Check if a double can be exactly represented as a signed 32-bit integer. | 1011 // Check if a double can be exactly represented as a signed 32-bit integer. |
| 1018 // Z flag set to one if true. | 1012 // Z flag set to one if true. |
| (...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1604 inline MemOperand NativeContextMemOperand() { | 1598 inline MemOperand NativeContextMemOperand() { |
| 1605 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); | 1599 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); |
| 1606 } | 1600 } |
| 1607 | 1601 |
| 1608 #define ACCESS_MASM(masm) masm-> | 1602 #define ACCESS_MASM(masm) masm-> |
| 1609 | 1603 |
| 1610 } // namespace internal | 1604 } // namespace internal |
| 1611 } // namespace v8 | 1605 } // namespace v8 |
| 1612 | 1606 |
| 1613 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1607 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
| OLD | NEW |