Title: [184499] branches/safari-601.1.32.2-branch/Source/_javascript_Core

Diff

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/ChangeLog (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/ChangeLog	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/ChangeLog	2015-05-18 17:01:29 UTC (rev 184499)
@@ -1,5 +1,48 @@
 2015-05-18  Matthew Hanson  <[email protected]>
 
+        Merge r184368. rdar://problem/20979071
+
+    2015-05-14  Filip Pizlo  <[email protected]>
+
+            Remove StoreBarrierWithNullCheck, nobody ever generates this.
+
+            Rubber stamped by Benjamin Poulain and Michael Saboff.
+
+            If we did bring something like this back in the future, we would just use UntypedUse instead
+            of CellUse to indicate that this is what we want.
+
+            * dfg/DFGAbstractInterpreterInlines.h:
+            (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
+            * dfg/DFGClobberize.h:
+            (JSC::DFG::clobberize):
+            * dfg/DFGDoesGC.cpp:
+            (JSC::DFG::doesGC):
+            * dfg/DFGFixupPhase.cpp:
+            (JSC::DFG::FixupPhase::fixupNode):
+            * dfg/DFGNode.h:
+            (JSC::DFG::Node::isStoreBarrier):
+            * dfg/DFGNodeType.h:
+            * dfg/DFGObjectAllocationSinkingPhase.cpp:
+            (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
+            (JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
+            * dfg/DFGPredictionPropagationPhase.cpp:
+            (JSC::DFG::PredictionPropagationPhase::propagate):
+            * dfg/DFGSafeToExecute.h:
+            (JSC::DFG::safeToExecute):
+            * dfg/DFGSpeculativeJIT.cpp:
+            (JSC::DFG::SpeculativeJIT::compileStoreBarrier):
+            * dfg/DFGSpeculativeJIT32_64.cpp:
+            (JSC::DFG::SpeculativeJIT::compile):
+            * dfg/DFGSpeculativeJIT64.cpp:
+            (JSC::DFG::SpeculativeJIT::compile):
+            * ftl/FTLCapabilities.cpp:
+            (JSC::FTL::canCompile):
+            * ftl/FTLLowerDFGToLLVM.cpp:
+            (JSC::FTL::LowerDFGToLLVM::compileNode):
+            (JSC::FTL::LowerDFGToLLVM::compileStoreBarrierWithNullCheck): Deleted.
+
+2015-05-18  Matthew Hanson  <[email protected]>
+
         Merge r184289. rdar://problem/18717477
 
     2015-05-13  Michael Saboff  <[email protected]>

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h	2015-05-18 17:01:29 UTC (rev 184499)
@@ -2235,10 +2235,6 @@
         break;
     }
 
-    case StoreBarrierWithNullCheck: {
-        break;
-    }
-
     case CheckTierUpAndOSREnter:
     case LoopHint:
     case ZombieHint:

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGClobberize.h (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGClobberize.h	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGClobberize.h	2015-05-18 17:01:29 UTC (rev 184499)
@@ -292,7 +292,6 @@
     case ProfileType:
     case ProfileControlFlow:
     case StoreBarrier:
-    case StoreBarrierWithNullCheck:
     case PutHint:
         write(SideState);
         return;

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGDoesGC.cpp (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGDoesGC.cpp	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGDoesGC.cpp	2015-05-18 17:01:29 UTC (rev 184499)
@@ -160,7 +160,6 @@
     case CheckTierUpAndOSREnter:
     case LoopHint:
     case StoreBarrier:
-    case StoreBarrierWithNullCheck:
     case InvalidationPoint:
     case NotifyWrite:
     case CheckInBounds:

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGFixupPhase.cpp (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGFixupPhase.cpp	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGFixupPhase.cpp	2015-05-18 17:01:29 UTC (rev 184499)
@@ -1235,7 +1235,6 @@
         case ExtractOSREntryLocal:
         case LoopHint:
         case StoreBarrier:
-        case StoreBarrierWithNullCheck:
         case MovHint:
         case ZombieHint:
         case BottomValue:

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGNode.h (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGNode.h	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGNode.h	2015-05-18 17:01:29 UTC (rev 184499)
@@ -830,13 +830,7 @@
 
     bool isStoreBarrier()
     {
-        switch (op()) {
-        case StoreBarrier:
-        case StoreBarrierWithNullCheck:
-            return true;
-        default:
-            return false;
-        }
+        return op() == StoreBarrier;
     }
 
     bool hasIdentifier()

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGNodeType.h (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGNodeType.h	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGNodeType.h	2015-05-18 17:01:29 UTC (rev 184499)
@@ -322,7 +322,6 @@
     macro(CheckWatchdogTimer, NodeMustGenerate) \
     /* Write barriers ! */\
     macro(StoreBarrier, NodeMustGenerate) \
-    macro(StoreBarrierWithNullCheck, NodeMustGenerate) \
     \
     /* For-in enumeration opcodes */\
     macro(GetEnumerableLength, NodeMustGenerate | NodeResultJS) \

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGObjectAllocationSinkingPhase.cpp (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGObjectAllocationSinkingPhase.cpp	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGObjectAllocationSinkingPhase.cpp	2015-05-18 17:01:29 UTC (rev 184499)
@@ -610,8 +610,7 @@
                     break;
                 }
 
-                case StoreBarrier:
-                case StoreBarrierWithNullCheck: {
+                case StoreBarrier: {
                     Node* target = node->child1().node();
                     if (m_sinkCandidates.contains(target)) {
                         ASSERT(target->isPhantomAllocation());
@@ -849,7 +848,6 @@
         case Check:
         case PutHint:
         case StoreBarrier:
-        case StoreBarrierWithNullCheck:
             break;
 
         case PutStructure:

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp	2015-05-18 17:01:29 UTC (rev 184499)
@@ -610,7 +610,6 @@
 #ifndef NDEBUG
         // These get ignored because they don't return anything.
         case StoreBarrier:
-        case StoreBarrierWithNullCheck:
         case PutByValDirect:
         case PutByVal:
         case PutClosureVar:

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSafeToExecute.h (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSafeToExecute.h	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSafeToExecute.h	2015-05-18 17:01:29 UTC (rev 184499)
@@ -247,7 +247,6 @@
     case CheckTierUpAndOSREnter:
     case LoopHint:
     case StoreBarrier:
-    case StoreBarrierWithNullCheck:
     case InvalidationPoint:
     case NotifyWrite:
     case CheckInBounds:

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp	2015-05-18 17:01:29 UTC (rev 184499)
@@ -6068,37 +6068,14 @@
 #if ENABLE(GGC)
 void SpeculativeJIT::compileStoreBarrier(Node* node)
 {
-    switch (node->op()) {
-    case StoreBarrier: {
-        SpeculateCellOperand base(this, node->child1());
-        GPRTemporary scratch1(this);
-        GPRTemporary scratch2(this);
+    ASSERT(node->op() == StoreBarrier);
     
-        writeBarrier(base.gpr(), scratch1.gpr(), scratch2.gpr());
-        break;
-    }
-
-    case StoreBarrierWithNullCheck: {
-        JSValueOperand base(this, node->child1());
-        GPRTemporary scratch1(this);
-        GPRTemporary scratch2(this);
+    SpeculateCellOperand base(this, node->child1());
+    GPRTemporary scratch1(this);
+    GPRTemporary scratch2(this);
     
-#if USE(JSVALUE64)
-        JITCompiler::Jump isNull = m_jit.branchTest64(JITCompiler::Zero, base.gpr());
-        writeBarrier(base.gpr(), scratch1.gpr(), scratch2.gpr());
-#else
-        JITCompiler::Jump isNull = m_jit.branch32(JITCompiler::Equal, base.tagGPR(), TrustedImm32(JSValue::EmptyValueTag));
-        writeBarrier(base.payloadGPR(), scratch1.gpr(), scratch2.gpr());
-#endif
-        isNull.link(&m_jit);
-        break;
-    }
+    writeBarrier(base.gpr(), scratch1.gpr(), scratch2.gpr());
 
-    default:
-        RELEASE_ASSERT_NOT_REACHED();
-        break;
-    }
-
     noResult(node);
 }
 

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp	2015-05-18 17:01:29 UTC (rev 184499)
@@ -4222,8 +4222,7 @@
         compileIn(node);
         break;
 
-    case StoreBarrier:
-    case StoreBarrierWithNullCheck: {
+    case StoreBarrier: {
         compileStoreBarrier(node);
         break;
     }

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp	2015-05-18 17:01:29 UTC (rev 184499)
@@ -4302,8 +4302,7 @@
         DFG_CRASH(m_jit.graph(), node, "Unexpected Unreachable node");
         break;
 
-    case StoreBarrier:
-    case StoreBarrierWithNullCheck: {
+    case StoreBarrier: {
         compileStoreBarrier(node);
         break;
     }

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/ftl/FTLCapabilities.cpp (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/ftl/FTLCapabilities.cpp	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/ftl/FTLCapabilities.cpp	2015-05-18 17:01:29 UTC (rev 184499)
@@ -122,7 +122,6 @@
     case GetTypedArrayByteOffset:
     case NotifyWrite:
     case StoreBarrier:
-    case StoreBarrierWithNullCheck:
     case Call:
     case Construct:
     case CallVarargs:

Modified: branches/safari-601.1.32.2-branch/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp (184498 => 184499)


--- branches/safari-601.1.32.2-branch/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp	2015-05-18 17:01:19 UTC (rev 184498)
+++ branches/safari-601.1.32.2-branch/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp	2015-05-18 17:01:29 UTC (rev 184499)
@@ -812,9 +812,6 @@
         case StoreBarrier:
             compileStoreBarrier();
             break;
-        case StoreBarrierWithNullCheck:
-            compileStoreBarrierWithNullCheck();
-            break;
         case HasIndexedProperty:
             compileHasIndexedProperty();
             break;
@@ -4854,22 +4851,6 @@
         emitStoreBarrier(lowCell(m_node->child1()));
     }
 
-    void compileStoreBarrierWithNullCheck()
-    {
-#if ENABLE(GGC)
-        LBasicBlock isNotNull = FTL_NEW_BLOCK(m_out, ("Store barrier with null check value not null"));
-        LBasicBlock continuation = FTL_NEW_BLOCK(m_out, ("Store barrier continuation"));
-
-        LValue base = lowJSValue(m_node->child1());
-        m_out.branch(m_out.isZero64(base), unsure(continuation), unsure(isNotNull));
-        LBasicBlock lastNext = m_out.appendTo(isNotNull, continuation);
-        emitStoreBarrier(base);
-        m_out.appendTo(continuation, lastNext);
-#else
-        speculate(m_node->child1());
-#endif
-    }
-    
     void compileHasIndexedProperty()
     {
         switch (m_node->arrayMode().type()) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to