Title: [151041] branches/dfgFourthTier/Source/_javascript_Core
Revision
151041
Author
[email protected]
Date
2013-05-31 14:48:46 -0700 (Fri, 31 May 2013)

Log Message

Remove CodeOrigin::valueProfileOffset since it was only needed for op_call_put_result.

Rubber stamped by Mark Hahnenberg.

* bytecode/CodeOrigin.h:
(CodeOrigin):
(JSC::CodeOrigin::CodeOrigin):
(JSC::CodeOrigin::isSet):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::currentCodeOrigin):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::valueProfileFor):

Modified Paths

Diff

Modified: branches/dfgFourthTier/Source/_javascript_Core/ChangeLog (151040 => 151041)


--- branches/dfgFourthTier/Source/_javascript_Core/ChangeLog	2013-05-31 21:44:26 UTC (rev 151040)
+++ branches/dfgFourthTier/Source/_javascript_Core/ChangeLog	2013-05-31 21:48:46 UTC (rev 151041)
@@ -1,5 +1,20 @@
 2013-05-31  Filip Pizlo  <[email protected]>
 
+        Remove CodeOrigin::valueProfileOffset since it was only needed for op_call_put_result.
+
+        Rubber stamped by Mark Hahnenberg.
+
+        * bytecode/CodeOrigin.h:
+        (CodeOrigin):
+        (JSC::CodeOrigin::CodeOrigin):
+        (JSC::CodeOrigin::isSet):
+        * dfg/DFGByteCodeParser.cpp:
+        (JSC::DFG::ByteCodeParser::currentCodeOrigin):
+        * dfg/DFGGraph.h:
+        (JSC::DFG::Graph::valueProfileFor):
+
+2013-05-31  Filip Pizlo  <[email protected]>
+
         Remove finalDestinationOrIgnored since it isn't called anymore.
 
         Rubber stamped by Mark Hahnenberg.

Modified: branches/dfgFourthTier/Source/_javascript_Core/bytecode/CodeOrigin.h (151040 => 151041)


--- branches/dfgFourthTier/Source/_javascript_Core/bytecode/CodeOrigin.h	2013-05-31 21:44:26 UTC (rev 151040)
+++ branches/dfgFourthTier/Source/_javascript_Core/bytecode/CodeOrigin.h	2013-05-31 21:48:46 UTC (rev 151041)
@@ -43,39 +43,31 @@
 class JSFunction;
 
 struct CodeOrigin {
-    static const unsigned maximumBytecodeIndex = (1u << 29) - 1;
+    static const unsigned invalidBytecodeIndex = UINT_MAX;
     
-    // Bytecode offset that you'd use to re-execute this instruction.
-    unsigned bytecodeIndex : 29;
-    // Bytecode offset corresponding to the opcode that gives the result (needed to handle
-    // op_call/op_call_put_result and op_method_check/op_get_by_id).
-    unsigned valueProfileOffset : 3;
+    // Bytecode offset that you'd use to re-execute this instruction, and the
+    // bytecode index of the bytecode instruction that produces some result that
+    // you're interested in (used for mapping Nodes whose values you're using
+    // to bytecode instructions that have the appropriate value profile).
+    unsigned bytecodeIndex;
     
     InlineCallFrame* inlineCallFrame;
     
     CodeOrigin()
-        : bytecodeIndex(maximumBytecodeIndex)
-        , valueProfileOffset(0)
+        : bytecodeIndex(invalidBytecodeIndex)
         , inlineCallFrame(0)
     {
     }
     
-    explicit CodeOrigin(unsigned bytecodeIndex, InlineCallFrame* inlineCallFrame = 0, unsigned valueProfileOffset = 0)
+    explicit CodeOrigin(unsigned bytecodeIndex, InlineCallFrame* inlineCallFrame = 0)
         : bytecodeIndex(bytecodeIndex)
-        , valueProfileOffset(valueProfileOffset)
         , inlineCallFrame(inlineCallFrame)
     {
-        RELEASE_ASSERT(bytecodeIndex <= maximumBytecodeIndex);
-        RELEASE_ASSERT(valueProfileOffset < (1u << 3));
+        ASSERT(bytecodeIndex < invalidBytecodeIndex);
     }
     
-    bool isSet() const { return bytecodeIndex != maximumBytecodeIndex; }
+    bool isSet() const { return bytecodeIndex != invalidBytecodeIndex; }
     
-    unsigned bytecodeIndexForValueProfile() const
-    {
-        return bytecodeIndex + valueProfileOffset;
-    }
-    
     // The inline depth is the depth of the inline stack, so 1 = not inlined,
     // 2 = inlined one deep, etc.
     unsigned inlineDepth() const;

Modified: branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp (151040 => 151041)


--- branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp	2013-05-31 21:44:26 UTC (rev 151040)
+++ branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp	2013-05-31 21:48:46 UTC (rev 151041)
@@ -681,7 +681,7 @@
 
     CodeOrigin currentCodeOrigin()
     {
-        return CodeOrigin(m_currentIndex, inlineCallFrame(), 0);
+        return CodeOrigin(m_currentIndex, inlineCallFrame());
     }
     
     bool canFold(Node* node)

Modified: branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGGraph.h (151040 => 151041)


--- branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGGraph.h	2013-05-31 21:44:26 UTC (rev 151040)
+++ branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGGraph.h	2013-05-31 21:48:46 UTC (rev 151041)
@@ -440,7 +440,7 @@
         }
         
         if (node->hasHeapPrediction())
-            return profiledBlock->valueProfileForBytecodeOffset(node->codeOrigin.bytecodeIndexForValueProfile());
+            return profiledBlock->valueProfileForBytecodeOffset(node->codeOrigin.bytecodeIndex);
         
         return 0;
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to