Changeset 36972 in webkit for trunk/JavaScriptCore/VM/CTI.cpp
- Timestamp:
- Sep 26, 2008, 3:40:26 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/VM/CTI.cpp
r36882 r36972 1752 1752 break; 1753 1753 } 1754 case op_init_activation: { 1755 emitCall(i, Machine::cti_op_push_activation); 1756 1757 // Even though CTI doesn't use them, we initialize our constant 1758 // registers to zap stale pointers, to avoid unnecessarily prolonging 1759 // object lifetime and increasing GC pressure. 1760 size_t count = m_codeBlock->numVars + m_codeBlock->constantRegisters.size(); 1761 for (size_t j = 0; j < count; ++j) 1762 emitInitRegister(j); 1763 1764 i+= 1; 1765 break; 1766 } 1754 1767 case op_get_array_length: 1755 1768 case op_get_by_id_chain: … … 2271 2284 emitPutToCallFrameHeader(X86::ecx, RegisterFile::ReturnPC); 2272 2285 2273 // Lazy copy of the scopeChain2274 X86Assembler::JmpSrc callToUpdateScopeChain;2275 if ((m_codeBlock->codeType == FunctionCode) && m_codeBlock->needsFullScopeChain) {2276 m_jit.emitRestoreArgumentReference();2277 callToUpdateScopeChain = m_jit.emitCall();2278 }2279 2280 2286 privateCompileMainPass(); 2281 2287 privateCompileLinkPass(); … … 2323 2329 m_codeBlock->ctiReturnAddressVPCMap.add(m_jit.getRelocatedAddress(code, iter->from), iter->opcodeIndex); 2324 2330 } 2325 2326 if ((m_codeBlock->codeType == FunctionCode) && m_codeBlock->needsFullScopeChain)2327 X86Assembler::link(code, callToUpdateScopeChain, (void*)Machine::cti_vm_updateScopeChain);2328 2331 2329 2332 // Link absolute addresses for jsr
Note:
See TracChangeset
for help on using the changeset viewer.