aboutsummaryrefslogtreecommitdiffstats
path: root/src/3rdparty/masm/assembler
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2019-05-28 17:59:34 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2019-05-28 17:59:40 +0200
commit1f3c157ec6b8be5de1eb89295713c2980fb1a7aa (patch)
treeb85888d73518f6abc7bbde74ab71a27887682f9d /src/3rdparty/masm/assembler
parent44ca7e31ee9365a72cd17ecd335ec4d0161420a9 (diff)
parent0f5c34f2c6b64bae3429706a6c4211334c689092 (diff)
Merge "Merge remote-tracking branch 'origin/dev' into wip/scenegraphng"wip/scenegraphng
Diffstat (limited to 'src/3rdparty/masm/assembler')
-rw-r--r--src/3rdparty/masm/assembler/ARM64Assembler.h7
-rw-r--r--src/3rdparty/masm/assembler/ARMv7Assembler.h25
-rw-r--r--src/3rdparty/masm/assembler/AbstractMacroAssembler.h14
-rw-r--r--src/3rdparty/masm/assembler/LinkBuffer.h6
-rw-r--r--src/3rdparty/masm/assembler/MacroAssembler.h14
-rw-r--r--src/3rdparty/masm/assembler/MacroAssemblerARM64.h31
-rw-r--r--src/3rdparty/masm/assembler/MacroAssemblerARMv7.h71
-rw-r--r--src/3rdparty/masm/assembler/MacroAssemblerX86.h32
-rw-r--r--src/3rdparty/masm/assembler/MacroAssemblerX86_64.h27
-rw-r--r--src/3rdparty/masm/assembler/X86Assembler.h41
10 files changed, 19 insertions, 249 deletions
diff --git a/src/3rdparty/masm/assembler/ARM64Assembler.h b/src/3rdparty/masm/assembler/ARM64Assembler.h
index a9166e83a2..ca6b33d39a 100644
--- a/src/3rdparty/masm/assembler/ARM64Assembler.h
+++ b/src/3rdparty/masm/assembler/ARM64Assembler.h
@@ -26,7 +26,7 @@
#ifndef ARM64Assembler_h
#define ARM64Assembler_h
-#if ENABLE(ASSEMBLER) && (CPU(ARM64) || defined(V4_BOOTSTRAP))
+#if ENABLE(ASSEMBLER) && CPU(ARM64)
#include "AssemblerBuffer.h"
#include "AbstractMacroAssembler.h"
@@ -3021,10 +3021,7 @@ public:
static void cacheFlush(void* code, size_t size)
{
-#if defined(V4_BOOTSTRAP)
- UNUSED_PARAM(code)
- UNUSED_PARAM(size)
-#elif OS(IOS)
+#if OS(IOS)
sys_cache_control(kCacheFunctionPrepareForExecution, code, size);
#elif OS(LINUX)
size_t page = pageSize();
diff --git a/src/3rdparty/masm/assembler/ARMv7Assembler.h b/src/3rdparty/masm/assembler/ARMv7Assembler.h
index d57e5a7c78..f2e8dc1a1b 100644
--- a/src/3rdparty/masm/assembler/ARMv7Assembler.h
+++ b/src/3rdparty/masm/assembler/ARMv7Assembler.h
@@ -27,7 +27,7 @@
#ifndef ARMAssembler_h
#define ARMAssembler_h
-#if ENABLE(ASSEMBLER) && (CPU(ARM_THUMB2) || defined(V4_BOOTSTRAP))
+#if ENABLE(ASSEMBLER) && CPU(ARM_THUMB2)
#include "AssemblerBuffer.h"
#include "MacroAssemblerCodeRef.h"
@@ -2166,7 +2166,6 @@ public:
linkJumpAbsolute(location, to);
}
-#if !defined(V4_BOOTSTRAP)
static void linkCall(void* code, AssemblerLabel from, void* to)
{
ASSERT(!(reinterpret_cast<intptr_t>(code) & 1));
@@ -2175,14 +2174,12 @@ public:
setPointer(reinterpret_cast<uint16_t*>(reinterpret_cast<intptr_t>(code) + from.m_offset) - 1, to, false);
}
-#endif
static void linkPointer(void* code, AssemblerLabel where, void* value)
{
setPointer(reinterpret_cast<char*>(code) + where.m_offset, value, false);
}
-#if !defined(V4_BOOTSTRAP)
static void relinkJump(void* from, void* to)
{
ASSERT(!(reinterpret_cast<intptr_t>(from) & 1));
@@ -2205,7 +2202,6 @@ public:
{
return readPointer(reinterpret_cast<uint16_t*>(from) - 1);
}
-#endif
static void repatchInt32(void* where, int32_t value)
{
@@ -2234,7 +2230,6 @@ public:
cacheFlush(location, sizeof(uint16_t) * 2);
}
-#if !defined(V4_BOOTSTRAP)
static void repatchPointer(void* where, void* value)
{
ASSERT(!(reinterpret_cast<intptr_t>(where) & 1));
@@ -2246,7 +2241,6 @@ public:
{
return reinterpret_cast<void*>(readInt32(where));
}
-#endif
static void replaceWithJump(void* instructionStart, void* to)
{
@@ -2321,7 +2315,7 @@ public:
unsigned debugOffset() { return m_formatter.debugOffset(); }
-#if OS(LINUX) && !defined(V4_BOOTSTRAP)
+#if OS(LINUX)
static inline void linuxPageFlush(uintptr_t begin, uintptr_t end)
{
asm volatile(
@@ -2341,10 +2335,7 @@ public:
static void cacheFlush(void* code, size_t size)
{
-#if defined(V4_BOOTSTRAP)
- UNUSED_PARAM(code)
- UNUSED_PARAM(size)
-#elif OS(IOS)
+#if OS(IOS)
sys_cache_control(kCacheFunctionPrepareForExecution, code, size);
#elif OS(LINUX)
size_t page = pageSize();
@@ -2662,11 +2653,6 @@ private:
static void linkBX(uint16_t* instruction, void* target)
{
-#if defined(V4_BOOTSTRAP)
- UNUSED_PARAM(instruction);
- UNUSED_PARAM(target);
- RELEASE_ASSERT_NOT_REACHED();
-#else
// FIMXE: this should be up in the MacroAssembler layer. :-(
ASSERT(!(reinterpret_cast<intptr_t>(instruction) & 1));
ASSERT(!(reinterpret_cast<intptr_t>(target) & 1));
@@ -2679,7 +2665,6 @@ private:
instruction[-3] = twoWordOp5i6Imm4Reg4EncodedImmFirst(OP_MOVT, hi16);
instruction[-2] = twoWordOp5i6Imm4Reg4EncodedImmSecond(JUMP_TEMPORARY_REGISTER, hi16);
instruction[-1] = OP_BX | (JUMP_TEMPORARY_REGISTER << 3);
-#endif
}
void linkConditionalBX(Condition cond, uint16_t* instruction, void* target)
@@ -2712,9 +2697,6 @@ private:
instruction[-3] = OP_NOP_T2b;
linkJumpT4(instruction, target);
} else {
-#if defined(V4_BOOTSTRAP)
- RELEASE_ASSERT_NOT_REACHED();
-#else
const uint16_t JUMP_TEMPORARY_REGISTER = ARMRegisters::ip;
ARMThumbImmediate lo16 = ARMThumbImmediate::makeUInt16(static_cast<uint16_t>(reinterpret_cast<uint32_t>(target) + 1));
ARMThumbImmediate hi16 = ARMThumbImmediate::makeUInt16(static_cast<uint16_t>(reinterpret_cast<uint32_t>(target) >> 16));
@@ -2723,7 +2705,6 @@ private:
instruction[-3] = twoWordOp5i6Imm4Reg4EncodedImmFirst(OP_MOVT, hi16);
instruction[-2] = twoWordOp5i6Imm4Reg4EncodedImmSecond(JUMP_TEMPORARY_REGISTER, hi16);
instruction[-1] = OP_BX | (JUMP_TEMPORARY_REGISTER << 3);
-#endif
}
}
diff --git a/src/3rdparty/masm/assembler/AbstractMacroAssembler.h b/src/3rdparty/masm/assembler/AbstractMacroAssembler.h
index d0c1c4613e..14644a4193 100644
--- a/src/3rdparty/masm/assembler/AbstractMacroAssembler.h
+++ b/src/3rdparty/masm/assembler/AbstractMacroAssembler.h
@@ -66,7 +66,7 @@ public:
typedef MacroAssemblerCodePtr CodePtr;
typedef MacroAssemblerCodeRef CodeRef;
-#if !CPU(ARM_THUMB2) && !CPU(ARM64) && !defined(V4_BOOTSTRAP)
+#if !CPU(ARM_THUMB2) && !CPU(ARM64)
class Jump;
#endif
@@ -328,7 +328,7 @@ public:
friend class AbstractMacroAssembler;
friend struct DFG::OSRExit;
-#if CPU(ARM_THUMB2) || CPU(ARM64) || defined(V4_BOOTSTRAP)
+#if CPU(ARM_THUMB2) || CPU(ARM64)
using Jump = typename AssemblerType::template Jump<Label>;
friend Jump;
#else
@@ -461,7 +461,7 @@ public:
AssemblerLabel m_label;
};
-#if CPU(ARM_THUMB2) || CPU(ARM64) || defined(V4_BOOTSTRAP)
+#if CPU(ARM_THUMB2) || CPU(ARM64)
using Jump = typename AssemblerType::template Jump<Label>;
friend Jump;
#endif
@@ -516,7 +516,7 @@ public:
// into the code buffer - it is typically used to link the jump, setting the
// relative offset such that when executed it will jump to the desired
// destination.
-#if !CPU(ARM_THUMB2) && !CPU(ARM64) && !defined(V4_BOOTSTRAP)
+#if !CPU(ARM_THUMB2) && !CPU(ARM64)
class Jump {
template<class TemplateAssemblerType>
friend class AbstractMacroAssembler;
@@ -528,7 +528,7 @@ public:
{
}
-#if CPU(ARM_THUMB2) || defined(V4_BOOTSTRAP)
+#if CPU(ARM_THUMB2)
// Fixme: this information should be stored in the instruction stream, not in the Jump object.
Jump(AssemblerLabel jmp, ARMv7Assembler::JumpType type = ARMv7Assembler::JumpNoCondition, ARMv7Assembler::Condition condition = ARMv7Assembler::ConditionInvalid)
: m_label(jmp)
@@ -621,7 +621,7 @@ public:
private:
AssemblerLabel m_label;
-#if CPU(ARM_THUMB2) || defined(V4_BOOTSTRAP)
+#if CPU(ARM_THUMB2)
ARMv7Assembler::JumpType m_type;
ARMv7Assembler::Condition m_condition;
#endif
@@ -878,12 +878,10 @@ protected:
AssemblerType::repatchPointer(dataLabelPtr.dataLocation(), value);
}
-#if !defined(V4_BOOTSTRAP)
static void* readPointer(CodeLocationDataLabelPtr dataLabelPtr)
{
return AssemblerType::readPointer(dataLabelPtr.dataLocation());
}
-#endif
static void replaceWithLoad(CodeLocationConvertibleLoad label)
{
diff --git a/src/3rdparty/masm/assembler/LinkBuffer.h b/src/3rdparty/masm/assembler/LinkBuffer.h
index a1bb046d43..8e9a3d9c7a 100644
--- a/src/3rdparty/masm/assembler/LinkBuffer.h
+++ b/src/3rdparty/masm/assembler/LinkBuffer.h
@@ -374,7 +374,7 @@ public:
}
};
-#if CPU(ARM_THUMB2) || CPU(ARM64) || defined(V4_BOOTSTRAP)
+#if CPU(ARM_THUMB2) || CPU(ARM64)
template <typename T>
struct BranchCompactingExecutableOffsetCalculator {
@@ -509,7 +509,7 @@ inline void BranchCompactingLinkBuffer<MacroAssembler>::linkCode(void* ownerUID,
m_executableMemory->shrink(m_size);
}
-#if CPU(ARM_THUMB2) || defined(V4_BOOTSTRAP)
+#if CPU(ARM_THUMB2)
template <>
class LinkBuffer<JSC::MacroAssembler<MacroAssemblerARMv7>> : public BranchCompactingLinkBuffer<JSC::MacroAssembler<MacroAssemblerARMv7>>
{
@@ -520,7 +520,7 @@ public:
};
#endif
-#if CPU(ARM64) || defined(V4_BOOTSTRAP)
+#if CPU(ARM64)
template <>
class LinkBuffer<JSC::MacroAssembler<MacroAssemblerARM64>> : public BranchCompactingLinkBuffer<JSC::MacroAssembler<MacroAssemblerARM64>>
{
diff --git a/src/3rdparty/masm/assembler/MacroAssembler.h b/src/3rdparty/masm/assembler/MacroAssembler.h
index b442a81bd0..aada47303f 100644
--- a/src/3rdparty/masm/assembler/MacroAssembler.h
+++ b/src/3rdparty/masm/assembler/MacroAssembler.h
@@ -97,10 +97,7 @@ public:
using MacroAssemblerBase::load32;
-#if defined(V4_BOOTSTRAP)
- using MacroAssemblerBase::loadPtr;
- using MacroAssemblerBase::storePtr;
-#elif CPU(X86_64) || CPU(ARM64)
+#if CPU(X86_64) || CPU(ARM64)
using MacroAssemblerBase::add64;
using MacroAssemblerBase::sub64;
using MacroAssemblerBase::xor64;
@@ -214,14 +211,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)
+#if CPU(X86_64) || CPU(ARM64)
void peek64(RegisterID dest, int index = 0)
{
load64(Address(MacroAssemblerBase::stackPointerRegister, (index * sizeof(void*))), dest);
@@ -352,7 +347,6 @@ public:
return !(this->random() & (BlindingModulus - 1));
}
-#if !defined(V4_BOOTSTRAP)
// Ptr methods
// On 32-bit platforms (i.e. x86), these methods directly map onto their 32-bit equivalents.
// FIXME: should this use a test for 32-bitness instead of this specific exception?
@@ -877,7 +871,7 @@ public:
{
return branchSub64(cond, src1, src2, dest);
}
-#endif // !defined(V4_BOOTSTRAP)
+#endif // !CPU(X86_64) && !CPU(ARM64)
#if ENABLE(JIT_CONSTANT_BLINDING)
using MacroAssemblerBase::and64;
@@ -1101,8 +1095,6 @@ public:
#endif
-#endif // !CPU(X86_64)
-
#if ENABLE(JIT_CONSTANT_BLINDING)
bool shouldBlind(Imm32 imm)
{
diff --git a/src/3rdparty/masm/assembler/MacroAssemblerARM64.h b/src/3rdparty/masm/assembler/MacroAssemblerARM64.h
index 3e6dfcf635..c0c68f6393 100644
--- a/src/3rdparty/masm/assembler/MacroAssemblerARM64.h
+++ b/src/3rdparty/masm/assembler/MacroAssemblerARM64.h
@@ -26,7 +26,7 @@
#ifndef MacroAssemblerARM64_h
#define MacroAssemblerARM64_h
-#if ENABLE(ASSEMBLER) && (CPU(ARM64) || defined(V4_BOOTSTRAP))
+#if ENABLE(ASSEMBLER) && CPU(ARM64)
#include "ARM64Assembler.h"
#include "AbstractMacroAssembler.h"
@@ -211,33 +211,6 @@ public:
static bool shouldBlindForSpecificArch(uint32_t value) { return value >= 0x00ffffff; }
static bool shouldBlindForSpecificArch(uint64_t value) { return value >= 0x00ffffff; }
-#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
-
// Integer operations:
void add32(RegisterID a, RegisterID b, RegisterID dest)
@@ -2822,7 +2795,6 @@ public:
return branch32(cond, left, dataTempRegister);
}
-#if !defined(V4_BOOTSTRAP)
PatchableJump patchableBranchPtr(RelationalCondition cond, Address left, TrustedImmPtr right)
{
m_makeJumpPatchable = true;
@@ -2830,7 +2802,6 @@ public:
m_makeJumpPatchable = false;
return PatchableJump(result);
}
-#endif
PatchableJump patchableBranchTest32(ResultCondition cond, RegisterID reg, TrustedImm32 mask = TrustedImm32(-1))
{
diff --git a/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h b/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h
index 99801a0e3b..6232834fde 100644
--- a/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h
+++ b/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h
@@ -27,7 +27,7 @@
#ifndef MacroAssemblerARMv7_h
#define MacroAssemblerARMv7_h
-#if ENABLE(ASSEMBLER) && (CPU(ARM_THUMB2) || defined(V4_BOOTSTRAP))
+#if ENABLE(ASSEMBLER) && CPU(ARM_THUMB2)
#include "ARMv7Assembler.h"
#include "AbstractMacroAssembler.h"
@@ -162,41 +162,12 @@ public:
{
add32(imm, dest, dest);
}
-
-#if defined(V4_BOOTSTRAP)
- void loadPtr(ImplicitAddress address, RegisterID dest)
- {
- load32(address, dest);
- }
-
- void subPtr(TrustedImm32 imm, RegisterID dest)
- {
- sub32(imm, dest);
- }
-
- void addPtr(TrustedImm32 imm, RegisterID dest)
- {
- add32(imm, dest);
- }
-
- void addPtr(TrustedImm32 imm, RegisterID src, RegisterID dest)
- {
- add32(imm, src, dest);
- }
-
- void storePtr(RegisterID src, ImplicitAddress address)
- {
- store32(src, address);
- }
-#endif
-#if !defined(V4_BOOTSTRAP)
void add32(AbsoluteAddress src, RegisterID dest)
{
load32(src.m_ptr, dataTempRegister);
add32(dataTempRegister, dest);
}
-#endif
void add32(TrustedImm32 imm, RegisterID src, RegisterID dest)
{
@@ -237,7 +208,6 @@ public:
add32(dataTempRegister, dest);
}
-#if !defined(V4_BOOTSTRAP)
void add32(TrustedImm32 imm, AbsoluteAddress address)
{
load32(address.m_ptr, dataTempRegister);
@@ -282,7 +252,6 @@ public:
m_assembler.adc(dataTempRegister, dataTempRegister, ARMThumbImmediate::makeEncodedImm(imm.m_value >> 31));
m_assembler.str(dataTempRegister, addressTempRegister, ARMThumbImmediate::makeUInt12(4));
}
-#endif
void and32(RegisterID op1, RegisterID op2, RegisterID dest)
{
@@ -384,7 +353,6 @@ public:
or32(dataTempRegister, dest);
}
-#if !defined(V4_BOOTSTRAP)
void or32(RegisterID src, AbsoluteAddress dest)
{
move(TrustedImmPtr(dest.m_ptr), addressTempRegister);
@@ -392,7 +360,6 @@ public:
or32(src, dataTempRegister);
store32(dataTempRegister, addressTempRegister);
}
-#endif
void or32(TrustedImm32 imm, RegisterID dest)
{
@@ -504,7 +471,6 @@ public:
sub32(dataTempRegister, dest);
}
-#if !defined(V4_BOOTSTRAP)
void sub32(TrustedImm32 imm, AbsoluteAddress address)
{
load32(address.m_ptr, dataTempRegister);
@@ -521,7 +487,6 @@ public:
store32(dataTempRegister, address.m_ptr);
}
-#endif
void xor32(Address src, RegisterID dest)
{
@@ -698,13 +663,11 @@ public:
load16(setupArmAddress(address), dest);
}
-#if !defined(V4_BOOTSTRAP)
void load32(const void* address, RegisterID dest)
{
move(TrustedImmPtr(address), addressTempRegister);
m_assembler.ldr(dest, addressTempRegister, ARMThumbImmediate::makeUInt16(0));
}
-#endif
ConvertibleLoadLabel convertibleLoadPtr(Address address, RegisterID dest)
{
@@ -809,7 +772,6 @@ public:
store32(dataTempRegister, setupArmAddress(address));
}
-#if !defined(V4_BOOTSTRAP)
void store32(RegisterID src, const void* address)
{
move(TrustedImmPtr(address), addressTempRegister);
@@ -821,7 +783,6 @@ public:
move(imm, dataTempRegister);
store32(dataTempRegister, address);
}
-#endif
void store8(RegisterID src, BaseIndex address)
{
@@ -839,7 +800,6 @@ public:
store8(dataTempRegister, address);
}
-#if !defined(V4_BOOTSTRAP)
void store8(RegisterID src, void* address)
{
move(TrustedImmPtr(address), addressTempRegister);
@@ -851,7 +811,6 @@ public:
move(imm, dataTempRegister);
store8(dataTempRegister, address);
}
-#endif
void store16(RegisterID src, BaseIndex address)
{
@@ -949,13 +908,11 @@ public:
m_assembler.vmov(dest, src);
}
-#if !defined(V4_BOOTSTRAP)
void loadDouble(const void* address, FPRegisterID dest)
{
move(TrustedImmPtr(address), addressTempRegister);
m_assembler.vldr(dest, addressTempRegister, 0);
}
-#endif
void storeDouble(FPRegisterID src, ImplicitAddress address)
{
@@ -987,13 +944,11 @@ public:
m_assembler.fsts(ARMRegisters::asSingle(src), base, offset);
}
-#if !defined(V4_BOOTSTRAP)
void storeDouble(FPRegisterID src, const void* address)
{
move(TrustedImmPtr(address), addressTempRegister);
storeDouble(src, addressTempRegister);
}
-#endif
void storeDouble(FPRegisterID src, BaseIndex address)
{
@@ -1027,13 +982,11 @@ public:
m_assembler.vadd(dest, op1, op2);
}
-#if !defined(V4_BOOTSTRAP)
void addDouble(AbsoluteAddress address, FPRegisterID dest)
{
loadDouble(address.m_ptr, fpTempRegister);
m_assembler.vadd(dest, dest, fpTempRegister);
}
-#endif
void divDouble(FPRegisterID src, FPRegisterID dest)
{
@@ -1112,7 +1065,6 @@ public:
m_assembler.vcvt_signedToFloatingPoint(dest, fpTempRegisterAsSingle());
}
-#if !defined(V4_BOOTSTRAP)
void convertInt32ToDouble(AbsoluteAddress address, FPRegisterID dest)
{
// Fixme: load directly into the fpr!
@@ -1120,7 +1072,6 @@ public:
m_assembler.vmov(fpTempRegister, dataTempRegister, dataTempRegister);
m_assembler.vcvt_signedToFloatingPoint(dest, fpTempRegisterAsSingle());
}
-#endif
void convertUInt32ToDouble(RegisterID src, FPRegisterID dest, RegisterID /*scratch*/)
{
@@ -1316,12 +1267,10 @@ public:
m_assembler.mov(dest, src);
}
-#if !defined(V4_BOOTSTRAP)
void move(TrustedImmPtr imm, RegisterID dest)
{
move(TrustedImm32(imm), dest);
}
-#endif
void swap(RegisterID reg1, RegisterID reg2)
{
@@ -1462,7 +1411,6 @@ public:
return branch32(cond, addressTempRegister, right);
}
-#if !defined(V4_BOOTSTRAP)
Jump branch32(RelationalCondition cond, AbsoluteAddress left, RegisterID right)
{
load32(left.m_ptr, dataTempRegister);
@@ -1475,7 +1423,6 @@ public:
load32(left.m_ptr, addressTempRegister);
return branch32(cond, addressTempRegister, right);
}
-#endif
Jump branch8(RelationalCondition cond, RegisterID left, TrustedImm32 right)
{
@@ -1532,7 +1479,6 @@ public:
return branchTest32(cond, addressTempRegister, mask);
}
-#if !defined(V4_BOOTSTRAP)
Jump branchTest8(ResultCondition cond, AbsoluteAddress address, TrustedImm32 mask = TrustedImm32(-1))
{
// use addressTempRegister incase the branchTest8 we call uses dataTempRegister. :-/
@@ -1540,7 +1486,6 @@ public:
load8(Address(addressTempRegister), addressTempRegister);
return branchTest32(cond, addressTempRegister, mask);
}
-#endif
void jump(RegisterID target)
{
@@ -1554,14 +1499,12 @@ public:
m_assembler.bx(dataTempRegister);
}
-#if !defined(V4_BOOTSTRAP)
void jump(AbsoluteAddress address)
{
move(TrustedImmPtr(address.m_ptr), dataTempRegister);
load32(Address(dataTempRegister), dataTempRegister);
m_assembler.bx(dataTempRegister);
}
-#endif
// Arithmetic control flow operations:
@@ -1602,7 +1545,6 @@ public:
return branchAdd32(cond, dest, imm, dest);
}
-#if !defined(V4_BOOTSTRAP)
Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, AbsoluteAddress dest)
{
// Move the high bits of the address into addressTempRegister,
@@ -1628,7 +1570,6 @@ public:
return Jump(makeBranch(cond));
}
-#endif
Jump branchMul32(ResultCondition cond, RegisterID src1, RegisterID src2, RegisterID dest)
{
@@ -1799,7 +1740,6 @@ public:
return DataLabel32(this);
}
-#if !defined(V4_BOOTSTRAP)
ALWAYS_INLINE DataLabelPtr moveWithPatch(TrustedImmPtr imm, RegisterID dst)
{
padBeforePatch();
@@ -1827,7 +1767,6 @@ public:
m_makeJumpPatchable = false;
return PatchableJump(result);
}
-#endif
PatchableJump patchableBranchTest32(ResultCondition cond, RegisterID reg, TrustedImm32 mask = TrustedImm32(-1))
{
@@ -1845,7 +1784,6 @@ public:
return PatchableJump(result);
}
-#if !defined(V4_BOOTSTRAP)
PatchableJump patchableBranchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
{
m_makeJumpPatchable = true;
@@ -1853,7 +1791,6 @@ public:
m_makeJumpPatchable = false;
return PatchableJump(result);
}
-#endif
PatchableJump patchableJump()
{
@@ -1864,7 +1801,6 @@ public:
return PatchableJump(result);
}
-#if !defined(V4_BOOTSTRAP)
ALWAYS_INLINE DataLabelPtr storePtrWithPatch(TrustedImmPtr initialValue, ImplicitAddress address)
{
DataLabelPtr label = moveWithPatch(initialValue, dataTempRegister);
@@ -1872,7 +1808,6 @@ public:
return label;
}
ALWAYS_INLINE DataLabelPtr storePtrWithPatch(ImplicitAddress address) { return storePtrWithPatch(TrustedImmPtr(0), address); }
-#endif
ALWAYS_INLINE Call tailRecursiveCall()
{
@@ -1893,7 +1828,6 @@ public:
return m_assembler.executableOffsetFor(location);
}
-#if !defined(V4_BOOTSTRAP)
static FunctionPtr readCallTarget(CodeLocationCall call)
{
return FunctionPtr(reinterpret_cast<void(*)()>(ARMv7Assembler::readCallTarget(call.dataLocation())));
@@ -1906,7 +1840,6 @@ public:
const unsigned twoWordOpSize = 4;
return label.labelAtOffset(-twoWordOpSize * 2);
}
-#endif
static void revertJumpReplacementToBranchPtrWithPatch(CodeLocationLabel instructionStart, RegisterID rd, void* initialValue)
{
@@ -2024,7 +1957,6 @@ private:
template <typename, template <typename> class> friend class LinkBufferBase;
friend class RepatchBuffer;
-#if !defined(V4_BOOTSTRAP)
static void linkCall(void* code, Call call, FunctionPtr function)
{
ARMv7Assembler::linkCall(code, call.m_label, function.value());
@@ -2039,7 +1971,6 @@ private:
{
ARMv7Assembler::relinkCall(call.dataLocation(), destination.executableAddress());
}
-#endif
bool m_makeJumpPatchable;
};
diff --git a/src/3rdparty/masm/assembler/MacroAssemblerX86.h b/src/3rdparty/masm/assembler/MacroAssemblerX86.h
index e3e0bfe5e1..5cffa787ec 100644
--- a/src/3rdparty/masm/assembler/MacroAssemblerX86.h
+++ b/src/3rdparty/masm/assembler/MacroAssemblerX86.h
@@ -55,38 +55,6 @@ public:
using MacroAssemblerX86Common::convertInt32ToDouble;
using MacroAssemblerX86Common::branchTest8;
-#if defined(V4_BOOTSTRAP)
- void loadPtr(ImplicitAddress address, RegisterID dest)
- {
- load32(address, dest);
- }
-
- void subPtr(TrustedImm32 imm, RegisterID dest)
- {
- sub32(imm, dest);
- }
-
- void addPtr(TrustedImm32 imm, RegisterID dest)
- {
- add32(imm, dest);
- }
-
- void addPtr(TrustedImm32 imm, RegisterID src, RegisterID dest)
- {
- add32(imm, src, dest);
- }
-
- void storePtr(RegisterID src, ImplicitAddress address)
- {
- store32(src, address);
- }
-
- Jump branchTest8(ResultCondition cond, ExtendedAddress address, TrustedImm32 mask = TrustedImm32(-1))
- {
- return branchTest8(cond, Address(address.base, address.offset), mask);
- }
-#endif
-
void add32(TrustedImm32 imm, RegisterID src, RegisterID dest)
{
m_assembler.leal_mr(imm.m_value, src, dest);
diff --git a/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h b/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h
index 64df58d121..0a6db0805b 100644
--- a/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h
+++ b/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h
@@ -53,33 +53,6 @@ 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);
diff --git a/src/3rdparty/masm/assembler/X86Assembler.h b/src/3rdparty/masm/assembler/X86Assembler.h
index 2257cb2b9a..e8ae687036 100644
--- a/src/3rdparty/masm/assembler/X86Assembler.h
+++ b/src/3rdparty/masm/assembler/X86Assembler.h
@@ -255,47 +255,6 @@ public:
{
}
-#if defined(V4_BOOTSTRAP)
- template <typename LabelType>
- class Jump {
- template<class TemplateAssemblerType>
- friend class AbstractMacroAssembler;
- friend class Call;
- template <typename, template <typename> class> friend class LinkBufferBase;
- public:
- Jump()
- {
- }
-
- Jump(AssemblerLabel jmp)
- : m_label(jmp)
- {
- }
-
- LabelType label() const
- {
- LabelType result;
- result.m_label = m_label;
- return result;
- }
-
- void link(AbstractMacroAssembler<X86Assembler>* masm) const
- {
- masm->m_assembler.linkJump(m_label, masm->m_assembler.label());
- }
-
- void linkTo(LabelType label, AbstractMacroAssembler<X86Assembler>* masm) const
- {
- masm->m_assembler.linkJump(m_label, label.label());
- }
-
- bool isSet() const { return m_label.isSet(); }
-
- private:
- AssemblerLabel m_label;
- };
-#endif
-
// Stack operations:
void push_r(RegisterID reg)