diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2019-04-23 09:33:25 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2019-04-23 09:34:29 +0200 |
commit | 580fa7dc88aae23053e44ffa335a15f6af112a20 (patch) | |
tree | 5bc915d7c2e252739122d9441bd0d7fa7175d0c2 /src/3rdparty/masm/assembler | |
parent | 6767114285db9d0e16dc278d08f231e8561546b4 (diff) | |
parent | c00283bb3bb966bf60c307ec8283bd98c12318bf (diff) |
Merge remote-tracking branch 'origin/dev' into wip/scenegraphng
Change-Id: Ifec879473540b609403ac951967f6d9ecb0bb6f0
Diffstat (limited to 'src/3rdparty/masm/assembler')
-rw-r--r-- | src/3rdparty/masm/assembler/LinkBuffer.h | 8 | ||||
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerARM64.h | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/3rdparty/masm/assembler/LinkBuffer.h b/src/3rdparty/masm/assembler/LinkBuffer.h index 4dfd051797..a1bb046d43 100644 --- a/src/3rdparty/masm/assembler/LinkBuffer.h +++ b/src/3rdparty/masm/assembler/LinkBuffer.h @@ -245,7 +245,7 @@ protected: inline void linkCode(void* ownerUID, JITCompilationEffort); - inline void performFinalization(); + virtual void performFinalization(); #if DUMP_LINK_STATISTICS static void dumpLinkStatistics(void* code, size_t initialSize, size_t finalSize); @@ -344,7 +344,7 @@ inline void LinkBufferBase<MacroAssembler, ExecutableOffsetCalculator>::linkCode } template <typename MacroAssembler, template <typename T> class ExecutableOffsetCalculator> -inline void LinkBufferBase<MacroAssembler, ExecutableOffsetCalculator>::performFinalization() +void LinkBufferBase<MacroAssembler, ExecutableOffsetCalculator>::performFinalization() { // NOTE: This function is specialized in LinkBuffer<MacroAssemblerARMv7> #ifndef NDEBUG @@ -395,7 +395,7 @@ public: linkCode(ownerUID, effort); } - inline void performFinalization(); + virtual void performFinalization() override final; inline void makeExecutable(); inline void linkCode(void* ownerUID, JITCompilationEffort); @@ -420,7 +420,7 @@ private: }; template <typename MacroAssembler> -inline void BranchCompactingLinkBuffer<MacroAssembler>::performFinalization() +void BranchCompactingLinkBuffer<MacroAssembler>::performFinalization() { #ifndef NDEBUG ASSERT(!m_completed); diff --git a/src/3rdparty/masm/assembler/MacroAssemblerARM64.h b/src/3rdparty/masm/assembler/MacroAssemblerARM64.h index e5a704292d..3e6dfcf635 100644 --- a/src/3rdparty/masm/assembler/MacroAssemblerARM64.h +++ b/src/3rdparty/masm/assembler/MacroAssemblerARM64.h @@ -1126,6 +1126,14 @@ public: m_assembler.ldrh(dest, address.base, memoryTempRegister); } + void load16(ExtendedAddress address, RegisterID dest) + { + moveToCachedReg(TrustedImmPtr(reinterpret_cast<void*>(address.offset)), m_cachedMemoryTempRegister); + m_assembler.ldrh(dest, memoryTempRegister, address.base, ARM64Assembler::UXTX, 1); + if (dest == memoryTempRegister) + m_cachedMemoryTempRegister.invalidate(); + } + void load16Unaligned(ImplicitAddress address, RegisterID dest) { load16(address, dest); |