| 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 1661 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1672       Register first_object_instance_type, Register second_object_instance_type, | 1672       Register first_object_instance_type, Register second_object_instance_type, | 
| 1673       Register scratch1, Register scratch2, Label* failure); | 1673       Register scratch1, Register scratch2, Label* failure); | 
| 1674 | 1674 | 
| 1675   void JumpIfNotUniqueNameInstanceType(Register type, Label* not_unique_name); | 1675   void JumpIfNotUniqueNameInstanceType(Register type, Label* not_unique_name); | 
| 1676 | 1676 | 
| 1677   // ---- Calling / Jumping helpers ---- | 1677   // ---- Calling / Jumping helpers ---- | 
| 1678 | 1678 | 
| 1679   // This is required for compatibility in architecture indepenedant code. | 1679   // This is required for compatibility in architecture indepenedant code. | 
| 1680   inline void jmp(Label* L); | 1680   inline void jmp(Label* L); | 
| 1681 | 1681 | 
| 1682   void CallStub(CodeStub* stub, TypeFeedbackId ast_id = TypeFeedbackId::None()); | 1682   void CallStub(CodeStub* stub); | 
| 1683   void TailCallStub(CodeStub* stub); | 1683   void TailCallStub(CodeStub* stub); | 
| 1684 | 1684 | 
| 1685   void CallRuntime(const Runtime::Function* f, | 1685   void CallRuntime(const Runtime::Function* f, | 
| 1686                    int num_arguments, | 1686                    int num_arguments, | 
| 1687                    SaveFPRegsMode save_doubles = kDontSaveFPRegs); | 1687                    SaveFPRegsMode save_doubles = kDontSaveFPRegs); | 
| 1688 | 1688 | 
| 1689   // Convenience function: Same as above, but takes the fid instead. | 1689   // Convenience function: Same as above, but takes the fid instead. | 
| 1690   void CallRuntime(Runtime::FunctionId fid, int num_arguments, | 1690   void CallRuntime(Runtime::FunctionId fid, int num_arguments, | 
| 1691                    SaveFPRegsMode save_doubles = kDontSaveFPRegs) { | 1691                    SaveFPRegsMode save_doubles = kDontSaveFPRegs) { | 
| 1692     CallRuntime(Runtime::FunctionForId(fid), num_arguments, save_doubles); | 1692     CallRuntime(Runtime::FunctionForId(fid), num_arguments, save_doubles); | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1732 | 1732 | 
| 1733 | 1733 | 
| 1734   void Jump(Register target); | 1734   void Jump(Register target); | 
| 1735   void Jump(Address target, RelocInfo::Mode rmode, Condition cond = al); | 1735   void Jump(Address target, RelocInfo::Mode rmode, Condition cond = al); | 
| 1736   void Jump(Handle<Code> code, RelocInfo::Mode rmode, Condition cond = al); | 1736   void Jump(Handle<Code> code, RelocInfo::Mode rmode, Condition cond = al); | 
| 1737   void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); | 1737   void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); | 
| 1738 | 1738 | 
| 1739   void Call(Register target); | 1739   void Call(Register target); | 
| 1740   void Call(Label* target); | 1740   void Call(Label* target); | 
| 1741   void Call(Address target, RelocInfo::Mode rmode); | 1741   void Call(Address target, RelocInfo::Mode rmode); | 
| 1742   void Call(Handle<Code> code, | 1742   void Call(Handle<Code> code, RelocInfo::Mode rmode = RelocInfo::CODE_TARGET); | 
| 1743             RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, |  | 
| 1744             TypeFeedbackId ast_id = TypeFeedbackId::None()); |  | 
| 1745 | 1743 | 
| 1746   // For every Call variant, there is a matching CallSize function that returns | 1744   // For every Call variant, there is a matching CallSize function that returns | 
| 1747   // the size (in bytes) of the call sequence. | 1745   // the size (in bytes) of the call sequence. | 
| 1748   static int CallSize(Register target); | 1746   static int CallSize(Register target); | 
| 1749   static int CallSize(Label* target); | 1747   static int CallSize(Label* target); | 
| 1750   static int CallSize(Address target, RelocInfo::Mode rmode); | 1748   static int CallSize(Address target, RelocInfo::Mode rmode); | 
| 1751   static int CallSize(Handle<Code> code, | 1749   static int CallSize(Handle<Code> code, | 
| 1752                       RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, | 1750                       RelocInfo::Mode rmode = RelocInfo::CODE_TARGET); | 
| 1753                       TypeFeedbackId ast_id = TypeFeedbackId::None()); |  | 
| 1754 | 1751 | 
| 1755   // Removes current frame and its arguments from the stack preserving | 1752   // Removes current frame and its arguments from the stack preserving | 
| 1756   // the arguments and a return address pushed to the stack for the next call. | 1753   // the arguments and a return address pushed to the stack for the next call. | 
| 1757   // Both |callee_args_count| and |caller_args_count_reg| do not include | 1754   // Both |callee_args_count| and |caller_args_count_reg| do not include | 
| 1758   // receiver. |callee_args_count| is not modified, |caller_args_count_reg| | 1755   // receiver. |callee_args_count| is not modified, |caller_args_count_reg| | 
| 1759   // is trashed. | 1756   // is trashed. | 
| 1760   void PrepareForTailCall(const ParameterCount& callee_args_count, | 1757   void PrepareForTailCall(const ParameterCount& callee_args_count, | 
| 1761                           Register caller_args_count_reg, Register scratch0, | 1758                           Register caller_args_count_reg, Register scratch0, | 
| 1762                           Register scratch1); | 1759                           Register scratch1); | 
| 1763 | 1760 | 
| (...skipping 952 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2716   class RegisterBits : public BitField<unsigned, 0, 5> {}; | 2713   class RegisterBits : public BitField<unsigned, 0, 5> {}; | 
| 2717   class DeltaBits : public BitField<uint32_t, 5, 32-5> {}; | 2714   class DeltaBits : public BitField<uint32_t, 5, 32-5> {}; | 
| 2718 }; | 2715 }; | 
| 2719 | 2716 | 
| 2720 }  // namespace internal | 2717 }  // namespace internal | 
| 2721 }  // namespace v8 | 2718 }  // namespace v8 | 
| 2722 | 2719 | 
| 2723 #define ACCESS_MASM(masm) masm-> | 2720 #define ACCESS_MASM(masm) masm-> | 
| 2724 | 2721 | 
| 2725 #endif  // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2722 #endif  // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 
| OLD | NEW | 
|---|