| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 5 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
| 6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "v8globals.h" | 10 #include "v8globals.h" |
| (...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 835 // Remove if not needed. | 835 // Remove if not needed. |
| 836 inline void Move(Register dst, Register src) { Mov(dst, src); } | 836 inline void Move(Register dst, Register src) { Mov(dst, src); } |
| 837 | 837 |
| 838 void LoadInstanceDescriptors(Register map, | 838 void LoadInstanceDescriptors(Register map, |
| 839 Register descriptors); | 839 Register descriptors); |
| 840 void EnumLengthUntagged(Register dst, Register map); | 840 void EnumLengthUntagged(Register dst, Register map); |
| 841 void EnumLengthSmi(Register dst, Register map); | 841 void EnumLengthSmi(Register dst, Register map); |
| 842 void NumberOfOwnDescriptors(Register dst, Register map); | 842 void NumberOfOwnDescriptors(Register dst, Register map); |
| 843 | 843 |
| 844 template<typename Field> | 844 template<typename Field> |
| 845 void DecodeField(Register dst, Register src) { | 845 void DecodeField(Register reg) { |
| 846 static const uint64_t shift = Field::kShift; | 846 static const uint64_t shift = Field::kShift; |
| 847 static const uint64_t setbits = CountSetBits(Field::kMask, 32); | 847 static const uint64_t setbits = CountSetBits(Field::kMask, 32); |
| 848 Ubfx(dst, src, shift, setbits); | 848 Ubfx(reg, reg, shift, setbits); |
| 849 } | |
| 850 | |
| 851 template<typename Field> | |
| 852 void DecodeField(Register reg) { | |
| 853 DecodeField<Field>(reg, reg); | |
| 854 } | 849 } |
| 855 | 850 |
| 856 // ---- SMI and Number Utilities ---- | 851 // ---- SMI and Number Utilities ---- |
| 857 | 852 |
| 858 inline void SmiTag(Register dst, Register src); | 853 inline void SmiTag(Register dst, Register src); |
| 859 inline void SmiTag(Register smi); | 854 inline void SmiTag(Register smi); |
| 860 inline void SmiUntag(Register dst, Register src); | 855 inline void SmiUntag(Register dst, Register src); |
| 861 inline void SmiUntag(Register smi); | 856 inline void SmiUntag(Register smi); |
| 862 inline void SmiUntagToDouble(FPRegister dst, | 857 inline void SmiUntagToDouble(FPRegister dst, |
| 863 Register src, | 858 Register src, |
| (...skipping 1441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2305 #error "Unsupported option" | 2300 #error "Unsupported option" |
| 2306 #define CODE_COVERAGE_STRINGIFY(x) #x | 2301 #define CODE_COVERAGE_STRINGIFY(x) #x |
| 2307 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2302 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
| 2308 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2303 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 2309 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2304 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 2310 #else | 2305 #else |
| 2311 #define ACCESS_MASM(masm) masm-> | 2306 #define ACCESS_MASM(masm) masm-> |
| 2312 #endif | 2307 #endif |
| 2313 | 2308 |
| 2314 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2309 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
| OLD | NEW |