Changeset 113552 in webkit for trunk/Source/JavaScriptCore/bytecode
- Timestamp:
- Apr 8, 2012, 1:46:12 PM (13 years ago)
- Location:
- trunk/Source/JavaScriptCore/bytecode
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp
r113136 r113552 1433 1433 , m_speculativeSuccessCounter(0) 1434 1434 , m_speculativeFailCounter(0) 1435 , m_forcedOSRExitCounter(0) 1435 1436 , m_optimizationDelayCounter(0) 1436 1437 , m_reoptimizationRetryCounter(0) -
trunk/Source/JavaScriptCore/bytecode/CodeBlock.h
r112320 r113552 1007 1007 uint32_t speculativeSuccessCounter() const { return m_speculativeSuccessCounter; } 1008 1008 uint32_t speculativeFailCounter() const { return m_speculativeFailCounter; } 1009 uint32_t forcedOSRExitCounter() const { return m_forcedOSRExitCounter; } 1009 1010 1010 1011 uint32_t* addressOfSpeculativeSuccessCounter() { return &m_speculativeSuccessCounter; } 1011 1012 uint32_t* addressOfSpeculativeFailCounter() { return &m_speculativeFailCounter; } 1013 uint32_t* addressOfForcedOSRExitCounter() { return &m_forcedOSRExitCounter; } 1012 1014 1013 1015 static ptrdiff_t offsetOfSpeculativeSuccessCounter() { return OBJECT_OFFSETOF(CodeBlock, m_speculativeSuccessCounter); } 1014 1016 static ptrdiff_t offsetOfSpeculativeFailCounter() { return OBJECT_OFFSETOF(CodeBlock, m_speculativeFailCounter); } 1017 static ptrdiff_t offsetOfForcedOSRExitCounter() { return OBJECT_OFFSETOF(CodeBlock, m_forcedOSRExitCounter); } 1015 1018 1016 1019 #if ENABLE(JIT) … … 1021 1024 bool shouldReoptimizeNow() 1022 1025 { 1023 return Options::desiredSpeculativeSuccessFailRatio * speculativeFailCounter() >= speculativeSuccessCounter() && speculativeFailCounter() >= largeFailCountThreshold(); 1026 return (Options::desiredSpeculativeSuccessFailRatio * 1027 speculativeFailCounter() >= speculativeSuccessCounter() 1028 && speculativeFailCounter() >= largeFailCountThreshold()) 1029 || forcedOSRExitCounter() >= 1030 Options::forcedOSRExitCountForReoptimization; 1024 1031 } 1025 1032 1026 1033 bool shouldReoptimizeFromLoopNow() 1027 1034 { 1028 return Options::desiredSpeculativeSuccessFailRatio * speculativeFailCounter() >= speculativeSuccessCounter() && speculativeFailCounter() >= largeFailCountThresholdForLoop(); 1035 return (Options::desiredSpeculativeSuccessFailRatio * 1036 speculativeFailCounter() >= speculativeSuccessCounter() 1037 && speculativeFailCounter() >= largeFailCountThresholdForLoop()) 1038 || forcedOSRExitCounter() >= 1039 Options::forcedOSRExitCountForReoptimization; 1029 1040 } 1030 1041 #endif … … 1229 1240 uint32_t m_speculativeSuccessCounter; 1230 1241 uint32_t m_speculativeFailCounter; 1242 uint32_t m_forcedOSRExitCounter; 1231 1243 uint16_t m_optimizationDelayCounter; 1232 1244 uint16_t m_reoptimizationRetryCounter; -
trunk/Source/JavaScriptCore/bytecode/DFGExitProfile.h
r106590 r113552 39 39 Overflow, // We exited because of overflow. 40 40 NegativeZero, // We exited because we encountered negative zero. 41 InadequateCoverage, // We exited because we ended up in code that didn't have profiling coverage. 41 42 Uncountable, // We exited for none of the above reasons, and we should not count it. Most uses of this should be viewed as a FIXME. 42 43 }; … … 55 56 case NegativeZero: 56 57 return "NegativeZero"; 58 case InadequateCoverage: 59 return "InadequateCoverage"; 57 60 default: 58 61 return "Unknown";
Note:
See TracChangeset
for help on using the changeset viewer.