Changeset 43220 in webkit for trunk/JavaScriptCore/jit/JITCall.cpp
- Timestamp:
- May 5, 2009, 4:34:23 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JITCall.cpp
r43153 r43220 57 57 { 58 58 // Currently we only link calls with the exact number of arguments. 59 if (callerArgCount == calleeCodeBlock->m_numParameters) { 59 // If this is a native call calleeCodeBlock is null so the number of parameters is unimportant 60 if (!calleeCodeBlock || callerArgCount == calleeCodeBlock->m_numParameters) { 60 61 ASSERT(!callLinkInfo->isLinked()); 61 62 62 calleeCodeBlock->addCaller(callLinkInfo); 63 if (calleeCodeBlock) 64 calleeCodeBlock->addCaller(callLinkInfo); 63 65 64 66 callLinkInfo->hotPathBegin.repatch(callee); … … 74 76 store32(regT1, Address(callFrameRegister, RegisterFile::ArgumentCount * static_cast<int>(sizeof(Register)))); 75 77 76 loadPtr(Address(regT2, FIELD_OFFSET(JSFunction, m_ scopeChain) + FIELD_OFFSET(ScopeChain, m_node)), regT1); // newScopeChain78 loadPtr(Address(regT2, FIELD_OFFSET(JSFunction, m_data) + FIELD_OFFSET(ScopeChain, m_node)), regT1); // newScopeChain 77 79 78 80 storePtr(ImmPtr(JSValue::encode(JSValue())), Address(callFrameRegister, RegisterFile::OptionalCalleeArguments * static_cast<int>(sizeof(Register)))); … … 243 245 storePtr(ImmPtr(JSValue::encode(JSValue())), Address(callFrameRegister, (registerOffset + RegisterFile::OptionalCalleeArguments) * static_cast<int>(sizeof(Register)))); 244 246 storePtr(regT2, Address(callFrameRegister, (registerOffset + RegisterFile::Callee) * static_cast<int>(sizeof(Register)))); 245 loadPtr(Address(regT2, FIELD_OFFSET(JSFunction, m_ scopeChain) + FIELD_OFFSET(ScopeChain, m_node)), regT1); // newScopeChain247 loadPtr(Address(regT2, FIELD_OFFSET(JSFunction, m_data) + FIELD_OFFSET(ScopeChain, m_node)), regT1); // newScopeChain 246 248 store32(Imm32(argCount), Address(callFrameRegister, (registerOffset + RegisterFile::ArgumentCount) * static_cast<int>(sizeof(Register)))); 247 249 storePtr(callFrameRegister, Address(callFrameRegister, (registerOffset + RegisterFile::CallerFrame) * static_cast<int>(sizeof(Register))));
Note:
See TracChangeset
for help on using the changeset viewer.