diff options
author | Liang Qi <liang.qi@qt.io> | 2017-03-30 11:11:55 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-03-30 11:26:26 +0200 |
commit | 22cc4d6707132c3914b43ca3ed5c7d1f354d84b6 (patch) | |
tree | 733f3529205e43865070edab5416e6f1b0b4c9f4 /src/3rdparty | |
parent | e321dc6bee3645e2492914f99fc30f8019e9383b (diff) | |
parent | 44900962268c50aa1f9823e71d5b75cfa9e7ea4f (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
src/qml/jit/qv4assembler.cpp
src/qml/jit/qv4assembler_p.h
Change-Id: Ibfe69610ccd1f275f181b2bd87feece4ba221e50
Diffstat (limited to 'src/3rdparty')
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssembler.h | 11 | ||||
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerARM64.h | 2 | ||||
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerARMv7.h | 4 | ||||
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerMIPS.h | 1 | ||||
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerX86.h | 1 | ||||
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerX86_64.h | 1 |
6 files changed, 15 insertions, 5 deletions
diff --git a/src/3rdparty/masm/assembler/MacroAssembler.h b/src/3rdparty/masm/assembler/MacroAssembler.h index 7d9f156c8c..f37861eb66 100644 --- a/src/3rdparty/masm/assembler/MacroAssembler.h +++ b/src/3rdparty/masm/assembler/MacroAssembler.h @@ -94,6 +94,7 @@ public: using DataLabelCompact = typename MacroAssemblerBase::DataLabelCompact; using Jump = typename MacroAssemblerBase::Jump; using PatchableJump = typename MacroAssemblerBase::PatchableJump; + using MacroAssemblerBase::PointerSize; using MacroAssemblerBase::pop; using MacroAssemblerBase::jump; @@ -200,19 +201,19 @@ public: // described in terms of other macro assembly methods. void pop() { - addPtr(TrustedImm32(sizeof(void*)), MacroAssemblerBase::stackPointerRegister); + addPtr(TrustedImm32(PointerSize), MacroAssemblerBase::stackPointerRegister); } void peek(RegisterID dest, int index = 0) { - loadPtr(Address(MacroAssemblerBase::stackPointerRegister, (index * sizeof(void*))), dest); + loadPtr(Address(MacroAssemblerBase::stackPointerRegister, (index * PointerSize)), dest); } Address addressForPoke(int index) { - return Address(MacroAssemblerBase::stackPointerRegister, (index * sizeof(void*))); + return Address(MacroAssemblerBase::stackPointerRegister, (index * PointerSize)); } - + void poke(RegisterID src, int index = 0) { storePtr(src, addressForPoke(index)); @@ -223,10 +224,12 @@ public: store32(value, addressForPoke(index)); } +#if !defined(V4_BOOTSTRAP) void poke(TrustedImmPtr imm, int index = 0) { storePtr(imm, addressForPoke(index)); } +#endif #if (CPU(X86_64) || CPU(ARM64)) && !defined(V4_BOOTSTRAP) void peek64(RegisterID dest, int index = 0) diff --git a/src/3rdparty/masm/assembler/MacroAssemblerARM64.h b/src/3rdparty/masm/assembler/MacroAssemblerARM64.h index a11637f7ca..11f1672e15 100644 --- a/src/3rdparty/masm/assembler/MacroAssemblerARM64.h +++ b/src/3rdparty/masm/assembler/MacroAssemblerARM64.h @@ -127,6 +127,8 @@ private: static const ptrdiff_t REPATCH_OFFSET_CALL_TO_POINTER = -16; public: + static const int PointerSize = 8; + MacroAssemblerARM64() : m_dataMemoryTempRegister(this, dataTempRegister) , m_cachedMemoryTempRegister(this, memoryTempRegister) diff --git a/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h b/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h index 806f2e13b6..fe8170d098 100644 --- a/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h +++ b/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h @@ -46,6 +46,8 @@ protected: // the YarrJIT needs know about addressTempRegister in order to push inline ARMRegisters::FPSingleRegisterID fpTempRegisterAsSingle() { return ARMRegisters::asSingle(fpTempRegister); } public: + static const int PointerSize = 4; + MacroAssemblerARMv7() : m_makeJumpPatchable(false) { @@ -1242,7 +1244,7 @@ public: void pop(RegisterID dest) { // store postindexed with writeback - m_assembler.ldr(dest, ARMRegisters::sp, sizeof(void*), false, true); + m_assembler.ldr(dest, ARMRegisters::sp, 4 /*sizeof(void*)*/, false, true); } void push(RegisterID src) diff --git a/src/3rdparty/masm/assembler/MacroAssemblerMIPS.h b/src/3rdparty/masm/assembler/MacroAssemblerMIPS.h index 68584527fc..f2ad6a4470 100644 --- a/src/3rdparty/masm/assembler/MacroAssemblerMIPS.h +++ b/src/3rdparty/masm/assembler/MacroAssemblerMIPS.h @@ -37,6 +37,7 @@ namespace JSC { class MacroAssemblerMIPS : public AbstractMacroAssembler<MIPSAssembler> { public: typedef MIPSRegisters::FPRegisterID FPRegisterID; + static const int PointerSize = 4; MacroAssemblerMIPS() : m_fixedWidth(false) diff --git a/src/3rdparty/masm/assembler/MacroAssemblerX86.h b/src/3rdparty/masm/assembler/MacroAssemblerX86.h index 742a4b48f7..280cf427fc 100644 --- a/src/3rdparty/masm/assembler/MacroAssemblerX86.h +++ b/src/3rdparty/masm/assembler/MacroAssemblerX86.h @@ -35,6 +35,7 @@ namespace JSC { class MacroAssemblerX86 : public MacroAssemblerX86Common { public: static const Scale ScalePtr = TimesFour; + static const int PointerSize = 4; using MacroAssemblerX86Common::add32; using MacroAssemblerX86Common::and32; diff --git a/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h b/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h index 14757f4ea2..c7c6aae637 100644 --- a/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h +++ b/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h @@ -37,6 +37,7 @@ namespace JSC { class MacroAssemblerX86_64 : public MacroAssemblerX86Common { public: static const Scale ScalePtr = TimesEight; + static const int PointerSize = 8; using MacroAssemblerX86Common::add32; using MacroAssemblerX86Common::and32; |