Diff
Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/ChangeLog (184533 => 184534)
--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/ChangeLog 2015-05-19 01:06:06 UTC (rev 184533)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/ChangeLog 2015-05-19 01:06:33 UTC (rev 184534)
@@ -1,5 +1,27 @@
2015-05-18 Matthew Hanson <[email protected]>
+ Merge r184397. rdar://problem/20979071
+
+ 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-18 Matthew Hanson <[email protected]>
+
Merge r184367. rdar://problem/20979071
2015-05-14 Filip Pizlo <[email protected]>
Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (184533 => 184534)
--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2015-05-19 01:06:06 UTC (rev 184533)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2015-05-19 01:06:33 UTC (rev 184534)
@@ -6104,42 +6104,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: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h (184533 => 184534)
--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2015-05-19 01:06:06 UTC (rev 184533)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2015-05-19 01:06:33 UTC (rev 184534)
@@ -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: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (184533 => 184534)
--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2015-05-19 01:06:06 UTC (rev 184533)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2015-05-19 01:06:33 UTC (rev 184534)
@@ -4628,20 +4628,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: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp (184533 => 184534)
--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2015-05-19 01:06:06 UTC (rev 184533)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2015-05-19 01:06:33 UTC (rev 184534)
@@ -4724,20 +4724,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)