Changeset 37417 in webkit for trunk/JavaScriptCore/VM/CTI.cpp
- Timestamp:
- Oct 8, 2008, 3:53:13 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/VM/CTI.cpp
r37408 r37417 1768 1768 } 1769 1769 case op_to_jsnumber: { 1770 emitGetPutArg(instruction[i + 2].u.operand, 0, X86::ecx); 1771 emitCall(i, Machine::cti_op_to_jsnumber); 1770 emitGetArg(instruction[i + 2].u.operand, X86::eax); 1771 1772 m_jit.testl_i32r(JSImmediate::TagBitTypeInteger, X86::eax); 1773 X86Assembler::JmpSrc wasImmediate = m_jit.emitUnlinkedJnz(); 1774 1775 emitJumpSlowCaseIfNotJSCell(X86::eax, i); 1776 1777 m_jit.movl_mr(OBJECT_OFFSET(JSCell, m_structureID), X86::eax, X86::ecx); 1778 m_jit.cmpl_i32m(NumberType, OBJECT_OFFSET(StructureID, m_typeInfo.m_type), X86::ecx); 1779 1780 m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJne(), i)); 1781 1782 m_jit.link(wasImmediate, m_jit.label()); 1783 1772 1784 emitPutResult(instruction[i + 1].u.operand); 1773 1785 i += 3; … … 2519 2531 break; 2520 2532 } 2533 case op_to_jsnumber: { 2534 m_jit.link(iter->from, m_jit.label()); 2535 m_jit.link(iter->from, m_jit.label()); 2536 2537 emitPutArg(X86::eax, 0); 2538 emitCall(i, Machine::cti_op_to_jsnumber); 2539 2540 emitPutResult(instruction[i + 1].u.operand); 2541 i += 3; 2542 break; 2543 } 2521 2544 2522 2545 default:
Note:
See TracChangeset
for help on using the changeset viewer.