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 "src/arm64/assembler-arm64.h" | 10 #include "src/arm64/assembler-arm64.h" |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 NEVER_INLINE_TARGET_ADDRESS | 139 NEVER_INLINE_TARGET_ADDRESS |
140 }; | 140 }; |
141 enum UntagMode { kNotSpeculativeUntag, kSpeculativeUntag }; | 141 enum UntagMode { kNotSpeculativeUntag, kSpeculativeUntag }; |
142 enum ArrayHasHoles { kArrayCantHaveHoles, kArrayCanHaveHoles }; | 142 enum ArrayHasHoles { kArrayCantHaveHoles, kArrayCanHaveHoles }; |
143 enum CopyHint { kCopyUnknown, kCopyShort, kCopyLong }; | 143 enum CopyHint { kCopyUnknown, kCopyShort, kCopyLong }; |
144 enum DiscardMoveMode { kDontDiscardForSameWReg, kDiscardForSameWReg }; | 144 enum DiscardMoveMode { kDontDiscardForSameWReg, kDiscardForSameWReg }; |
145 enum SeqStringSetCharCheckIndexType { kIndexIsSmi, kIndexIsInteger32 }; | 145 enum SeqStringSetCharCheckIndexType { kIndexIsSmi, kIndexIsInteger32 }; |
146 | 146 |
147 class MacroAssembler : public Assembler { | 147 class MacroAssembler : public Assembler { |
148 public: | 148 public: |
149 MacroAssembler(Isolate* isolate, byte * buffer, unsigned buffer_size); | 149 MacroAssembler(Isolate* isolate, byte* buffer, unsigned buffer_size, |
| 150 CodeObjectRequired create_code_object); |
150 | 151 |
151 inline Handle<Object> CodeObject(); | 152 inline Handle<Object> CodeObject(); |
152 | 153 |
153 // Instruction set functions ------------------------------------------------ | 154 // Instruction set functions ------------------------------------------------ |
154 // Logical macros. | 155 // Logical macros. |
155 inline void And(const Register& rd, | 156 inline void And(const Register& rd, |
156 const Register& rn, | 157 const Register& rn, |
157 const Operand& operand); | 158 const Operand& operand); |
158 inline void Ands(const Register& rd, | 159 inline void Ands(const Register& rd, |
159 const Register& rn, | 160 const Register& rn, |
(...skipping 2126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2286 #error "Unsupported option" | 2287 #error "Unsupported option" |
2287 #define CODE_COVERAGE_STRINGIFY(x) #x | 2288 #define CODE_COVERAGE_STRINGIFY(x) #x |
2288 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2289 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
2289 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2290 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
2290 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2291 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
2291 #else | 2292 #else |
2292 #define ACCESS_MASM(masm) masm-> | 2293 #define ACCESS_MASM(masm) masm-> |
2293 #endif | 2294 #endif |
2294 | 2295 |
2295 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2296 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
OLD | NEW |