diff options
Diffstat (limited to 'src/3rdparty/masm/assembler/MacroAssemblerX86_64.h')
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerX86_64.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h b/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h index 9e74f1c29f..3566702413 100644 --- a/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h +++ b/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h @@ -52,6 +52,33 @@ public: using MacroAssemblerX86Common::loadDouble; using MacroAssemblerX86Common::convertInt32ToDouble; +#if defined(V4_BOOTSTRAP) + void loadPtr(ImplicitAddress address, RegisterID dest) + { + load64(address, dest); + } + + void subPtr(TrustedImm32 imm, RegisterID dest) + { + sub64(imm, dest); + } + + void addPtr(TrustedImm32 imm, RegisterID dest) + { + add64(imm, dest); + } + + void addPtr(TrustedImm32 imm, RegisterID src, RegisterID dest) + { + add64(imm, src, dest); + } + + void storePtr(RegisterID src, ImplicitAddress address) + { + store64(src, address); + } +#endif + void add32(TrustedImm32 imm, AbsoluteAddress address) { move(TrustedImmPtr(address.m_ptr), scratchRegister); @@ -634,7 +661,7 @@ public: } private: - friend class LinkBuffer; + template <typename, template <typename> class> friend class LinkBufferBase; friend class RepatchBuffer; static void linkCall(void* code, Call call, FunctionPtr function) |