Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (184396 => 184397)
--- trunk/Source/_javascript_Core/ChangeLog 2015-05-15 17:58:26 UTC (rev 184396)
+++ trunk/Source/_javascript_Core/ChangeLog 2015-05-15 18:09:07 UTC (rev 184397)
@@ -1,3 +1,21 @@
+2015-05-14 Filip Pizlo <[email protected]>
+
+ Remove unused constant-base and constant-value store barrier code in the DFG
+ https://bugs.webkit.org/show_bug.cgi?id=145039
+
+ Reviewed by Andreas Kling.
+
+ Just killing dead code.
+
+ * dfg/DFGSpeculativeJIT.cpp:
+ (JSC::DFG::SpeculativeJIT::storeToWriteBarrierBuffer): Deleted.
+ (JSC::DFG::SpeculativeJIT::writeBarrier): Deleted.
+ * dfg/DFGSpeculativeJIT.h:
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::writeBarrier):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::writeBarrier):
+
2015-05-15 Alexandr Skachkov <[email protected]>
Fix typo in function name parseFunctionParamters -> parseFunctionParameters
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (184396 => 184397)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2015-05-15 17:58:26 UTC (rev 184396)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2015-05-15 18:09:07 UTC (rev 184397)
@@ -6145,42 +6145,6 @@
done.link(&m_jit);
}
-void SpeculativeJIT::storeToWriteBarrierBuffer(JSCell* cell, GPRReg scratch1, GPRReg scratch2)
-{
- ASSERT(scratch1 != scratch2);
- WriteBarrierBuffer* writeBarrierBuffer = &m_jit.vm()->heap.m_writeBarrierBuffer;
- m_jit.move(TrustedImmPtr(writeBarrierBuffer), scratch1);
- m_jit.load32(MacroAssembler::Address(scratch1, WriteBarrierBuffer::currentIndexOffset()), scratch2);
- JITCompiler::Jump needToFlush = m_jit.branch32(MacroAssembler::AboveOrEqual, scratch2, MacroAssembler::Address(scratch1, WriteBarrierBuffer::capacityOffset()));
-
- m_jit.add32(TrustedImm32(1), scratch2);
- m_jit.store32(scratch2, MacroAssembler::Address(scratch1, WriteBarrierBuffer::currentIndexOffset()));
-
- m_jit.loadPtr(MacroAssembler::Address(scratch1, WriteBarrierBuffer::bufferOffset()), scratch1);
- // We use an offset of -sizeof(void*) because we already added 1 to scratch2.
- m_jit.storePtr(TrustedImmPtr(cell), MacroAssembler::BaseIndex(scratch1, scratch2, MacroAssembler::ScalePtr, static_cast<int32_t>(-sizeof(void*))));
-
- JITCompiler::Jump done = m_jit.jump();
- needToFlush.link(&m_jit);
-
- // Call C slow path
- silentSpillAllRegisters(InvalidGPRReg);
- callOperation(operationFlushWriteBarrierBuffer, cell);
- silentFillAllRegisters(InvalidGPRReg);
-
- done.link(&m_jit);
-}
-
-void SpeculativeJIT::writeBarrier(GPRReg ownerGPR, JSCell* value, GPRReg scratch1, GPRReg scratch2)
-{
- if (Heap::isMarked(value))
- return;
-
- JITCompiler::Jump ownerIsRememberedOrInEden = m_jit.jumpIfIsRememberedOrInEden(ownerGPR);
- storeToWriteBarrierBuffer(ownerGPR, scratch1, scratch2);
- ownerIsRememberedOrInEden.link(&m_jit);
-}
-
void SpeculativeJIT::writeBarrier(GPRReg ownerGPR, GPRReg scratch1, GPRReg scratch2)
{
JITCompiler::Jump ownerIsRememberedOrInEden = m_jit.jumpIfIsRememberedOrInEden(ownerGPR);
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h (184396 => 184397)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2015-05-15 17:58:26 UTC (rev 184396)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2015-05-15 18:09:07 UTC (rev 184397)
@@ -294,10 +294,8 @@
void storeToWriteBarrierBuffer(JSCell*, GPRReg scratch1, GPRReg scratch2);
void writeBarrier(GPRReg owner, GPRReg scratch1, GPRReg scratch2);
- void writeBarrier(GPRReg owner, JSCell* value, GPRReg scratch1, GPRReg scratch2);
void writeBarrier(GPRReg owner, GPRReg value, Edge valueUse, GPRReg scratch1, GPRReg scratch2);
- void writeBarrier(JSCell* owner, GPRReg value, Edge valueUse, GPRReg scratch1, GPRReg scratch2);
#endif
void compileStoreBarrier(Node*);
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (184396 => 184397)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2015-05-15 17:58:26 UTC (rev 184396)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2015-05-15 18:09:07 UTC (rev 184397)
@@ -4657,20 +4657,6 @@
if (!isKnownCell(valueUse.node()))
isNotCell.link(&m_jit);
}
-
-void SpeculativeJIT::writeBarrier(JSCell* owner, GPRReg valueTagGPR, Edge valueUse, GPRReg scratch1, GPRReg scratch2)
-{
- JITCompiler::Jump isNotCell;
- if (!isKnownCell(valueUse.node()))
- isNotCell = m_jit.branch32(JITCompiler::NotEqual, valueTagGPR, JITCompiler::TrustedImm32(JSValue::CellTag));
-
- JITCompiler::Jump ownerIsRememberedOrInEden = m_jit.jumpIfIsRememberedOrInEden(owner);
- storeToWriteBarrierBuffer(owner, scratch1, scratch2);
- ownerIsRememberedOrInEden.link(&m_jit);
-
- if (!isKnownCell(valueUse.node()))
- isNotCell.link(&m_jit);
-}
#endif // ENABLE(GGC)
void SpeculativeJIT::moveTrueTo(GPRReg gpr)
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp (184396 => 184397)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2015-05-15 17:58:26 UTC (rev 184396)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2015-05-15 18:09:07 UTC (rev 184397)
@@ -4738,20 +4738,6 @@
if (!isKnownCell(valueUse.node()))
isNotCell.link(&m_jit);
}
-
-void SpeculativeJIT::writeBarrier(JSCell* owner, GPRReg valueGPR, Edge valueUse, GPRReg scratch1, GPRReg scratch2)
-{
- JITCompiler::Jump isNotCell;
- if (!isKnownCell(valueUse.node()))
- isNotCell = m_jit.branchIfNotCell(JSValueRegs(valueGPR));
-
- JITCompiler::Jump ownerIsRememberedOrInEden = m_jit.jumpIfIsRememberedOrInEden(owner);
- storeToWriteBarrierBuffer(owner, scratch1, scratch2);
- ownerIsRememberedOrInEden.link(&m_jit);
-
- if (!isKnownCell(valueUse.node()))
- isNotCell.link(&m_jit);
-}
#endif // ENABLE(GGC)
void SpeculativeJIT::moveTrueTo(GPRReg gpr)