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_LITHIUM_CODEGEN_ARM64_H_ | 5 #ifndef V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ |
6 #define V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ | 6 #define V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ |
7 | 7 |
8 #include "src/arm64/lithium-arm64.h" | 8 #include "src/arm64/lithium-arm64.h" |
9 | 9 |
10 #include "src/arm64/lithium-gap-resolver-arm64.h" | 10 #include "src/arm64/lithium-gap-resolver-arm64.h" |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 // graphs (e.g. object literal boilerplate). Expects a pointer to the | 189 // graphs (e.g. object literal boilerplate). Expects a pointer to the |
190 // allocated destination object in the result register, and a pointer to the | 190 // allocated destination object in the result register, and a pointer to the |
191 // source object in the source register. | 191 // source object in the source register. |
192 void EmitDeepCopy(Handle<JSObject> object, | 192 void EmitDeepCopy(Handle<JSObject> object, |
193 Register result, | 193 Register result, |
194 Register source, | 194 Register source, |
195 Register scratch, | 195 Register scratch, |
196 int* offset, | 196 int* offset, |
197 AllocationSiteMode mode); | 197 AllocationSiteMode mode); |
198 | 198 |
| 199 template <class T> |
| 200 void EmitVectorLoadICRegisters(T* instr); |
| 201 |
199 // Emits optimized code for %_IsString(x). Preserves input register. | 202 // Emits optimized code for %_IsString(x). Preserves input register. |
200 // Returns the condition on which a final split to | 203 // Returns the condition on which a final split to |
201 // true and false label should be made, to optimize fallthrough. | 204 // true and false label should be made, to optimize fallthrough. |
202 Condition EmitIsString(Register input, Register temp1, Label* is_not_string, | 205 Condition EmitIsString(Register input, Register temp1, Label* is_not_string, |
203 SmiCheck check_needed); | 206 SmiCheck check_needed); |
204 | 207 |
205 int DefineDeoptimizationLiteral(Handle<Object> literal); | 208 int DefineDeoptimizationLiteral(Handle<Object> literal); |
206 void PopulateDeoptimizationData(Handle<Code> code); | 209 void PopulateDeoptimizationData(Handle<Code> code); |
207 void PopulateDeoptimizationLiteralsWithInlinedFunctions(); | 210 void PopulateDeoptimizationLiteralsWithInlinedFunctions(); |
208 | 211 |
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
452 | 455 |
453 protected: | 456 protected: |
454 MacroAssembler* masm() const { return codegen_->masm(); } | 457 MacroAssembler* masm() const { return codegen_->masm(); } |
455 | 458 |
456 LCodeGen* codegen_; | 459 LCodeGen* codegen_; |
457 }; | 460 }; |
458 | 461 |
459 } } // namespace v8::internal | 462 } } // namespace v8::internal |
460 | 463 |
461 #endif // V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ | 464 #endif // V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ |
OLD | NEW |