Changeset 153263 in webkit for trunk/Source/JavaScriptCore/jit/JITOpcodes.cpp
- Timestamp:
- Jul 24, 2013, 9:04:18 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/JITOpcodes.cpp
r153237 r153263 1150 1150 { 1151 1151 // Emit the JIT optimization check: 1152 if (canBeOptimized()) 1153 addSlowCase(branchAdd32(PositiveOrZero, TrustedImm32(Options::executionCounterIncrementForLoop()), 1154 AbsoluteAddress(m_codeBlock->addressOfJITExecuteCounter()))); 1152 if (canBeOptimized()) { 1153 if (Options::enableOSREntryInLoops()) { 1154 addSlowCase(branchAdd32(PositiveOrZero, TrustedImm32(Options::executionCounterIncrementForLoop()), 1155 AbsoluteAddress(m_codeBlock->addressOfJITExecuteCounter()))); 1156 } else { 1157 // Add with saturation. 1158 move(TrustedImmPtr(m_codeBlock->addressOfJITExecuteCounter()), regT3); 1159 load32(regT3, regT2); 1160 Jump dontAdd = branch32( 1161 GreaterThan, regT2, 1162 TrustedImm32(std::numeric_limits<int32_t>::max() - Options::executionCounterIncrementForLoop())); 1163 add32(TrustedImm32(Options::executionCounterIncrementForLoop()), regT2); 1164 store32(regT2, regT3); 1165 dontAdd.link(this); 1166 } 1167 } 1155 1168 1156 1169 // Emit the watchdog timer check: … … 1163 1176 #if ENABLE(DFG_JIT) 1164 1177 // Emit the slow path for the JIT optimization check: 1165 if (canBeOptimized() ) {1178 if (canBeOptimized() && Options::enableOSREntryInLoops()) { 1166 1179 linkSlowCase(iter); 1167 1180 1168 1181 JITStubCall stubCall(this, cti_optimize); 1169 1182 stubCall.addArgument(TrustedImm32(m_bytecodeOffset)); 1170 1183 stubCall.call(); 1171 1184 1172 1185 emitJumpSlowToHot(jump(), OPCODE_LENGTH(op_loop_hint)); 1173 1186 }
Note:
See TracChangeset
for help on using the changeset viewer.