Changeset 125982 in webkit for trunk/Source/JavaScriptCore/runtime/Executable.cpp
- Timestamp:
- Aug 19, 2012, 2:59:12 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/Executable.cpp
r119844 r125982 161 161 } 162 162 163 JSObject* EvalExecutable::compileOptimized(ExecState* exec, ScopeChainNode* scopeChainNode )163 JSObject* EvalExecutable::compileOptimized(ExecState* exec, ScopeChainNode* scopeChainNode, unsigned bytecodeIndex) 164 164 { 165 165 ASSERT(exec->globalData().dynamicGlobalObject); … … 167 167 JSObject* error = 0; 168 168 if (m_evalCodeBlock->getJITType() != JITCode::topTierJIT()) 169 error = compileInternal(exec, scopeChainNode, JITCode::nextTierJIT(m_evalCodeBlock->getJITType()) );169 error = compileInternal(exec, scopeChainNode, JITCode::nextTierJIT(m_evalCodeBlock->getJITType()), bytecodeIndex); 170 170 ASSERT(!!m_evalCodeBlock); 171 171 return error; … … 175 175 bool EvalExecutable::jitCompile(ExecState* exec) 176 176 { 177 return jitCompileIfAppropriate(exec, m_evalCodeBlock, m_jitCodeForCall, JITCode::bottomTierJIT(), JITCompilationCanFail);177 return jitCompileIfAppropriate(exec, m_evalCodeBlock, m_jitCodeForCall, JITCode::bottomTierJIT(), UINT_MAX, JITCompilationCanFail); 178 178 } 179 179 #endif … … 194 194 } 195 195 196 JSObject* EvalExecutable::compileInternal(ExecState* exec, ScopeChainNode* scopeChainNode, JITCode::JITType jitType )196 JSObject* EvalExecutable::compileInternal(ExecState* exec, ScopeChainNode* scopeChainNode, JITCode::JITType jitType, unsigned bytecodeIndex) 197 197 { 198 198 SamplingRegion samplingRegion(samplingDescription(jitType)); … … 236 236 237 237 #if ENABLE(JIT) 238 if (!prepareForExecution(exec, m_evalCodeBlock, m_jitCodeForCall, jitType ))238 if (!prepareForExecution(exec, m_evalCodeBlock, m_jitCodeForCall, jitType, bytecodeIndex)) 239 239 return 0; 240 240 #endif … … 302 302 } 303 303 304 JSObject* ProgramExecutable::compileOptimized(ExecState* exec, ScopeChainNode* scopeChainNode )304 JSObject* ProgramExecutable::compileOptimized(ExecState* exec, ScopeChainNode* scopeChainNode, unsigned bytecodeIndex) 305 305 { 306 306 ASSERT(exec->globalData().dynamicGlobalObject); … … 308 308 JSObject* error = 0; 309 309 if (m_programCodeBlock->getJITType() != JITCode::topTierJIT()) 310 error = compileInternal(exec, scopeChainNode, JITCode::nextTierJIT(m_programCodeBlock->getJITType()) );310 error = compileInternal(exec, scopeChainNode, JITCode::nextTierJIT(m_programCodeBlock->getJITType()), bytecodeIndex); 311 311 ASSERT(!!m_programCodeBlock); 312 312 return error; … … 316 316 bool ProgramExecutable::jitCompile(ExecState* exec) 317 317 { 318 return jitCompileIfAppropriate(exec, m_programCodeBlock, m_jitCodeForCall, JITCode::bottomTierJIT(), JITCompilationCanFail);319 } 320 #endif 321 322 JSObject* ProgramExecutable::compileInternal(ExecState* exec, ScopeChainNode* scopeChainNode, JITCode::JITType jitType )318 return jitCompileIfAppropriate(exec, m_programCodeBlock, m_jitCodeForCall, JITCode::bottomTierJIT(), UINT_MAX, JITCompilationCanFail); 319 } 320 #endif 321 322 JSObject* ProgramExecutable::compileInternal(ExecState* exec, ScopeChainNode* scopeChainNode, JITCode::JITType jitType, unsigned bytecodeIndex) 323 323 { 324 324 SamplingRegion samplingRegion(samplingDescription(jitType)); … … 360 360 361 361 #if ENABLE(JIT) 362 if (!prepareForExecution(exec, m_programCodeBlock, m_jitCodeForCall, jitType ))362 if (!prepareForExecution(exec, m_programCodeBlock, m_jitCodeForCall, jitType, bytecodeIndex)) 363 363 return 0; 364 364 #endif … … 432 432 } 433 433 434 JSObject* FunctionExecutable::compileOptimizedForCall(ExecState* exec, ScopeChainNode* scopeChainNode )434 JSObject* FunctionExecutable::compileOptimizedForCall(ExecState* exec, ScopeChainNode* scopeChainNode, unsigned bytecodeIndex) 435 435 { 436 436 ASSERT(exec->globalData().dynamicGlobalObject); … … 438 438 JSObject* error = 0; 439 439 if (m_codeBlockForCall->getJITType() != JITCode::topTierJIT()) 440 error = compileForCallInternal(exec, scopeChainNode, JITCode::nextTierJIT(m_codeBlockForCall->getJITType()) );440 error = compileForCallInternal(exec, scopeChainNode, JITCode::nextTierJIT(m_codeBlockForCall->getJITType()), bytecodeIndex); 441 441 ASSERT(!!m_codeBlockForCall); 442 442 return error; 443 443 } 444 444 445 JSObject* FunctionExecutable::compileOptimizedForConstruct(ExecState* exec, ScopeChainNode* scopeChainNode )445 JSObject* FunctionExecutable::compileOptimizedForConstruct(ExecState* exec, ScopeChainNode* scopeChainNode, unsigned bytecodeIndex) 446 446 { 447 447 ASSERT(exec->globalData().dynamicGlobalObject); … … 449 449 JSObject* error = 0; 450 450 if (m_codeBlockForConstruct->getJITType() != JITCode::topTierJIT()) 451 error = compileForConstructInternal(exec, scopeChainNode, JITCode::nextTierJIT(m_codeBlockForConstruct->getJITType()) );451 error = compileForConstructInternal(exec, scopeChainNode, JITCode::nextTierJIT(m_codeBlockForConstruct->getJITType()), bytecodeIndex); 452 452 ASSERT(!!m_codeBlockForConstruct); 453 453 return error; … … 457 457 bool FunctionExecutable::jitCompileForCall(ExecState* exec) 458 458 { 459 return jitCompileFunctionIfAppropriate(exec, m_codeBlockForCall, m_jitCodeForCall, m_jitCodeForCallWithArityCheck, m_symbolTable, JITCode::bottomTierJIT(), JITCompilationCanFail);459 return jitCompileFunctionIfAppropriate(exec, m_codeBlockForCall, m_jitCodeForCall, m_jitCodeForCallWithArityCheck, m_symbolTable, JITCode::bottomTierJIT(), UINT_MAX, JITCompilationCanFail); 460 460 } 461 461 462 462 bool FunctionExecutable::jitCompileForConstruct(ExecState* exec) 463 463 { 464 return jitCompileFunctionIfAppropriate(exec, m_codeBlockForConstruct, m_jitCodeForConstruct, m_jitCodeForConstructWithArityCheck, m_symbolTable, JITCode::bottomTierJIT(), JITCompilationCanFail);464 return jitCompileFunctionIfAppropriate(exec, m_codeBlockForConstruct, m_jitCodeForConstruct, m_jitCodeForConstructWithArityCheck, m_symbolTable, JITCode::bottomTierJIT(), UINT_MAX, JITCompilationCanFail); 465 465 } 466 466 #endif … … 503 503 } 504 504 505 JSObject* FunctionExecutable::compileForCallInternal(ExecState* exec, ScopeChainNode* scopeChainNode, JITCode::JITType jitType )505 JSObject* FunctionExecutable::compileForCallInternal(ExecState* exec, ScopeChainNode* scopeChainNode, JITCode::JITType jitType, unsigned bytecodeIndex) 506 506 { 507 507 SamplingRegion samplingRegion(samplingDescription(jitType)); … … 527 527 528 528 #if ENABLE(JIT) 529 if (!prepareFunctionForExecution(exec, m_codeBlockForCall, m_jitCodeForCall, m_jitCodeForCallWithArityCheck, m_symbolTable, jitType, CodeForCall))529 if (!prepareFunctionForExecution(exec, m_codeBlockForCall, m_jitCodeForCall, m_jitCodeForCallWithArityCheck, m_symbolTable, jitType, bytecodeIndex, CodeForCall)) 530 530 return 0; 531 531 #endif … … 545 545 } 546 546 547 JSObject* FunctionExecutable::compileForConstructInternal(ExecState* exec, ScopeChainNode* scopeChainNode, JITCode::JITType jitType )547 JSObject* FunctionExecutable::compileForConstructInternal(ExecState* exec, ScopeChainNode* scopeChainNode, JITCode::JITType jitType, unsigned bytecodeIndex) 548 548 { 549 549 SamplingRegion samplingRegion(samplingDescription(jitType)); … … 569 569 570 570 #if ENABLE(JIT) 571 if (!prepareFunctionForExecution(exec, m_codeBlockForConstruct, m_jitCodeForConstruct, m_jitCodeForConstructWithArityCheck, m_symbolTable, jitType, CodeForConstruct))571 if (!prepareFunctionForExecution(exec, m_codeBlockForConstruct, m_jitCodeForConstruct, m_jitCodeForConstructWithArityCheck, m_symbolTable, jitType, bytecodeIndex, CodeForConstruct)) 572 572 return 0; 573 573 #endif
Note:
See TracChangeset
for help on using the changeset viewer.