Changeset 102489 in webkit for trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
- Timestamp:
- Dec 9, 2011, 4:09:55 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r102442 r102489 68 68 m_preservedVars.set(i); 69 69 } 70 70 71 71 // Parse a full CodeBlock of bytecode. 72 72 bool parse(); … … 647 647 648 648 case ArithMul: 649 if (m_inlineStackTop->m_profiledBlock->likelyToTakeDeepestSlowCase(m_currentIndex)) 649 if (m_inlineStackTop->m_profiledBlock->likelyToTakeDeepestSlowCase(m_currentIndex)) { 650 #if DFG_ENABLE(DEBUG_VERBOSE) 651 printf("Making ArithMul @%u take deepest slow case.\n", nodeIndex); 652 #endif 650 653 m_graph[nodeIndex].mergeArithNodeFlags(NodeMayOverflow | NodeMayNegZero); 651 else 654 } else { 655 #if DFG_ENABLE(DEBUG_VERBOSE) 656 printf("Making ArithMul @%u take faster slow case.\n", nodeIndex); 657 #endif 652 658 m_graph[nodeIndex].mergeArithNodeFlags(NodeMayNegZero); 659 } 653 660 break; 654 661 … … 673 680 if (!m_inlineStackTop->m_profiledBlock->likelyToTakeSpecialFastCase(m_currentIndex)) 674 681 return nodeIndex; 682 683 #if DFG_ENABLE(DEBUG_VERBOSE) 684 printf("Making %s @%u safe at bc#%u because special fast-case counter is at %u\n", Graph::opName(m_graph[nodeIndex].op), nodeIndex, m_currentIndex, m_inlineStackTop->m_profiledBlock->specialFastCaseProfileForBytecodeOffset(m_currentIndex)->m_counter); 685 #endif 675 686 676 687 m_graph[nodeIndex].mergeArithNodeFlags(NodeMayOverflow | NodeMayNegZero); … … 875 886 876 887 #if DFG_ENABLE(DEBUG_VERBOSE) 877 printf("Slow case count for call at @%lu bc#%u: %u .\n", m_graph.size(), m_currentIndex, m_inlineStackTop->m_profiledBlock->rareCaseProfileForBytecodeOffset(m_currentIndex)->m_counter);888 printf("Slow case count for call at @%lu bc#%u: %u/%u.\n", m_graph.size(), m_currentIndex, m_inlineStackTop->m_profiledBlock->rareCaseProfileForBytecodeOffset(m_currentIndex)->m_counter, m_inlineStackTop->m_profiledBlock->executionEntryCount()); 878 889 #endif 879 890 … … 1247 1258 bool shouldContinueParsing = true; 1248 1259 1260 Interpreter* interpreter = m_globalData->interpreter; 1261 Instruction* instructionsBegin = m_inlineStackTop->m_codeBlock->instructions().begin(); 1262 unsigned blockBegin = m_currentIndex; 1263 1249 1264 // If we are the first basic block, introduce markers for arguments. This allows 1250 1265 // us to track if a use of an argument may use the actual argument passed, as … … 1260 1275 } 1261 1276 1262 Interpreter* interpreter = m_globalData->interpreter;1263 Instruction* instructionsBegin = m_inlineStackTop->m_codeBlock->instructions().begin();1264 unsigned blockBegin = m_currentIndex;1265 1277 while (true) { 1266 1278 // Don't extend over jump destinations. … … 1691 1703 Identifier identifier = m_codeBlock->identifier(identifierNumber); 1692 1704 StructureStubInfo& stubInfo = m_inlineStackTop->m_profiledBlock->getStubInfo(m_currentIndex); 1705 1706 #if DFG_ENABLE(DEBUG_VERBOSE) 1707 printf("Slow case count for GetById @%lu bc#%u: %u\n", m_graph.size(), m_currentIndex, m_inlineStackTop->m_profiledBlock->rareCaseProfileForBytecodeOffset(m_currentIndex)->m_counter); 1708 #endif 1693 1709 1694 1710 size_t offset = notFound; … … 1782 1798 bool alreadyGenerated = false; 1783 1799 1800 #if DFG_ENABLE(DEBUG_VERBOSE) 1801 printf("Slow case count for PutById @%lu bc#%u: %u\n", m_graph.size(), m_currentIndex, m_inlineStackTop->m_profiledBlock->rareCaseProfileForBytecodeOffset(m_currentIndex)->m_counter); 1802 #endif 1803 1784 1804 if (stubInfo.seen && !m_inlineStackTop->m_profiledBlock->likelyToTakeSlowCase(m_currentIndex)) { 1785 1805 switch (stubInfo.accessType) {
Note:
See TracChangeset
for help on using the changeset viewer.