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 | |
parent | 6767114285db9d0e16dc278d08f231e8561546b4 (diff) | |
parent | c00283bb3bb966bf60c307ec8283bd98c12318bf (diff) |
Merge remote-tracking branch 'origin/dev' into wip/scenegraphng
Change-Id: Ifec879473540b609403ac951967f6d9ecb0bb6f0
Diffstat (limited to 'src/3rdparty/masm')
-rw-r--r-- | src/3rdparty/masm/assembler/LinkBuffer.h | 8 | ||||
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerARM64.h | 8 | ||||
-rw-r--r-- | src/3rdparty/masm/wtf/Platform.h | 1 | ||||
-rw-r--r-- | src/3rdparty/masm/yarr/YarrPattern.h | 1 |
4 files changed, 14 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); diff --git a/src/3rdparty/masm/wtf/Platform.h b/src/3rdparty/masm/wtf/Platform.h index d5f69927db..bd66af7fe6 100644 --- a/src/3rdparty/masm/wtf/Platform.h +++ b/src/3rdparty/masm/wtf/Platform.h @@ -1051,6 +1051,7 @@ #if CPU(ARM64) || (CPU(X86_64) && !OS(WINDOWS)) /* Enable JIT'ing Regular Expressions that have nested parenthesis. */ #define ENABLE_YARR_JIT_ALL_PARENS_EXPRESSIONS 1 +#define ENABLE_YARR_JIT_BACKREFERENCES 1 #endif #endif diff --git a/src/3rdparty/masm/yarr/YarrPattern.h b/src/3rdparty/masm/yarr/YarrPattern.h index 1417ff1549..10ea2c5b94 100644 --- a/src/3rdparty/masm/yarr/YarrPattern.h +++ b/src/3rdparty/masm/yarr/YarrPattern.h @@ -31,6 +31,7 @@ #include "YarrUnicodeProperties.h" #include <wtf/CheckedArithmetic.h> #include <wtf/HashMap.h> +#include <wtf/Optional.h> #include <wtf/PrintStream.h> #include <wtf/Vector.h> #include <wtf/text/WTFString.h> |