Changeset 37138 in webkit for trunk/JavaScriptCore/VM/CTI.cpp
- Timestamp:
- Sep 30, 2008, 11:16:18 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/VM/CTI.cpp
r37086 r37138 293 293 ALWAYS_INLINE X86Assembler::JmpSrc CTI::emitCall(unsigned opcodeIndex, X86::RegisterID r) 294 294 { 295 m_jit.emitRestoreArgumentReference(); 295 296 X86Assembler::JmpSrc call = m_jit.emitCall(r); 296 297 m_calls.append(CallRecord(call, opcodeIndex)); … … 305 306 m_jit.movl_i32m(1, &inCalledCode); 306 307 #endif 308 m_jit.emitRestoreArgumentReference(); 307 309 X86Assembler::JmpSrc call = m_jit.emitCall(); 308 310 m_calls.append(CallRecord(call, helper, opcodeIndex)); … … 320 322 m_jit.movl_i32m(1, &inCalledCode); 321 323 #endif 324 m_jit.emitRestoreArgumentReference(); 322 325 X86Assembler::JmpSrc call = m_jit.emitCall(); 323 326 m_calls.append(CallRecord(call, helper, opcodeIndex)); … … 335 338 m_jit.movl_i32m(1, &inCalledCode); 336 339 #endif 340 m_jit.emitRestoreArgumentReference(); 337 341 X86Assembler::JmpSrc call = m_jit.emitCall(); 338 342 m_calls.append(CallRecord(call, helper, opcodeIndex)); … … 350 354 m_jit.movl_i32m(1, &inCalledCode); 351 355 #endif 356 m_jit.emitRestoreArgumentReference(); 352 357 X86Assembler::JmpSrc call = m_jit.emitCall(); 353 358 m_calls.append(CallRecord(call, helper, opcodeIndex)); … … 365 370 m_jit.movl_i32m(1, &inCalledCode); 366 371 #endif 372 m_jit.emitRestoreArgumentReference(); 367 373 X86Assembler::JmpSrc call = m_jit.emitCall(); 368 374 m_calls.append(CallRecord(call, helper, opcodeIndex)); … … 508 514 emitGetPutArg(instruction[i + 2].u.operand, 0, X86::ecx); 509 515 emitCall(i, Machine::cti_op_call_eval); 510 m_jit.emitRestoreArgumentReference();511 516 512 517 emitGetCTIParam(CTI_ARGS_r, X86::edi); // edi := r … … 850 855 851 856 ASSERT_WITH_MESSAGE(m_machine->isOpcode(instruction[i].u.opcode), "privateCompileMainPass gone bad @ %d", i); 852 m_jit.emitRestoreArgumentReference();853 857 switch (m_machine->getOpcodeID(instruction[i].u.opcode)) { 854 858 case op_mov: { … … 2022 2026 for (Vector<SlowCaseEntry>::iterator iter = m_slowCases.begin(); iter != m_slowCases.end(); ++iter) { 2023 2027 unsigned i = iter->to; 2024 m_jit.emitRestoreArgumentReference();2025 2028 switch (m_machine->getOpcodeID(instruction[i].u.opcode)) { 2026 2029 case op_add: { … … 2471 2474 case op_construct: { 2472 2475 m_jit.link(iter->from, m_jit.label()); 2473 m_jit.emitRestoreArgumentReference();2474 2476 2475 2477 // We jump to this slow case if the ctiCode for the codeBlock has not yet been generated; compile it now.
Note:
See TracChangeset
for help on using the changeset viewer.