Rename zeroExtend32ToPtr to zeroExtend32ToWord
https://bugs.webkit.org/show_bug.cgi?id=213866
Reviewed by Saam Barati.
The old name no longer makes sense now that we have configurations
where sizeof(void*) != sizeof(CPURegister).
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::branchTruncateDoubleToInt32):
(JSC::MacroAssemblerARM64::zeroExtend32ToWord):
(JSC::MacroAssemblerARM64::branchMul32):
(JSC::MacroAssemblerARM64::zeroExtend32ToPtr): Deleted.
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::zeroExtend32ToWord):
(JSC::MacroAssemblerARMv7::zeroExtend32ToPtr): Deleted.
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::zeroExtend32ToWord):
(JSC::MacroAssemblerMIPS::zeroExtend32ToPtr): Deleted.
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::add32):
(JSC::MacroAssemblerX86Common::and32):
(JSC::MacroAssemblerX86Common::mul32):
(JSC::MacroAssemblerX86Common::or32):
(JSC::MacroAssemblerX86Common::xor32):
(JSC::MacroAssemblerX86Common::zeroExtend32ToWord):
(JSC::MacroAssemblerX86Common::branchAdd32):
(JSC::MacroAssemblerX86Common::zeroExtend32ToPtr): Deleted.
* b3/air/AirOpcode.opcodes:
* bytecode/AccessCase.cpp:
(JSC::AccessCase::generateWithGuard):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::compileExit):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileStringSlice):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::setIntTypedArrayLoadResult):
(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileCreateRest):
(JSC::DFG::SpeculativeJIT::compileArraySlice):
(JSC::DFG::SpeculativeJIT::compileArrayIndexOf):
(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize):
(JSC::DFG::SpeculativeJIT::emitAllocateButterfly):
(JSC::DFG::SpeculativeJIT::compileWeakMapGet):
(JSC::DFG::SpeculativeJIT::emitInitializeButterfly):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::reboxAccordingToFormat):
* jit/CallFrameShuffler64.cpp:
(JSC::CallFrameShuffler::emitBox):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_has_indexed_property):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_has_indexed_property):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_by_val):
* jit/JSInterfaceJIT.h:
(JSC::JSInterfaceJIT::emitLoadInt32):
* wasm/js/JSToWasm.cpp:
(JSC::Wasm::boxWasmResult):
* wasm/js/WasmToJS.cpp:
(JSC::Wasm::wasmToJS):
* wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
* yarr/YarrJIT.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@263824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog
index 59199c1..c5db482 100644
--- a/Source/JavaScriptCore/ChangeLog
+++ b/Source/JavaScriptCore/ChangeLog
@@ -1,3 +1,74 @@
+2020-07-01 Keith Miller <keith_miller@apple.com>
+
+ Rename zeroExtend32ToPtr to zeroExtend32ToWord
+ https://bugs.webkit.org/show_bug.cgi?id=213866
+
+ Reviewed by Saam Barati.
+
+ The old name no longer makes sense now that we have configurations
+ where sizeof(void*) != sizeof(CPURegister).
+
+ * assembler/MacroAssemblerARM64.h:
+ (JSC::MacroAssemblerARM64::branchTruncateDoubleToInt32):
+ (JSC::MacroAssemblerARM64::zeroExtend32ToWord):
+ (JSC::MacroAssemblerARM64::branchMul32):
+ (JSC::MacroAssemblerARM64::zeroExtend32ToPtr): Deleted.
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::zeroExtend32ToWord):
+ (JSC::MacroAssemblerARMv7::zeroExtend32ToPtr): Deleted.
+ * assembler/MacroAssemblerMIPS.h:
+ (JSC::MacroAssemblerMIPS::zeroExtend32ToWord):
+ (JSC::MacroAssemblerMIPS::zeroExtend32ToPtr): Deleted.
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::add32):
+ (JSC::MacroAssemblerX86Common::and32):
+ (JSC::MacroAssemblerX86Common::mul32):
+ (JSC::MacroAssemblerX86Common::or32):
+ (JSC::MacroAssemblerX86Common::xor32):
+ (JSC::MacroAssemblerX86Common::zeroExtend32ToWord):
+ (JSC::MacroAssemblerX86Common::branchAdd32):
+ (JSC::MacroAssemblerX86Common::zeroExtend32ToPtr): Deleted.
+ * b3/air/AirOpcode.opcodes:
+ * bytecode/AccessCase.cpp:
+ (JSC::AccessCase::generateWithGuard):
+ * dfg/DFGOSRExit.cpp:
+ (JSC::DFG::OSRExit::compileExit):
+ * dfg/DFGSpeculativeJIT.cpp:
+ (JSC::DFG::SpeculativeJIT::compileStringSlice):
+ (JSC::DFG::SpeculativeJIT::compileValueToInt32):
+ (JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
+ (JSC::DFG::SpeculativeJIT::setIntTypedArrayLoadResult):
+ (JSC::DFG::SpeculativeJIT::compileArithDiv):
+ (JSC::DFG::SpeculativeJIT::compileCreateRest):
+ (JSC::DFG::SpeculativeJIT::compileArraySlice):
+ (JSC::DFG::SpeculativeJIT::compileArrayIndexOf):
+ (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize):
+ (JSC::DFG::SpeculativeJIT::emitAllocateButterfly):
+ (JSC::DFG::SpeculativeJIT::compileWeakMapGet):
+ (JSC::DFG::SpeculativeJIT::emitInitializeButterfly):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
+ (JSC::DFG::SpeculativeJIT::compile):
+ * ftl/FTLOSRExitCompiler.cpp:
+ (JSC::FTL::reboxAccordingToFormat):
+ * jit/CallFrameShuffler64.cpp:
+ (JSC::CallFrameShuffler::emitBox):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_has_indexed_property):
+ * jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::emit_op_has_indexed_property):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_put_by_val):
+ * jit/JSInterfaceJIT.h:
+ (JSC::JSInterfaceJIT::emitLoadInt32):
+ * wasm/js/JSToWasm.cpp:
+ (JSC::Wasm::boxWasmResult):
+ * wasm/js/WasmToJS.cpp:
+ (JSC::Wasm::wasmToJS):
+ * wasm/js/WebAssemblyFunction.cpp:
+ (JSC::WebAssemblyFunction::jsCallEntrypointSlow):
+ * yarr/YarrJIT.cpp:
+
2020-07-01 Saam Barati <sbarati@apple.com>
Script to copy over testapi.js is redundant in xcodebuild
diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h b/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
index 53a099c..45b4b3b 100644
--- a/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
+++ b/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
@@ -1899,7 +1899,7 @@
{
// Truncate to a 64-bit integer in dataTempRegister, copy the low 32-bit to dest.
m_assembler.fcvtzs<64, 64>(getCachedDataTempRegisterIDAndInvalidate(), src);
- zeroExtend32ToPtr(dataTempRegister, dest);
+ zeroExtend32ToWord(dataTempRegister, dest);
// Check the low 32-bits sign extend to be equal to the full value.
m_assembler.cmp<64>(dataTempRegister, dataTempRegister, Assembler::SXTW, 0);
return Jump(makeBranch(branchType == BranchIfTruncateSuccessful ? Equal : NotEqual));
@@ -2515,7 +2515,7 @@
m_assembler.sxtw(dest, src);
}
- void zeroExtend32ToPtr(RegisterID src, RegisterID dest)
+ void zeroExtend32ToWord(RegisterID src, RegisterID dest)
{
m_assembler.uxtw(dest, src);
}
@@ -3195,7 +3195,7 @@
// Splat bit 31 of the result to bits 31..0 of scratch2.
m_assembler.asr<32>(scratch2, dest, 31);
// After a mul32 the top 32 bits of the register should be clear.
- zeroExtend32ToPtr(dest, dest);
+ zeroExtend32ToWord(dest, dest);
// Check that bits 31..63 of the original result were all equal.
return branch32(NotEqual, scratch2, scratch1);
}
diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h b/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h
index 704036c..308c117 100644
--- a/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h
+++ b/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h
@@ -1425,7 +1425,7 @@
move(src, dest);
}
- void zeroExtend32ToPtr(RegisterID src, RegisterID dest)
+ void zeroExtend32ToWord(RegisterID src, RegisterID dest)
{
move(src, dest);
}
diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h
index 2dcf72b..e919cfb 100644
--- a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h
+++ b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h
@@ -1692,7 +1692,7 @@
move(src, dest);
}
- void zeroExtend32ToPtr(RegisterID src, RegisterID dest)
+ void zeroExtend32ToWord(RegisterID src, RegisterID dest)
{
if (src != dest || m_fixedWidth)
move(src, dest);
diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
index 89b087ad..28fae2e 100644
--- a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
+++ b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
@@ -208,7 +208,7 @@
void add32(TrustedImm32 imm, RegisterID src, RegisterID dest)
{
if (!imm.m_value) {
- zeroExtend32ToPtr(src, dest);
+ zeroExtend32ToWord(src, dest);
return;
}
@@ -333,7 +333,7 @@
void and32(RegisterID op1, RegisterID op2, RegisterID dest)
{
if (op1 == op2)
- zeroExtend32ToPtr(op1, dest);
+ zeroExtend32ToWord(op1, dest);
else if (op1 == dest)
and32(op2, dest);
else {
@@ -350,7 +350,7 @@
load32(op1, dest);
and32(op2, dest);
} else {
- zeroExtend32ToPtr(op2, dest);
+ zeroExtend32ToWord(op2, dest);
and32(op1, dest);
}
}
@@ -494,7 +494,7 @@
load32(op1, dest);
mul32(op2, dest);
} else {
- zeroExtend32ToPtr(op2, dest);
+ zeroExtend32ToWord(op2, dest);
mul32(op1, dest);
}
}
@@ -669,7 +669,7 @@
void or32(RegisterID op1, RegisterID op2, RegisterID dest)
{
if (op1 == op2)
- zeroExtend32ToPtr(op1, dest);
+ zeroExtend32ToWord(op1, dest);
else if (op1 == dest)
or32(op2, dest);
else {
@@ -686,7 +686,7 @@
load32(op1, dest);
or32(op2, dest);
} else {
- zeroExtend32ToPtr(op2, dest);
+ zeroExtend32ToWord(op2, dest);
or32(op1, dest);
}
}
@@ -1029,7 +1029,7 @@
load32(op1, dest);
xor32(op2, dest);
} else {
- zeroExtend32ToPtr(op2, dest);
+ zeroExtend32ToWord(op2, dest);
xor32(op1, dest);
}
}
@@ -2287,12 +2287,12 @@
m_assembler.movsxd_rr(src, dest);
}
- void zeroExtend32ToPtr(RegisterID src, RegisterID dest)
+ void zeroExtend32ToWord(RegisterID src, RegisterID dest)
{
m_assembler.movl_rr(src, dest);
}
- void zeroExtend32ToPtr(TrustedImm32 src, RegisterID dest)
+ void zeroExtend32ToWord(TrustedImm32 src, RegisterID dest)
{
m_assembler.movl_i32r(src.m_value, dest);
}
@@ -2375,7 +2375,7 @@
move(src, dest);
}
- void zeroExtend32ToPtr(RegisterID src, RegisterID dest)
+ void zeroExtend32ToWord(RegisterID src, RegisterID dest)
{
move(src, dest);
}
@@ -2822,7 +2822,7 @@
load32(op1, dest);
return branchAdd32(cond, op2, dest);
}
- zeroExtend32ToPtr(op2, dest);
+ zeroExtend32ToWord(op2, dest);
return branchAdd32(cond, op1, dest);
}
diff --git a/Source/JavaScriptCore/b3/air/AirOpcode.opcodes b/Source/JavaScriptCore/b3/air/AirOpcode.opcodes
index 901c564..725c680 100644
--- a/Source/JavaScriptCore/b3/air/AirOpcode.opcodes
+++ b/Source/JavaScriptCore/b3/air/AirOpcode.opcodes
@@ -642,12 +642,12 @@
Tmp, Addr
Move32 U:G:32, ZD:G:32
- Tmp, Tmp as zeroExtend32ToPtr
+ Tmp, Tmp as zeroExtend32ToWord
Addr, Tmp as load32
Index, Tmp as load32
Tmp, Addr as store32
Tmp, Index as store32
- x86: Imm, Tmp as zeroExtend32ToPtr
+ x86: Imm, Tmp as zeroExtend32ToWord
x86: Imm, Addr as store32
x86: Imm, Index as store32
diff --git a/Source/JavaScriptCore/bytecode/AccessCase.cpp b/Source/JavaScriptCore/bytecode/AccessCase.cpp
index 4a3bb5a..d29bf2d 100644
--- a/Source/JavaScriptCore/bytecode/AccessCase.cpp
+++ b/Source/JavaScriptCore/bytecode/AccessCase.cpp
@@ -937,7 +937,7 @@
jit.loadPtr(CCallHelpers::Address(baseGPR, ScopedArguments::offsetOfScope()), scratch2GPR);
jit.loadPtr(CCallHelpers::Address(scratchGPR, ScopedArgumentsTable::offsetOfArguments()), scratchGPR);
- jit.zeroExtend32ToPtr(propertyGPR, scratch3GPR);
+ jit.zeroExtend32ToWord(propertyGPR, scratch3GPR);
jit.load32(CCallHelpers::BaseIndex(scratchGPR, scratch3GPR, CCallHelpers::TimesFour), scratchGPR);
failAndIgnore.append(jit.branch32(CCallHelpers::Equal, scratchGPR, CCallHelpers::TrustedImm32(ScopeOffset::invalidOffset)));
jit.loadValue(CCallHelpers::BaseIndex(scratch2GPR, scratchGPR, CCallHelpers::TimesEight, JSLexicalEnvironment::offsetOfVariables()), valueRegs);
@@ -982,7 +982,7 @@
jit.load32(CCallHelpers::Address(baseGPR, DirectArguments::offsetOfLength()), scratchGPR);
state.failAndRepatch.append(jit.branch32(CCallHelpers::AboveOrEqual, propertyGPR, scratchGPR));
state.failAndRepatch.append(jit.branchTestPtr(CCallHelpers::NonZero, CCallHelpers::Address(baseGPR, DirectArguments::offsetOfMappedArguments())));
- jit.zeroExtend32ToPtr(propertyGPR, scratchGPR);
+ jit.zeroExtend32ToWord(propertyGPR, scratchGPR);
jit.loadValue(CCallHelpers::BaseIndex(baseGPR, scratchGPR, CCallHelpers::TimesEight, DirectArguments::storageOffset()), valueRegs);
state.succeed();
return;
@@ -1113,11 +1113,11 @@
jit.load32(CCallHelpers::Address(scratch2GPR, StringImpl::flagsOffset()), scratchGPR);
jit.loadPtr(CCallHelpers::Address(scratch2GPR, StringImpl::dataOffset()), scratch2GPR);
auto is16Bit = jit.branchTest32(CCallHelpers::Zero, scratchGPR, CCallHelpers::TrustedImm32(StringImpl::flagIs8Bit()));
- jit.zeroExtend32ToPtr(propertyGPR, scratchGPR);
+ jit.zeroExtend32ToWord(propertyGPR, scratchGPR);
jit.load8(CCallHelpers::BaseIndex(scratch2GPR, scratchGPR, CCallHelpers::TimesOne, 0), scratch2GPR);
auto is8BitLoadDone = jit.jump();
is16Bit.link(&jit);
- jit.zeroExtend32ToPtr(propertyGPR, scratchGPR);
+ jit.zeroExtend32ToWord(propertyGPR, scratchGPR);
jit.load16(CCallHelpers::BaseIndex(scratch2GPR, scratchGPR, CCallHelpers::TimesTwo, 0), scratch2GPR);
is8BitLoadDone.link(&jit);
@@ -1177,7 +1177,7 @@
jit.loadPtr(CCallHelpers::Address(baseGPR, JSObject::butterflyOffset()), scratchGPR);
isOutOfBounds = jit.branch32(CCallHelpers::AboveOrEqual, propertyGPR, CCallHelpers::Address(scratchGPR, ArrayStorage::vectorLengthOffset()));
- jit.zeroExtend32ToPtr(propertyGPR, scratch2GPR);
+ jit.zeroExtend32ToWord(propertyGPR, scratch2GPR);
#if USE(JSVALUE64)
jit.loadValue(CCallHelpers::BaseIndex(scratchGPR, scratch2GPR, CCallHelpers::TimesEight, ArrayStorage::vectorOffset()), JSValueRegs(scratchGPR));
isEmpty = jit.branchIfEmpty(scratchGPR);
@@ -1211,7 +1211,7 @@
jit.loadPtr(CCallHelpers::Address(baseGPR, JSObject::butterflyOffset()), scratchGPR);
isOutOfBounds = jit.branch32(CCallHelpers::AboveOrEqual, propertyGPR, CCallHelpers::Address(scratchGPR, Butterfly::offsetOfPublicLength()));
- jit.zeroExtend32ToPtr(propertyGPR, scratch2GPR);
+ jit.zeroExtend32ToWord(propertyGPR, scratch2GPR);
if (m_type == IndexedDoubleLoad) {
RELEASE_ASSERT(state.scratchFPR != InvalidFPRReg);
jit.loadDouble(CCallHelpers::BaseIndex(scratchGPR, scratch2GPR, CCallHelpers::TimesEight), state.scratchFPR);
diff --git a/Source/JavaScriptCore/dfg/DFGOSRExit.cpp b/Source/JavaScriptCore/dfg/DFGOSRExit.cpp
index 30afc21..684aba4 100644
--- a/Source/JavaScriptCore/dfg/DFGOSRExit.cpp
+++ b/Source/JavaScriptCore/dfg/DFGOSRExit.cpp
@@ -734,7 +734,7 @@
case Int32DisplacedInJSStack:
#if USE(JSVALUE64)
jit.load64(scratch + index, GPRInfo::regT0);
- jit.zeroExtend32ToPtr(GPRInfo::regT0, GPRInfo::regT0);
+ jit.zeroExtend32ToWord(GPRInfo::regT0, GPRInfo::regT0);
jit.or64(GPRInfo::numberTagRegister, GPRInfo::regT0);
jit.store64(GPRInfo::regT0, AssemblyHelpers::addressFor(operand));
#else
diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
index 7ad6a6c..fc411e3 100644
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
@@ -1710,7 +1710,7 @@
m_jit.loadPtr(MacroAssembler::Address(temp2GPR, StringImpl::dataOffset()), tempGPR);
// Load the character into scratchReg
- m_jit.zeroExtend32ToPtr(startIndexGPR, startIndexGPR);
+ m_jit.zeroExtend32ToWord(startIndexGPR, startIndexGPR);
auto is16Bit = m_jit.branchTest32(MacroAssembler::Zero, MacroAssembler::Address(temp2GPR, StringImpl::flagsOffset()), TrustedImm32(StringImpl::flagIs8Bit()));
m_jit.load8(MacroAssembler::BaseIndex(tempGPR, startIndexGPR, MacroAssembler::TimesOne, 0), tempGPR);
@@ -2518,7 +2518,7 @@
GPRTemporary result(this, Reuse, op1);
GPRReg op1GPR = op1.gpr();
GPRReg resultGPR = result.gpr();
- m_jit.zeroExtend32ToPtr(op1GPR, resultGPR);
+ m_jit.zeroExtend32ToWord(op1GPR, resultGPR);
strictInt32Result(resultGPR, node, DataFormatInt32);
return;
}
@@ -2603,7 +2603,7 @@
converted.append(m_jit.jump());
isInteger.link(&m_jit);
- m_jit.zeroExtend32ToPtr(gpr, resultGpr);
+ m_jit.zeroExtend32ToWord(gpr, resultGpr);
converted.link(&m_jit);
#else
@@ -2690,7 +2690,7 @@
if (enableInt52()) {
SpeculateInt32Operand op1(this, node->child1());
GPRTemporary result(this, Reuse, op1);
- m_jit.zeroExtend32ToPtr(op1.gpr(), result.gpr());
+ m_jit.zeroExtend32ToWord(op1.gpr(), result.gpr());
strictInt52Result(result.gpr(), node);
return;
}
@@ -3110,7 +3110,7 @@
#if USE(JSVALUE64)
if (node->shouldSpeculateInt52()) {
ASSERT(enableInt52());
- m_jit.zeroExtend32ToPtr(resultReg, resultReg);
+ m_jit.zeroExtend32ToWord(resultReg, resultReg);
strictInt52Result(resultReg, node);
return;
}
@@ -5560,7 +5560,7 @@
notZero.link(&m_jit);
JITCompiler::Jump notNeg2ToThe31 =
m_jit.branch32(JITCompiler::NotEqual, op1GPR, TrustedImm32(-2147483647-1));
- m_jit.zeroExtend32ToPtr(op1GPR, eax.gpr());
+ m_jit.zeroExtend32ToWord(op1GPR, eax.gpr());
done.append(m_jit.jump());
notNeg2ToThe31.link(&m_jit);
@@ -8285,7 +8285,7 @@
m_jit.loadPtr(MacroAssembler::Address(arrayResultGPR, JSObject::butterflyOffset()), butterflyGPR);
CCallHelpers::Jump skipLoop = m_jit.branch32(MacroAssembler::Equal, arrayLengthGPR, TrustedImm32(0));
- m_jit.zeroExtend32ToPtr(arrayLengthGPR, currentLengthGPR);
+ m_jit.zeroExtend32ToWord(arrayLengthGPR, currentLengthGPR);
m_jit.addPtr(Imm32(sizeof(Register) * node->numberOfArgumentsToSkip()), argumentsStartGPR);
auto loop = m_jit.label();
@@ -8955,8 +8955,8 @@
GPRReg resultButterfly = temp2.gpr();
m_jit.loadPtr(MacroAssembler::Address(resultGPR, JSObject::butterflyOffset()), resultButterfly);
- m_jit.zeroExtend32ToPtr(tempGPR, tempGPR);
- m_jit.zeroExtend32ToPtr(loadIndex, loadIndex);
+ m_jit.zeroExtend32ToWord(tempGPR, tempGPR);
+ m_jit.zeroExtend32ToWord(loadIndex, loadIndex);
auto done = m_jit.branchPtr(MacroAssembler::AboveOrEqual, loadIndex, tempGPR);
auto loop = m_jit.label();
@@ -9013,8 +9013,8 @@
m_jit.clearRegisterAllocationOffsets();
#endif
- m_jit.zeroExtend32ToPtr(lengthGPR, lengthGPR);
- m_jit.zeroExtend32ToPtr(indexGPR, indexGPR);
+ m_jit.zeroExtend32ToWord(lengthGPR, lengthGPR);
+ m_jit.zeroExtend32ToWord(indexGPR, indexGPR);
auto loop = m_jit.label();
auto notFound = m_jit.branch32(CCallHelpers::Equal, indexGPR, lengthGPR);
@@ -9121,8 +9121,8 @@
m_jit.clearRegisterAllocationOffsets();
#endif
- m_jit.zeroExtend32ToPtr(lengthGPR, lengthGPR);
- m_jit.zeroExtend32ToPtr(indexGPR, indexGPR);
+ m_jit.zeroExtend32ToWord(lengthGPR, lengthGPR);
+ m_jit.zeroExtend32ToWord(indexGPR, indexGPR);
auto loop = m_jit.label();
auto notFound = m_jit.branch32(CCallHelpers::Equal, indexGPR, lengthGPR);
@@ -10434,7 +10434,7 @@
done.link(&m_jit);
#if CPU(ARM64E)
// sizeGPR is still boxed as a number and there is no 32-bit variant of the PAC instructions.
- m_jit.zeroExtend32ToPtr(sizeGPR, scratchGPR);
+ m_jit.zeroExtend32ToWord(sizeGPR, scratchGPR);
m_jit.tagArrayPtr(scratchGPR, storageGPR);
#endif
@@ -12471,7 +12471,7 @@
{
RELEASE_ASSERT(RegisterSet(storageResultGPR, sizeGPR, scratch1, scratch2, scratch3).numberOfSetGPRs() == 5);
ASSERT((1 << 3) == sizeof(JSValue));
- m_jit.zeroExtend32ToPtr(sizeGPR, scratch1);
+ m_jit.zeroExtend32ToWord(sizeGPR, scratch1);
m_jit.lshift32(TrustedImm32(3), scratch1);
m_jit.add32(TrustedImm32(sizeof(IndexingHeader)), scratch1, scratch2);
#if ASSERT_ENABLED
@@ -13787,13 +13787,13 @@
m_jit.and32(maskGPR, indexGPR);
if (node->child1().useKind() == WeakSetObjectUse) {
static_assert(sizeof(WeakMapBucket<WeakMapBucketDataKey>) == sizeof(void*), "");
- m_jit.zeroExtend32ToPtr(indexGPR, bucketGPR);
+ m_jit.zeroExtend32ToWord(indexGPR, bucketGPR);
m_jit.lshiftPtr(MacroAssembler::Imm32(sizeof(void*) == 4 ? 2 : 3), bucketGPR);
m_jit.addPtr(bufferGPR, bucketGPR);
} else {
ASSERT(node->child1().useKind() == WeakMapObjectUse);
static_assert(sizeof(WeakMapBucket<WeakMapBucketDataKeyValue>) == 16, "");
- m_jit.zeroExtend32ToPtr(indexGPR, bucketGPR);
+ m_jit.zeroExtend32ToWord(indexGPR, bucketGPR);
m_jit.lshiftPtr(MacroAssembler::Imm32(4), bucketGPR);
m_jit.addPtr(bufferGPR, bucketGPR);
}
@@ -14036,7 +14036,7 @@
void SpeculativeJIT::emitInitializeButterfly(GPRReg storageGPR, GPRReg sizeGPR, JSValueRegs emptyValueRegs, GPRReg scratchGPR)
{
- m_jit.zeroExtend32ToPtr(sizeGPR, scratchGPR);
+ m_jit.zeroExtend32ToWord(sizeGPR, scratchGPR);
MacroAssembler::Jump done = m_jit.branchTest32(MacroAssembler::Zero, scratchGPR);
MacroAssembler::Label loop = m_jit.label();
m_jit.sub32(TrustedImm32(1), scratchGPR);
diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
index 4bfe8e1..f222d76 100644
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
@@ -1023,7 +1023,7 @@
info.fillInt32(*m_stream, gpr);
result = gpr;
}
- m_jit.zeroExtend32ToPtr(gpr, result);
+ m_jit.zeroExtend32ToWord(gpr, result);
returnFormat = DataFormatInt32;
return result;
}
@@ -5087,7 +5087,7 @@
DataViewData data = node->dataViewData();
- m_jit.zeroExtend32ToPtr(indexGPR, t2);
+ m_jit.zeroExtend32ToWord(indexGPR, t2);
if (data.byteSize > 1)
m_jit.add64(TrustedImm32(data.byteSize - 1), t2);
m_jit.load32(MacroAssembler::Address(dataViewGPR, JSArrayBufferView::offsetOfLength()), t1);
@@ -5097,7 +5097,7 @@
m_jit.loadPtr(JITCompiler::Address(dataViewGPR, JSArrayBufferView::offsetOfVector()), t2);
cageTypedArrayStorage(dataViewGPR, t2);
- m_jit.zeroExtend32ToPtr(indexGPR, t1);
+ m_jit.zeroExtend32ToWord(indexGPR, t1);
auto baseIndex = JITCompiler::BaseIndex(t2, t1, MacroAssembler::TimesOne);
if (node->op() == DataViewGetInt) {
@@ -5288,7 +5288,7 @@
isLittleEndianOperand.emplace(this, m_graph.varArgChild(node, 3));
GPRReg isLittleEndianGPR = isLittleEndianOperand ? isLittleEndianOperand->gpr() : InvalidGPRReg;
- m_jit.zeroExtend32ToPtr(indexGPR, t2);
+ m_jit.zeroExtend32ToWord(indexGPR, t2);
if (data.byteSize > 1)
m_jit.add64(TrustedImm32(data.byteSize - 1), t2);
m_jit.load32(MacroAssembler::Address(dataViewGPR, JSArrayBufferView::offsetOfLength()), t1);
@@ -5298,7 +5298,7 @@
m_jit.loadPtr(JITCompiler::Address(dataViewGPR, JSArrayBufferView::offsetOfVector()), t2);
cageTypedArrayStorage(dataViewGPR, t2);
- m_jit.zeroExtend32ToPtr(indexGPR, t1);
+ m_jit.zeroExtend32ToWord(indexGPR, t1);
auto baseIndex = JITCompiler::BaseIndex(t2, t1, MacroAssembler::TimesOne);
if (data.isFloatingPoint) {
@@ -5400,7 +5400,7 @@
};
auto emitBigEndianCode = [&] {
- m_jit.zeroExtend32ToPtr(valueGPR, t3);
+ m_jit.zeroExtend32ToWord(valueGPR, t3);
m_jit.byteSwap32(t3);
m_jit.store32(t3, baseIndex);
};
diff --git a/Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp b/Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp
index 270fd4e..573d8df 100644
--- a/Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp
+++ b/Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp
@@ -52,7 +52,7 @@
{
switch (format) {
case DataFormatInt32: {
- jit.zeroExtend32ToPtr(value, value);
+ jit.zeroExtend32ToWord(value, value);
jit.or64(GPRInfo::numberTagRegister, value);
break;
}
@@ -73,7 +73,7 @@
}
case DataFormatBoolean: {
- jit.zeroExtend32ToPtr(value, value);
+ jit.zeroExtend32ToWord(value, value);
jit.or32(MacroAssembler::TrustedImm32(JSValue::ValueFalse), value);
break;
}
diff --git a/Source/JavaScriptCore/jit/AssemblyHelpers.h b/Source/JavaScriptCore/jit/AssemblyHelpers.h
index 194b7e8..9773ed7 100644
--- a/Source/JavaScriptCore/jit/AssemblyHelpers.h
+++ b/Source/JavaScriptCore/jit/AssemblyHelpers.h
@@ -1480,7 +1480,7 @@
Jump done = jump();
isInt32.link(this);
- zeroExtend32ToPtr(source, target);
+ zeroExtend32ToWord(source, target);
or64(GPRInfo::numberTagRegister, target);
done.link(this);
diff --git a/Source/JavaScriptCore/jit/CallFrameShuffler64.cpp b/Source/JavaScriptCore/jit/CallFrameShuffler64.cpp
index fe21c16..be88016 100644
--- a/Source/JavaScriptCore/jit/CallFrameShuffler64.cpp
+++ b/Source/JavaScriptCore/jit/CallFrameShuffler64.cpp
@@ -84,7 +84,7 @@
case DataFormatInt32:
if (verbose)
dataLog(" * Boxing ", cachedRecovery.recovery());
- m_jit.zeroExtend32ToPtr(
+ m_jit.zeroExtend32ToWord(
cachedRecovery.recovery().gpr(),
cachedRecovery.recovery().gpr());
m_lockedRegisters.set(cachedRecovery.recovery().gpr());
diff --git a/Source/JavaScriptCore/jit/JITOpcodes.cpp b/Source/JavaScriptCore/jit/JITOpcodes.cpp
index 8d03d15..96cdead 100644
--- a/Source/JavaScriptCore/jit/JITOpcodes.cpp
+++ b/Source/JavaScriptCore/jit/JITOpcodes.cpp
@@ -1436,7 +1436,7 @@
// size is always less than 4Gb). As such zero extending will have been correct (and extending the value
// to 64-bits is necessary since it's used in the address calculation. We zero extend rather than sign
// extending since it makes it easier to re-tag the value in the slow case.
- zeroExtend32ToPtr(regT1, regT1);
+ zeroExtend32ToWord(regT1, regT1);
emitJumpSlowCaseIfNotJSCell(regT0, base);
emitArrayProfilingSiteWithCell(regT0, regT2, profile);
diff --git a/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp b/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp
index e6f2351..ca086c1 100644
--- a/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp
+++ b/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp
@@ -1215,7 +1215,7 @@
// size is always less than 4Gb). As such zero extending will have been correct (and extending the value
// to 64-bits is necessary since it's used in the address calculation. We zero extend rather than sign
// extending since it makes it easier to re-tag the value in the slow case.
- zeroExtend32ToPtr(regT1, regT1);
+ zeroExtend32ToWord(regT1, regT1);
emitArrayProfilingSiteWithCell(regT0, regT2, profile);
and32(TrustedImm32(IndexingShapeMask), regT2);
diff --git a/Source/JavaScriptCore/jit/JITPropertyAccess.cpp b/Source/JavaScriptCore/jit/JITPropertyAccess.cpp
index 868a1d1..7e09442 100644
--- a/Source/JavaScriptCore/jit/JITPropertyAccess.cpp
+++ b/Source/JavaScriptCore/jit/JITPropertyAccess.cpp
@@ -124,7 +124,7 @@
notIndex = emitPatchableJumpIfNotInt(regT1);
addSlowCase(notIndex);
// See comment in op_get_by_val.
- zeroExtend32ToPtr(regT1, regT1);
+ zeroExtend32ToWord(regT1, regT1);
}
emitArrayProfilingSiteWithCell(regT0, regT2, profile);
diff --git a/Source/JavaScriptCore/jit/JSInterfaceJIT.h b/Source/JavaScriptCore/jit/JSInterfaceJIT.h
index 80152da..7ca1b4e 100644
--- a/Source/JavaScriptCore/jit/JSInterfaceJIT.h
+++ b/Source/JavaScriptCore/jit/JSInterfaceJIT.h
@@ -111,7 +111,7 @@
{
load64(addressFor(virtualRegister), dst);
Jump notInt32 = branchIfNotInt32(dst);
- zeroExtend32ToPtr(dst, dst);
+ zeroExtend32ToWord(dst, dst);
return notInt32;
}
diff --git a/Source/JavaScriptCore/wasm/js/JSToWasm.cpp b/Source/JavaScriptCore/wasm/js/JSToWasm.cpp
index 75bfa94..490fd62 100644
--- a/Source/JavaScriptCore/wasm/js/JSToWasm.cpp
+++ b/Source/JavaScriptCore/wasm/js/JSToWasm.cpp
@@ -49,7 +49,7 @@
jit.move(src.gpr(), dst.payloadGPR());
break;
case Wasm::I32:
- jit.zeroExtend32ToPtr(src.gpr(), dst.payloadGPR());
+ jit.zeroExtend32ToWord(src.gpr(), dst.payloadGPR());
jit.boxInt32(dst.payloadGPR(), dst, DoNotHaveTagRegisters);
break;
case Wasm::F32:
diff --git a/Source/JavaScriptCore/wasm/js/WasmToJS.cpp b/Source/JavaScriptCore/wasm/js/WasmToJS.cpp
index 03abae9..0854336 100644
--- a/Source/JavaScriptCore/wasm/js/WasmToJS.cpp
+++ b/Source/JavaScriptCore/wasm/js/WasmToJS.cpp
@@ -145,7 +145,7 @@
}
++marshalledGPRs;
if (argType == I32) {
- jit.zeroExtend32ToPtr(gprReg, gprReg); // Clear non-int32 and non-tag bits.
+ jit.zeroExtend32ToWord(gprReg, gprReg); // Clear non-int32 and non-tag bits.
jit.boxInt32(gprReg, JSValueRegs(gprReg), DoNotHaveTagRegisters);
}
jit.store64(gprReg, calleeFrame.withOffset(calleeFrameOffset));
@@ -294,7 +294,7 @@
slowPath.append(jit.branchIfNotNumber(GPRInfo::returnValueGPR, DoNotHaveTagRegisters));
slowPath.append(jit.branchIfNotInt32(JSValueRegs(GPRInfo::returnValueGPR), DoNotHaveTagRegisters));
- jit.zeroExtend32ToPtr(GPRInfo::returnValueGPR, dest);
+ jit.zeroExtend32ToWord(GPRInfo::returnValueGPR, dest);
done.append(jit.jump());
slowPath.link(&jit);
diff --git a/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp b/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp
index b1dd3a6..c963b4c 100644
--- a/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp
+++ b/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp
@@ -262,7 +262,7 @@
if (isStack)
jit.store32(scratchGPR, calleeFrame.withOffset(wasmCallInfo.params[i].offsetFromSP()));
else
- jit.zeroExtend32ToPtr(scratchGPR, wasmCallInfo.params[i].gpr());
+ jit.zeroExtend32ToWord(scratchGPR, wasmCallInfo.params[i].gpr());
break;
}
case Wasm::Funcref: {
diff --git a/Source/JavaScriptCore/yarr/YarrJIT.cpp b/Source/JavaScriptCore/yarr/YarrJIT.cpp
index 64dacf224..d297178 100644
--- a/Source/JavaScriptCore/yarr/YarrJIT.cpp
+++ b/Source/JavaScriptCore/yarr/YarrJIT.cpp
@@ -3737,8 +3737,8 @@
push(X86Registers::r15);
}
// The ABI doesn't guarantee the upper bits are zero on unsigned arguments, so clear them ourselves.
- zeroExtend32ToPtr(index, index);
- zeroExtend32ToPtr(length, length);
+ zeroExtend32ToWord(index, index);
+ zeroExtend32ToWord(length, length);
#if OS(WINDOWS)
if (compileMode == IncludeSubpatterns)
loadPtr(Address(X86Registers::ebp, 6 * sizeof(void*)), output);
@@ -3755,8 +3755,8 @@
}
// The ABI doesn't guarantee the upper bits are zero on unsigned arguments, so clear them ourselves.
- zeroExtend32ToPtr(index, index);
- zeroExtend32ToPtr(length, length);
+ zeroExtend32ToWord(index, index);
+ zeroExtend32ToWord(length, length);
#elif CPU(ARM_THUMB2)
push(ARMRegisters::r4);
push(ARMRegisters::r5);