Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (229086 => 229087)
--- trunk/Source/_javascript_Core/ChangeLog 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-02-28 05:41:18 UTC (rev 229087)
@@ -1,3 +1,89 @@
+2018-02-27 Keith Miller <[email protected]>
+
+ Replace TrustedImmPtr(0) with TrustedImmPtr(nullptr)
+ https://bugs.webkit.org/show_bug.cgi?id=183195
+
+ Reviewed by Mark Lam.
+
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::TrustedImmPtr::TrustedImmPtr):
+ * assembler/MacroAssembler.h:
+ (JSC::MacroAssembler::patchableBranchPtr):
+ (JSC::MacroAssembler::patchableBranchPtrWithPatch):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::branchPtrWithPatch):
+ (JSC::MacroAssemblerARM::storePtrWithPatch):
+ * assembler/MacroAssemblerARM64.h:
+ (JSC::MacroAssemblerARM64::call):
+ (JSC::MacroAssemblerARM64::tailRecursiveCall):
+ (JSC::MacroAssemblerARM64::branchPtrWithPatch):
+ (JSC::MacroAssemblerARM64::patchableBranchPtrWithPatch):
+ (JSC::MacroAssemblerARM64::storePtrWithPatch):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::branchPtrWithPatch):
+ (JSC::MacroAssemblerARMv7::patchableBranchPtr):
+ (JSC::MacroAssemblerARMv7::patchableBranchPtrWithPatch):
+ (JSC::MacroAssemblerARMv7::storePtrWithPatch):
+ * assembler/MacroAssemblerMIPS.h:
+ (JSC::MacroAssemblerMIPS::branchPtrWithPatch):
+ (JSC::MacroAssemblerMIPS::storePtrWithPatch):
+ * assembler/MacroAssemblerX86.h:
+ (JSC::MacroAssemblerX86::branchPtrWithPatch):
+ * assembler/MacroAssemblerX86_64.h:
+ (JSC::MacroAssemblerX86_64::callWithSlowPathReturnType):
+ (JSC::MacroAssemblerX86_64::call):
+ (JSC::MacroAssemblerX86_64::tailRecursiveCall):
+ (JSC::MacroAssemblerX86_64::makeTailRecursiveCall):
+ (JSC::MacroAssemblerX86_64::branchPtrWithPatch):
+ * bytecode/AccessCase.cpp:
+ (JSC::AccessCase::generateImpl):
+ * dfg/DFGSpeculativeJIT.cpp:
+ (JSC::DFG::SpeculativeJIT::emitAllocateRawObject):
+ (JSC::DFG::SpeculativeJIT::compileToLowerCase):
+ (JSC::DFG::SpeculativeJIT::compileMakeRope):
+ (JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):
+ (JSC::DFG::SpeculativeJIT::compileNewFunctionCommon):
+ (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments):
+ (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread):
+ (JSC::DFG::SpeculativeJIT::compileArraySlice):
+ (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
+ (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
+ (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize):
+ * dfg/DFGSpeculativeJIT.h:
+ (JSC::DFG::SpeculativeJIT::TrustedImmPtr::TrustedImmPtr):
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+ (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::emitCall):
+ (JSC::DFG::SpeculativeJIT::compile):
+ (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
+ * dfg/DFGThunks.cpp:
+ (JSC::DFG::osrExitGenerationThunkGenerator):
+ * ftl/FTLLowerDFGToB3.cpp:
+ (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct):
+ (JSC::FTL::DFG::LowerDFGToB3::compileTailCall):
+ (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs):
+ * ftl/FTLThunks.cpp:
+ (JSC::FTL::genericGenerationThunkGenerator):
+ * jit/AssemblyHelpers.cpp:
+ (JSC::AssemblyHelpers::debugCall):
+ (JSC::AssemblyHelpers::sanitizeStackInline):
+ * jit/IntrinsicEmitter.cpp:
+ (JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter):
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+ * jit/JITCall32_64.cpp:
+ (JSC::JIT::compileOpCall):
+ * jit/ScratchRegisterAllocator.cpp:
+ (JSC::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBufferForCall):
+ * wasm/js/WasmToJS.cpp:
+ (JSC::Wasm::wasmToJS):
+ * yarr/YarrJIT.cpp:
+ (JSC::Yarr::YarrGenerator::initParenContextFreeList):
+ (JSC::Yarr::YarrGenerator::storeToFrameWithPatch):
+ (JSC::Yarr::YarrGenerator::generate):
+
2018-02-26 Mark Lam <[email protected]>
Modernize FINALIZE_CODE and peer macros to use __VA_ARGS__ arguments.
Modified: trunk/Source/_javascript_Core/assembler/AbstractMacroAssembler.h (229086 => 229087)
--- trunk/Source/_javascript_Core/assembler/AbstractMacroAssembler.h 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/assembler/AbstractMacroAssembler.h 2018-02-28 05:41:18 UTC (rev 229087)
@@ -252,13 +252,10 @@
: m_value(value)
{
}
-
- // This is only here so that TrustedImmPtr(0) does not confuse the C++
- // overload handling rules.
- explicit TrustedImmPtr(int value)
- : m_value(0)
+
+ explicit TrustedImmPtr(std::nullptr_t)
+ : m_value(nullptr)
{
- ASSERT_UNUSED(value, !value);
}
explicit TrustedImmPtr(size_t value)
Modified: trunk/Source/_javascript_Core/assembler/MacroAssembler.h (229086 => 229087)
--- trunk/Source/_javascript_Core/assembler/MacroAssembler.h 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/assembler/MacroAssembler.h 2018-02-28 05:41:18 UTC (rev 229087)
@@ -417,12 +417,12 @@
}
#if !CPU(ARM_THUMB2) && !CPU(ARM64)
- PatchableJump patchableBranchPtr(RelationalCondition cond, Address left, TrustedImmPtr right = TrustedImmPtr(0))
+ PatchableJump patchableBranchPtr(RelationalCondition cond, Address left, TrustedImmPtr right = TrustedImmPtr(nullptr))
{
return PatchableJump(branchPtr(cond, left, right));
}
- PatchableJump patchableBranchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ PatchableJump patchableBranchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
return PatchableJump(branchPtrWithPatch(cond, left, dataLabel, initialRightValue));
}
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h (229086 => 229087)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h 2018-02-28 05:41:18 UTC (rev 229087)
@@ -1149,7 +1149,7 @@
return dataLabel;
}
- Jump branchPtrWithPatch(RelationalCondition cond, RegisterID left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ Jump branchPtrWithPatch(RelationalCondition cond, RegisterID left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
ensureSpace(3 * sizeof(ARMWord), 2 * sizeof(ARMWord));
dataLabel = moveWithPatch(initialRightValue, ARMRegisters::S1);
@@ -1157,7 +1157,7 @@
return jump;
}
- Jump branchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ Jump branchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
load32(left, ARMRegisters::S1);
ensureSpace(3 * sizeof(ARMWord), 2 * sizeof(ARMWord));
@@ -1184,7 +1184,7 @@
DataLabelPtr storePtrWithPatch(ImplicitAddress address)
{
- return storePtrWithPatch(TrustedImmPtr(0), address);
+ return storePtrWithPatch(TrustedImmPtr(nullptr), address);
}
// Floating point operators
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h (229086 => 229087)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h 2018-02-28 05:41:18 UTC (rev 229087)
@@ -3080,7 +3080,7 @@
ALWAYS_INLINE Call call()
{
AssemblerLabel pointerLabel = m_assembler.label();
- moveWithFixedWidth(TrustedImmPtr(0), getCachedDataTempRegisterIDAndInvalidate());
+ moveWithFixedWidth(TrustedImmPtr(nullptr), getCachedDataTempRegisterIDAndInvalidate());
invalidateAllTempRegisters();
m_assembler.blr(dataTempRegister);
AssemblerLabel callLabel = m_assembler.label();
@@ -3166,7 +3166,7 @@
{
// Like a normal call, but don't link.
AssemblerLabel pointerLabel = m_assembler.label();
- moveWithFixedWidth(TrustedImmPtr(0), getCachedDataTempRegisterIDAndInvalidate());
+ moveWithFixedWidth(TrustedImmPtr(nullptr), getCachedDataTempRegisterIDAndInvalidate());
m_assembler.br(dataTempRegister);
AssemblerLabel callLabel = m_assembler.label();
ASSERT_UNUSED(pointerLabel, Assembler::getDifferenceBetweenLabels(callLabel, pointerLabel) == REPATCH_OFFSET_CALL_TO_POINTER);
@@ -3300,7 +3300,7 @@
return label;
}
- ALWAYS_INLINE Jump branchPtrWithPatch(RelationalCondition cond, RegisterID left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ ALWAYS_INLINE Jump branchPtrWithPatch(RelationalCondition cond, RegisterID left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
dataLabel = DataLabelPtr(this);
moveWithPatch(initialRightValue, getCachedDataTempRegisterIDAndInvalidate());
@@ -3307,7 +3307,7 @@
return branch64(cond, left, dataTempRegister);
}
- ALWAYS_INLINE Jump branchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ ALWAYS_INLINE Jump branchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
dataLabel = DataLabelPtr(this);
moveWithPatch(initialRightValue, getCachedDataTempRegisterIDAndInvalidate());
@@ -3369,7 +3369,7 @@
return PatchableJump(result);
}
- PatchableJump patchableBranchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ PatchableJump patchableBranchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
m_makeJumpPatchable = true;
Jump result = branchPtrWithPatch(cond, left, dataLabel, initialRightValue);
@@ -3403,7 +3403,7 @@
ALWAYS_INLINE DataLabelPtr storePtrWithPatch(ImplicitAddress address)
{
- return storePtrWithPatch(TrustedImmPtr(0), address);
+ return storePtrWithPatch(TrustedImmPtr(nullptr), address);
}
static void reemitInitialMoveWithPatch(void* address, void* value)
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.h (229086 => 229087)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.h 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.h 2018-02-28 05:41:18 UTC (rev 229087)
@@ -1875,13 +1875,13 @@
return DataLabelPtr(this);
}
- ALWAYS_INLINE Jump branchPtrWithPatch(RelationalCondition cond, RegisterID left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ ALWAYS_INLINE Jump branchPtrWithPatch(RelationalCondition cond, RegisterID left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
dataLabel = moveWithPatch(initialRightValue, dataTempRegister);
return branch32(cond, left, dataTempRegister);
}
- ALWAYS_INLINE Jump branchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ ALWAYS_INLINE Jump branchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
load32(left, addressTempRegister);
dataLabel = moveWithPatch(initialRightValue, dataTempRegister);
@@ -1895,7 +1895,7 @@
return branch32(cond, addressTempRegister, dataTempRegister);
}
- PatchableJump patchableBranchPtr(RelationalCondition cond, Address left, TrustedImmPtr right = TrustedImmPtr(0))
+ PatchableJump patchableBranchPtr(RelationalCondition cond, Address left, TrustedImmPtr right = TrustedImmPtr(nullptr))
{
m_makeJumpPatchable = true;
Jump result = branch32(cond, left, TrustedImm32(right));
@@ -1927,7 +1927,7 @@
return PatchableJump(result);
}
- PatchableJump patchableBranchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ PatchableJump patchableBranchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
m_makeJumpPatchable = true;
Jump result = branchPtrWithPatch(cond, left, dataLabel, initialRightValue);
@@ -1958,7 +1958,7 @@
store32(dataTempRegister, address);
return label;
}
- ALWAYS_INLINE DataLabelPtr storePtrWithPatch(ImplicitAddress address) { return storePtrWithPatch(TrustedImmPtr(0), address); }
+ ALWAYS_INLINE DataLabelPtr storePtrWithPatch(ImplicitAddress address) { return storePtrWithPatch(TrustedImmPtr(nullptr), address); }
ALWAYS_INLINE Call tailRecursiveCall()
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h (229086 => 229087)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h 2018-02-28 05:41:18 UTC (rev 229087)
@@ -2377,7 +2377,7 @@
return label;
}
- Jump branchPtrWithPatch(RelationalCondition cond, RegisterID left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ Jump branchPtrWithPatch(RelationalCondition cond, RegisterID left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
m_fixedWidth = true;
dataLabel = moveWithPatch(initialRightValue, immTempRegister);
@@ -2386,7 +2386,7 @@
return temp;
}
- Jump branchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ Jump branchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
m_fixedWidth = true;
load32(left, dataTempRegister);
@@ -2417,7 +2417,7 @@
DataLabelPtr storePtrWithPatch(ImplicitAddress address)
{
- return storePtrWithPatch(TrustedImmPtr(0), address);
+ return storePtrWithPatch(TrustedImmPtr(nullptr), address);
}
Call tailRecursiveCall()
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerX86.h (229086 => 229087)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerX86.h 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerX86.h 2018-02-28 05:41:18 UTC (rev 229087)
@@ -259,7 +259,7 @@
return Jump(m_assembler.jCC(x86Condition(cond)));
}
- Jump branchPtrWithPatch(RelationalCondition cond, RegisterID left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ Jump branchPtrWithPatch(RelationalCondition cond, RegisterID left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
padBeforePatch();
m_assembler.cmpl_ir_force32(initialRightValue.asIntptr(), left);
@@ -267,7 +267,7 @@
return Jump(m_assembler.jCC(x86Condition(cond)));
}
- Jump branchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ Jump branchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
padBeforePatch();
m_assembler.cmpl_im_force32(initialRightValue.asIntptr(), left.offset, left.base);
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerX86_64.h (229086 => 229087)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerX86_64.h 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerX86_64.h 2018-02-28 05:41:18 UTC (rev 229087)
@@ -176,7 +176,7 @@
move(X86Registers::esp, X86Registers::ecx);
add64(TrustedImm32(4 * sizeof(int64_t)), X86Registers::ecx);
- DataLabelPtr label = moveWithPatch(TrustedImmPtr(0), scratchRegister());
+ DataLabelPtr label = moveWithPatch(TrustedImmPtr(nullptr), scratchRegister());
Call result = Call(m_assembler.call(scratchRegister()), Call::Linkable);
add64(TrustedImm32(8 * sizeof(int64_t)), X86Registers::esp);
@@ -214,7 +214,7 @@
// In addition, we need to allocate 16 bytes for two more parameters, since the call can have up to 6 parameters.
sub64(TrustedImm32(8 * sizeof(int64_t)), X86Registers::esp);
#endif
- DataLabelPtr label = moveWithPatch(TrustedImmPtr(0), scratchRegister());
+ DataLabelPtr label = moveWithPatch(TrustedImmPtr(nullptr), scratchRegister());
Call result = Call(m_assembler.call(scratchRegister()), Call::Linkable);
#if OS(WINDOWS)
add64(TrustedImm32(8 * sizeof(int64_t)), X86Registers::esp);
@@ -232,7 +232,7 @@
Call tailRecursiveCall()
{
- DataLabelPtr label = moveWithPatch(TrustedImmPtr(0), scratchRegister());
+ DataLabelPtr label = moveWithPatch(TrustedImmPtr(nullptr), scratchRegister());
Jump newJump = Jump(m_assembler.jmp_r(scratchRegister()));
ASSERT_UNUSED(label, differenceBetween(label, newJump) == REPATCH_OFFSET_CALL_R11);
return Call::fromTailJump(newJump);
@@ -241,7 +241,7 @@
Call makeTailRecursiveCall(Jump oldJump)
{
oldJump.link(this);
- DataLabelPtr label = moveWithPatch(TrustedImmPtr(0), scratchRegister());
+ DataLabelPtr label = moveWithPatch(TrustedImmPtr(nullptr), scratchRegister());
Jump newJump = Jump(m_assembler.jmp_r(scratchRegister()));
ASSERT_UNUSED(label, differenceBetween(label, newJump) == REPATCH_OFFSET_CALL_R11);
return Call::fromTailJump(newJump);
@@ -1414,13 +1414,13 @@
return DataLabelPtr(this);
}
- Jump branchPtrWithPatch(RelationalCondition cond, RegisterID left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ Jump branchPtrWithPatch(RelationalCondition cond, RegisterID left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
dataLabel = moveWithPatch(initialRightValue, scratchRegister());
return branch64(cond, left, scratchRegister());
}
- Jump branchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))
+ Jump branchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(nullptr))
{
dataLabel = moveWithPatch(initialRightValue, scratchRegister());
return branch64(cond, left, scratchRegister());
Modified: trunk/Source/_javascript_Core/bytecode/AccessCase.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/bytecode/AccessCase.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/bytecode/AccessCase.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -782,7 +782,7 @@
CCallHelpers::Jump slowCase = jit.branchPtrWithPatch(
CCallHelpers::NotEqual, loadedValueGPR, addressOfLinkFunctionCheck,
- CCallHelpers::TrustedImmPtr(0));
+ CCallHelpers::TrustedImmPtr(nullptr));
fastPathCall = jit.nearCall();
if (m_type == Getter)
@@ -987,7 +987,7 @@
}
for (size_t offset = oldSize; offset < newSize; offset += sizeof(void*))
- jit.storePtr(CCallHelpers::TrustedImmPtr(0), CCallHelpers::Address(scratchGPR, -static_cast<ptrdiff_t>(offset + sizeof(JSValue) + sizeof(void*))));
+ jit.storePtr(CCallHelpers::TrustedImmPtr(nullptr), CCallHelpers::Address(scratchGPR, -static_cast<ptrdiff_t>(offset + sizeof(JSValue) + sizeof(void*))));
} else {
// Handle the case where we are allocating out-of-line using an operation.
RegisterSet extraRegistersToPreserve;
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -111,7 +111,7 @@
size += vectorLength * sizeof(JSValue) + sizeof(IndexingHeader);
size += outOfLineCapacity * sizeof(JSValue);
- m_jit.move(TrustedImmPtr(0), storageGPR);
+ m_jit.move(TrustedImmPtr(nullptr), storageGPR);
if (size) {
if (Allocator allocator = m_jit.vm()->jsValueGigacageAuxiliarySpace.allocatorForNonVirtual(size, AllocatorForMode::AllocatorIfExists)) {
@@ -1589,7 +1589,7 @@
CCallHelpers::JumpList slowPath;
- m_jit.move(TrustedImmPtr(0), indexGPR);
+ m_jit.move(TrustedImmPtr(nullptr), indexGPR);
m_jit.loadPtr(MacroAssembler::Address(stringGPR, JSString::offsetOfValue()), tempGPR);
slowPath.append(m_jit.branchTestPtr(MacroAssembler::Zero, tempGPR));
@@ -4191,11 +4191,11 @@
Allocator allocatorValue = subspaceFor<JSRopeString>(*m_jit.vm())->allocatorForNonVirtual(sizeof(JSRopeString), AllocatorForMode::AllocatorIfExists);
emitAllocateJSCell(resultGPR, JITAllocator::constant(allocatorValue), allocatorGPR, TrustedImmPtr(m_jit.graph().registerStructure(m_jit.vm()->stringStructure.get())), scratchGPR, slowPath);
- m_jit.storePtr(TrustedImmPtr(0), JITCompiler::Address(resultGPR, JSString::offsetOfValue()));
+ m_jit.storePtr(TrustedImmPtr(nullptr), JITCompiler::Address(resultGPR, JSString::offsetOfValue()));
for (unsigned i = 0; i < numOpGPRs; ++i)
m_jit.storePtr(opGPRs[i], JITCompiler::Address(resultGPR, JSRopeString::offsetOfFibers() + sizeof(WriteBarrier<JSString>) * i));
for (unsigned i = numOpGPRs; i < JSRopeString::s_maxInternalRopeLength; ++i)
- m_jit.storePtr(TrustedImmPtr(0), JITCompiler::Address(resultGPR, JSRopeString::offsetOfFibers() + sizeof(WriteBarrier<JSString>) * i));
+ m_jit.storePtr(TrustedImmPtr(nullptr), JITCompiler::Address(resultGPR, JSRopeString::offsetOfFibers() + sizeof(WriteBarrier<JSString>) * i));
m_jit.load32(JITCompiler::Address(opGPRs[0], JSString::offsetOfFlags()), scratchGPR);
m_jit.load32(JITCompiler::Address(opGPRs[0], JSString::offsetOfLength()), allocatorGPR);
if (!ASSERT_DISABLED) {
@@ -6403,7 +6403,7 @@
JITCompiler::Jump done = m_jit.jump();
emptyByteOffset.link(&m_jit);
- m_jit.move(TrustedImmPtr(0), vectorGPR);
+ m_jit.move(TrustedImmPtr(nullptr), vectorGPR);
done.link(&m_jit);
nullVector.link(&m_jit);
@@ -6707,7 +6707,7 @@
m_jit.storePtr(scopeGPR, JITCompiler::Address(resultGPR, JSFunction::offsetOfScopeChain()));
m_jit.storePtr(TrustedImmPtr::weakPoisonedPointer<JSFunctionPoison>(m_jit.graph(), executable), JITCompiler::Address(resultGPR, JSFunction::offsetOfExecutable()));
- m_jit.storePtr(TrustedImmPtr(0), JITCompiler::Address(resultGPR, JSFunction::offsetOfRareData()));
+ m_jit.storePtr(TrustedImmPtr(nullptr), JITCompiler::Address(resultGPR, JSFunction::offsetOfRareData()));
m_jit.mutatorFence(*m_jit.vm());
}
@@ -7029,10 +7029,10 @@
JITCompiler::Address(resultGPR, DirectArguments::offsetOfMinCapacity()));
m_jit.storePtr(
- TrustedImmPtr(0), JITCompiler::Address(resultGPR, DirectArguments::offsetOfMappedArguments()));
+ TrustedImmPtr(nullptr), JITCompiler::Address(resultGPR, DirectArguments::offsetOfMappedArguments()));
m_jit.storePtr(
- TrustedImmPtr(0), JITCompiler::Address(resultGPR, DirectArguments::offsetOfModifiedArgumentsDescriptor()));
+ TrustedImmPtr(nullptr), JITCompiler::Address(resultGPR, DirectArguments::offsetOfModifiedArgumentsDescriptor()));
if (lengthIsKnown) {
addSlowPathGenerator(
@@ -7516,7 +7516,7 @@
{
GPRTemporary scratch(this);
m_jit.move(TrustedImmPtr(scratchBuffer->addressOfActiveLength()), scratch.gpr());
- m_jit.storePtr(TrustedImmPtr(0), MacroAssembler::Address(scratch.gpr()));
+ m_jit.storePtr(TrustedImmPtr(nullptr), MacroAssembler::Address(scratch.gpr()));
}
cellResult(resultGPR, node);
@@ -7653,7 +7653,7 @@
done.link(&m_jit);
MacroAssembler::JumpList slowCases;
- m_jit.move(TrustedImmPtr(0), storageResultGPR);
+ m_jit.move(TrustedImmPtr(nullptr), storageResultGPR);
// Enable the fast case on 64-bit platforms, where a sufficient amount of GP registers should be available.
// Other platforms could support the same approach with custom code, but that is not currently worth the extra code maintenance.
if (is64Bit()) {
@@ -7689,7 +7689,7 @@
GPRTemporary temp5(this);
GPRReg storeIndex = temp5.gpr();
- m_jit.move(TrustedImmPtr(0), storeIndex);
+ m_jit.move(TrustedImmPtr(nullptr), storeIndex);
GPRTemporary temp2(this);
GPRReg resultButterfly = temp2.gpr();
@@ -8428,7 +8428,7 @@
m_jit.addPtr(JITCompiler::TrustedImm32(size + sizeof(IndexingHeader)), scratchGPR1);
for (ptrdiff_t offset = 0; offset < static_cast<ptrdiff_t>(size); offset += sizeof(void*))
- m_jit.storePtr(TrustedImmPtr(0), JITCompiler::Address(scratchGPR1, -(offset + sizeof(JSValue) + sizeof(void*))));
+ m_jit.storePtr(TrustedImmPtr(nullptr), JITCompiler::Address(scratchGPR1, -(offset + sizeof(JSValue) + sizeof(void*))));
addSlowPathGenerator(
slowPathCall(slowPath, this, operationAllocateSimplePropertyStorageWithInitialCapacity, scratchGPR1));
@@ -8475,7 +8475,7 @@
m_jit.addPtr(JITCompiler::TrustedImm32(newSize + sizeof(IndexingHeader)), scratchGPR1);
for (ptrdiff_t offset = oldSize; offset < static_cast<ptrdiff_t>(newSize); offset += sizeof(void*))
- m_jit.storePtr(TrustedImmPtr(0), JITCompiler::Address(scratchGPR1, -(offset + sizeof(JSValue) + sizeof(void*))));
+ m_jit.storePtr(TrustedImmPtr(nullptr), JITCompiler::Address(scratchGPR1, -(offset + sizeof(JSValue) + sizeof(void*))));
addSlowPathGenerator(
slowPathCall(slowPath, this, operationAllocateSimplePropertyStorage, scratchGPR1, newSize / sizeof(JSValue)));
@@ -9019,7 +9019,7 @@
JITCompiler::JumpList slowCases;
- m_jit.move(TrustedImmPtr(0), storageGPR);
+ m_jit.move(TrustedImmPtr(nullptr), storageGPR);
slowCases.append(m_jit.branch32(
MacroAssembler::Above, sizeGPR, TrustedImm32(JSArrayBufferView::fastSizeLimit)));
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h (229086 => 229087)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2018-02-28 05:41:18 UTC (rev 229087)
@@ -128,16 +128,8 @@
: m_value(structure.get())
{ }
- // This is only here so that TrustedImmPtr(0) does not confuse the C++
- // overload handling rules.
- explicit TrustedImmPtr(int value)
- : m_value(value)
- {
- ASSERT(!value);
- }
-
explicit TrustedImmPtr(std::nullptr_t)
- : m_value(0)
+ : m_value(nullptr)
{ }
explicit TrustedImmPtr(FrozenValue* value)
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -3675,7 +3675,7 @@
GPRTemporary scratch(this);
m_jit.move(TrustedImmPtr(scratchBuffer->addressOfActiveLength()), scratch.gpr());
- m_jit.storePtr(TrustedImmPtr(0), scratch.gpr());
+ m_jit.storePtr(TrustedImmPtr(nullptr), scratch.gpr());
}
cellResult(result.gpr(), node, UseChildrenCalledExplicitly);
@@ -5277,7 +5277,7 @@
GPRReg scratchGPR = scratch.gpr();
GPRReg scratch2GPR = scratch2.gpr();
- m_jit.move(TrustedImmPtr(0), storageGPR);
+ m_jit.move(TrustedImmPtr(nullptr), storageGPR);
MacroAssembler::JumpList slowCases;
if (shouldConvertLargeSizeToArrayStorage)
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -1029,7 +1029,7 @@
m_jit.emitStoreCallSiteIndex(callSite);
JITCompiler::DataLabelPtr targetToCheck;
- JITCompiler::Jump slowPath = m_jit.branchPtrWithPatch(MacroAssembler::NotEqual, calleeGPR, targetToCheck, TrustedImmPtr(0));
+ JITCompiler::Jump slowPath = m_jit.branchPtrWithPatch(MacroAssembler::NotEqual, calleeGPR, targetToCheck, TrustedImmPtr(nullptr));
if (isTail) {
if (node->op() == TailCall) {
@@ -3879,7 +3879,7 @@
GPRTemporary scratch(this);
m_jit.move(TrustedImmPtr(scratchBuffer->addressOfActiveLength()), scratch.gpr());
- m_jit.storePtr(TrustedImmPtr(0), scratch.gpr());
+ m_jit.storePtr(TrustedImmPtr(nullptr), scratch.gpr());
}
cellResult(result.gpr(), node, UseChildrenCalledExplicitly);
@@ -5847,7 +5847,7 @@
GPRReg scratchGPR = scratch.gpr();
GPRReg scratch2GPR = scratch2.gpr();
- m_jit.move(TrustedImmPtr(0), storageGPR);
+ m_jit.move(TrustedImmPtr(nullptr), storageGPR);
MacroAssembler::JumpList slowCases;
if (shouldConvertLargeSizeToArrayStorage)
Modified: trunk/Source/_javascript_Core/dfg/DFGThunks.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/dfg/DFGThunks.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/dfg/DFGThunks.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -85,7 +85,7 @@
MacroAssembler::Call functionCall = jit.call();
jit.move(MacroAssembler::TrustedImmPtr(scratchBuffer->addressOfActiveLength()), GPRInfo::regT0);
- jit.storePtr(MacroAssembler::TrustedImmPtr(0), MacroAssembler::Address(GPRInfo::regT0));
+ jit.storePtr(MacroAssembler::TrustedImmPtr(nullptr), MacroAssembler::Address(GPRInfo::regT0));
for (unsigned i = 0; i < FPRInfo::numberOfRegisters; ++i) {
jit.move(MacroAssembler::TrustedImmPtr(buffer + GPRInfo::numberOfRegisters + i), GPRInfo::regT0);
Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -7118,7 +7118,7 @@
CCallHelpers::DataLabelPtr targetToCheck;
CCallHelpers::Jump slowPath = jit.branchPtrWithPatch(
CCallHelpers::NotEqual, GPRInfo::regT0, targetToCheck,
- CCallHelpers::TrustedImmPtr(0));
+ CCallHelpers::TrustedImmPtr(nullptr));
CCallHelpers::Call fastCall = jit.nearCall();
CCallHelpers::Jump done = jit.jump();
@@ -7438,7 +7438,7 @@
CCallHelpers::DataLabelPtr targetToCheck;
CCallHelpers::Jump slowPath = jit.branchPtrWithPatch(
CCallHelpers::NotEqual, GPRInfo::regT0, targetToCheck,
- CCallHelpers::TrustedImmPtr(0));
+ CCallHelpers::TrustedImmPtr(nullptr));
callLinkInfo->setFrameShuffleData(shuffleData);
CallFrameShuffler(jit, shuffleData).prepareForTailCall();
@@ -8008,7 +8008,7 @@
CCallHelpers::DataLabelPtr targetToCheck;
CCallHelpers::Jump slowPath = jit.branchPtrWithPatch(
CCallHelpers::NotEqual, GPRInfo::regT0, targetToCheck,
- CCallHelpers::TrustedImmPtr(0));
+ CCallHelpers::TrustedImmPtr(nullptr));
CCallHelpers::Call fastCall;
CCallHelpers::Jump done;
Modified: trunk/Source/_javascript_Core/ftl/FTLThunks.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/ftl/FTLThunks.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/ftl/FTLThunks.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -97,7 +97,7 @@
// Make sure we tell the GC that we're not using the scratch buffer anymore.
jit.move(MacroAssembler::TrustedImmPtr(scratchBuffer->addressOfActiveLength()), GPRInfo::regT1);
- jit.storePtr(MacroAssembler::TrustedImmPtr(0), GPRInfo::regT1);
+ jit.storePtr(MacroAssembler::TrustedImmPtr(nullptr), GPRInfo::regT1);
// Prepare for tail call.
while (numberOfRequiredPops--)
Modified: trunk/Source/_javascript_Core/jit/AssemblyHelpers.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/jit/AssemblyHelpers.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/jit/AssemblyHelpers.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -944,7 +944,7 @@
call(scratch);
move(TrustedImmPtr(scratchBuffer->addressOfActiveLength()), GPRInfo::regT0);
- storePtr(TrustedImmPtr(0), GPRInfo::regT0);
+ storePtr(TrustedImmPtr(nullptr), GPRInfo::regT0);
for (unsigned i = 0; i < FPRInfo::numberOfRegisters; ++i) {
move(TrustedImmPtr(buffer + GPRInfo::numberOfRegisters + i), GPRInfo::regT0);
@@ -987,7 +987,7 @@
loadPtr(vm.addressOfLastStackTop(), scratch);
Jump done = branchPtr(BelowOrEqual, stackPointerRegister, scratch);
Label loop = label();
- storePtr(TrustedImmPtr(0), scratch);
+ storePtr(TrustedImmPtr(nullptr), scratch);
addPtr(TrustedImmPtr(sizeof(void*)), scratch);
branchPtr(Above, stackPointerRegister, scratch).linkTo(loop, this);
done.link(this);
Modified: trunk/Source/_javascript_Core/jit/IntrinsicEmitter.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/jit/IntrinsicEmitter.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/jit/IntrinsicEmitter.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -112,7 +112,7 @@
MacroAssembler::Address(baseGPR, JSArrayBufferView::offsetOfMode()),
TrustedImm32(WastefulTypedArray));
- jit.move(TrustedImmPtr(0), valueGPR);
+ jit.move(TrustedImmPtr(nullptr), valueGPR);
CCallHelpers::Jump done = jit.jump();
notEmptyByteOffset.link(&jit);
Modified: trunk/Source/_javascript_Core/jit/JITCall.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/jit/JITCall.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/jit/JITCall.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -188,7 +188,7 @@
}
DataLabelPtr addressOfLinkedFunctionCheck;
- Jump slowCase = branchPtrWithPatch(NotEqual, regT0, addressOfLinkedFunctionCheck, TrustedImmPtr(0));
+ Jump slowCase = branchPtrWithPatch(NotEqual, regT0, addressOfLinkedFunctionCheck, TrustedImmPtr(nullptr));
addSlowCase(slowCase);
ASSERT(m_callCompilationInfo.size() == callLinkInfoIndex);
Modified: trunk/Source/_javascript_Core/jit/JITCall32_64.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/jit/JITCall32_64.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/jit/JITCall32_64.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -278,7 +278,7 @@
addSlowCase(branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag)));
DataLabelPtr addressOfLinkedFunctionCheck;
- Jump slowCase = branchPtrWithPatch(NotEqual, regT0, addressOfLinkedFunctionCheck, TrustedImmPtr(0));
+ Jump slowCase = branchPtrWithPatch(NotEqual, regT0, addressOfLinkedFunctionCheck, TrustedImmPtr(nullptr));
addSlowCase(slowCase);
Modified: trunk/Source/_javascript_Core/jit/ScratchRegisterAllocator.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/jit/ScratchRegisterAllocator.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/jit/ScratchRegisterAllocator.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -211,7 +211,7 @@
RELEASE_ASSERT(scratchGPR != InvalidGPRReg);
jit.move(MacroAssembler::TrustedImmPtr(scratchBuffer->addressOfActiveLength()), scratchGPR);
- jit.storePtr(MacroAssembler::TrustedImmPtr(0), scratchGPR);
+ jit.storePtr(MacroAssembler::TrustedImmPtr(nullptr), scratchGPR);
// Restore double registers first.
unsigned count = usedRegisters.numberOfSetGPRs();
Modified: trunk/Source/_javascript_Core/wasm/js/WasmToJS.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/wasm/js/WasmToJS.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/wasm/js/WasmToJS.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -224,7 +224,7 @@
if (argCount) {
// The GC should not look at this buffer at all, these aren't JSValues.
jit.move(CCallHelpers::TrustedImmPtr(scratchBuffer->addressOfActiveLength()), GPRInfo::argumentGPR0);
- jit.storePtr(CCallHelpers::TrustedImmPtr(0), GPRInfo::argumentGPR0);
+ jit.storePtr(CCallHelpers::TrustedImmPtr(nullptr), GPRInfo::argumentGPR0);
}
uint64_t (*callFunc)(ExecState*, JSObject*, SignatureIndex, uint64_t*) =
@@ -505,7 +505,7 @@
CallLinkInfo* callLinkInfo = callLinkInfos.add();
callLinkInfo->setUpCall(CallLinkInfo::Call, CodeOrigin(), importJSCellGPRReg);
JIT::DataLabelPtr targetToCheck;
- JIT::TrustedImmPtr initialRightValue(0);
+ JIT::TrustedImmPtr initialRightValue(nullptr);
JIT::Jump slowPath = jit.branchPtrWithPatch(MacroAssembler::NotEqual, importJSCellGPRReg, targetToCheck, initialRightValue);
JIT::Call fastCall = jit.nearCall();
JIT::Jump done = jit.jump();
Modified: trunk/Source/_javascript_Core/yarr/YarrJIT.cpp (229086 => 229087)
--- trunk/Source/_javascript_Core/yarr/YarrJIT.cpp 2018-02-28 02:28:15 UTC (rev 229086)
+++ trunk/Source/_javascript_Core/yarr/YarrJIT.cpp 2018-02-28 05:41:18 UTC (rev 229087)
@@ -246,7 +246,7 @@
jump(loopTop);
initDone.link(this);
- storePtr(TrustedImmPtr(0), Address(parenContextPointer, ParenContext::nextOffset()));
+ storePtr(TrustedImmPtr(nullptr), Address(parenContextPointer, ParenContext::nextOffset()));
emptyFreeList.link(this);
}
@@ -594,7 +594,7 @@
DataLabelPtr storeToFrameWithPatch(unsigned frameLocation)
{
- return storePtrWithPatch(TrustedImmPtr(0), Address(stackPointerRegister, frameLocation * sizeof(void*)));
+ return storePtrWithPatch(TrustedImmPtr(nullptr), Address(stackPointerRegister, frameLocation * sizeof(void*)));
}
void loadFromFrame(unsigned frameLocation, RegisterID reg)
@@ -2193,7 +2193,7 @@
// FIXME: for capturing parens, could use the index in the capture array?
if (term->quantityType == QuantifierGreedy || term->quantityType == QuantifierNonGreedy) {
storeToFrame(TrustedImm32(0), parenthesesFrameLocation + BackTrackInfoParentheses::matchAmountIndex());
- storeToFrame(TrustedImmPtr(0), parenthesesFrameLocation + BackTrackInfoParentheses::parenContextHeadIndex());
+ storeToFrame(TrustedImmPtr(nullptr), parenthesesFrameLocation + BackTrackInfoParentheses::parenContextHeadIndex());
if (term->quantityType == QuantifierNonGreedy) {
storeToFrame(TrustedImm32(-1), parenthesesFrameLocation + BackTrackInfoParentheses::beginIndex());