Changeset 36301 in webkit for trunk/JavaScriptCore/VM/CTI.cpp


Ignore:
Timestamp:
Sep 9, 2008, 3:35:29 PM (17 years ago)
Author:
[email protected]
Message:

2008-09-09 Cameron Zwarich <[email protected]>

Reviewed by Sam Weinig.

Bug 20754: Remove emit prefix from assembler opcode methods
<https://bugs.webkit.org/show_bug.cgi?id=20754>

  • VM/CTI.cpp: (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::emitPutArg): (JSC::CTI::emitPutArgConstant): (JSC::CTI::emitPutCTIParam): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitPutToCallFrameHeader): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutResult): (JSC::CTI::emitDebugExceptionCheck): (JSC::CTI::emitCall): (JSC::CTI::emitJumpSlowCaseIfNotImm): (JSC::CTI::emitJumpSlowCaseIfNotImms): (JSC::CTI::emitFastArithDeTagImmediate): (JSC::CTI::emitFastArithReTagImmediate): (JSC::CTI::emitFastArithPotentiallyReTagImmediate): (JSC::CTI::emitFastArithImmToInt): (JSC::CTI::emitFastArithIntToImmOrSlowCase): (JSC::CTI::emitFastArithIntToImmNoCheck): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateArrayLengthTrampoline): (JSC::CTI::privateStringLengthTrampoline): (JSC::CTI::compileRegExp):
  • masm/MacroAssemblerWin.cpp: (JSC::MacroAssembler::emitConvertToFastCall): (JSC::MacroAssembler::emitRestoreArgumentReference):
  • masm/X86Assembler.h: (JSC::X86Assembler::pushl_r): (JSC::X86Assembler::pushl_m): (JSC::X86Assembler::popl_r): (JSC::X86Assembler::popl_m): (JSC::X86Assembler::movl_rr): (JSC::X86Assembler::addl_rr): (JSC::X86Assembler::addl_i8r): (JSC::X86Assembler::addl_i32r): (JSC::X86Assembler::addl_mr): (JSC::X86Assembler::andl_rr): (JSC::X86Assembler::andl_i32r): (JSC::X86Assembler::cmpl_i8r): (JSC::X86Assembler::cmpl_rr): (JSC::X86Assembler::cmpl_rm): (JSC::X86Assembler::cmpl_i32r): (JSC::X86Assembler::cmpl_i32m): (JSC::X86Assembler::cmpw_rm): (JSC::X86Assembler::orl_rr): (JSC::X86Assembler::subl_rr): (JSC::X86Assembler::subl_i8r): (JSC::X86Assembler::subl_i32r): (JSC::X86Assembler::subl_mr): (JSC::X86Assembler::testl_i32r): (JSC::X86Assembler::testl_rr): (JSC::X86Assembler::xorl_i8r): (JSC::X86Assembler::xorl_rr): (JSC::X86Assembler::sarl_i8r): (JSC::X86Assembler::sarl_CLr): (JSC::X86Assembler::shl_i8r): (JSC::X86Assembler::shll_CLr): (JSC::X86Assembler::mull_rr): (JSC::X86Assembler::idivl_r): (JSC::X86Assembler::cdq): (JSC::X86Assembler::movl_mr): (JSC::X86Assembler::movzwl_mr): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::movl_i32r): (JSC::X86Assembler::movl_i32m): (JSC::X86Assembler::leal_mr): (JSC::X86Assembler::ret): (JSC::X86Assembler::jmp_r): (JSC::X86Assembler::jmp_m): (JSC::X86Assembler::call_r):
  • wrec/WREC.cpp: (JSC::WRECGenerator::generateBacktrack1): (JSC::WRECGenerator::generateBacktrackBackreference): (JSC::WRECGenerator::generateBackreferenceQuantifier): (JSC::WRECGenerator::generateNonGreedyQuantifier): (JSC::WRECGenerator::generateGreedyQuantifier): (JSC::WRECGenerator::generatePatternCharacter): (JSC::WRECGenerator::generateCharacterClassInvertedRange): (JSC::WRECGenerator::generateCharacterClassInverted): (JSC::WRECGenerator::generateCharacterClass): (JSC::WRECGenerator::generateParentheses): (JSC::WRECGenerator::gererateParenthesesResetTrampoline): (JSC::WRECGenerator::generateAssertionBOL): (JSC::WRECGenerator::generateAssertionEOL): (JSC::WRECGenerator::generateAssertionWordBoundary): (JSC::WRECGenerator::generateBackreference): (JSC::WRECGenerator::gernerateDisjunction):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/VM/CTI.cpp

    r36300 r36301  
    113113    if (src < m_codeBlock->constantRegisters.size()) {
    114114        JSValue* js = m_codeBlock->constantRegisters[src].jsValue(m_exec);
    115         m_jit.emitMovl_i32r(reinterpret_cast<unsigned>(js), dst);
     115        m_jit.movl_i32r(reinterpret_cast<unsigned>(js), dst);
    116116    } else
    117         m_jit.emitMovl_mr(src * sizeof(Register), MacroAssembler::edi, dst);
     117        m_jit.movl_mr(src * sizeof(Register), MacroAssembler::edi, dst);
    118118}
    119119
     
    123123    if (src < m_codeBlock->constantRegisters.size()) {
    124124        JSValue* js = m_codeBlock->constantRegisters[src].jsValue(m_exec);
    125         m_jit.emitMovl_i32m(reinterpret_cast<unsigned>(js), offset + sizeof(void*), MacroAssembler::esp);
     125        m_jit.movl_i32m(reinterpret_cast<unsigned>(js), offset + sizeof(void*), MacroAssembler::esp);
    126126    } else {
    127         m_jit.emitMovl_mr(src * sizeof(Register), MacroAssembler::edi, scratch);
    128         m_jit.emitMovl_rm(scratch, offset + sizeof(void*), MacroAssembler::esp);
     127        m_jit.movl_mr(src * sizeof(Register), MacroAssembler::edi, scratch);
     128        m_jit.movl_rm(scratch, offset + sizeof(void*), MacroAssembler::esp);
    129129    }
    130130}
     
    133133ALWAYS_INLINE void CTI::emitPutArg(MacroAssembler::RegisterID src, unsigned offset)
    134134{
    135     m_jit.emitMovl_rm(src, offset + sizeof(void*), MacroAssembler::esp);
     135    m_jit.movl_rm(src, offset + sizeof(void*), MacroAssembler::esp);
    136136}
    137137
    138138ALWAYS_INLINE void CTI::emitPutArgConstant(unsigned value, unsigned offset)
    139139{
    140     m_jit.emitMovl_i32m(value, offset + sizeof(void*), MacroAssembler::esp);
     140    m_jit.movl_i32m(value, offset + sizeof(void*), MacroAssembler::esp);
    141141}
    142142
     
    152152ALWAYS_INLINE void CTI::emitPutCTIParam(MacroAssembler::RegisterID from, unsigned name)
    153153{
    154     m_jit.emitMovl_rm(from, name * sizeof(void*), MacroAssembler::esp);
     154    m_jit.movl_rm(from, name * sizeof(void*), MacroAssembler::esp);
    155155}
    156156
    157157ALWAYS_INLINE void CTI::emitGetCTIParam(unsigned name, MacroAssembler::RegisterID to)
    158158{
    159     m_jit.emitMovl_mr(name * sizeof(void*), MacroAssembler::esp, to);
     159    m_jit.movl_mr(name * sizeof(void*), MacroAssembler::esp, to);
    160160}
    161161
    162162ALWAYS_INLINE void CTI::emitPutToCallFrameHeader(MacroAssembler::RegisterID from, RegisterFile::CallFrameHeaderEntry entry)
    163163{
    164     m_jit.emitMovl_rm(from, -((m_codeBlock->numLocals + RegisterFile::CallFrameHeaderSize) - entry) * sizeof(Register), MacroAssembler::edi);
     164    m_jit.movl_rm(from, -((m_codeBlock->numLocals + RegisterFile::CallFrameHeaderSize) - entry) * sizeof(Register), MacroAssembler::edi);
    165165}
    166166
    167167ALWAYS_INLINE void CTI::emitGetFromCallFrameHeader(RegisterFile::CallFrameHeaderEntry entry, MacroAssembler::RegisterID to)
    168168{
    169     m_jit.emitMovl_mr(-((m_codeBlock->numLocals + RegisterFile::CallFrameHeaderSize) - entry) * sizeof(Register), MacroAssembler::edi, to);
     169    m_jit.movl_mr(-((m_codeBlock->numLocals + RegisterFile::CallFrameHeaderSize) - entry) * sizeof(Register), MacroAssembler::edi, to);
    170170}
    171171
    172172ALWAYS_INLINE void CTI::emitPutResult(unsigned dst, MacroAssembler::RegisterID from)
    173173{
    174     m_jit.emitMovl_rm(from, dst * sizeof(Register), MacroAssembler::edi);
     174    m_jit.movl_rm(from, dst * sizeof(Register), MacroAssembler::edi);
    175175    // FIXME: #ifndef NDEBUG, Write the correct m_type to the register.
    176176}
     
    201201{
    202202    emitGetCTIParam(CTI_ARGS_exec, MacroAssembler::ecx);
    203     m_jit.emitCmpl_i32m(0, OBJECT_OFFSET(ExecState, m_exception), MacroAssembler::ecx);
     203    m_jit.cmpl_i32m(0, OBJECT_OFFSET(ExecState, m_exception), MacroAssembler::ecx);
    204204    MacroAssembler::JmpSrc noException = m_jit.emitUnlinkedJe();
    205205    m_jit.emitInt3();
     
    246246{
    247247#if ENABLE(SAMPLING_TOOL)
    248     m_jit.emitMovl_i32m(1, &incall);
     248    m_jit.movl_i32m(1, &incall);
    249249#endif
    250250    m_calls.append(CallRecord(m_jit.emitCall(), helper, opcodeIndex));
    251251    emitDebugExceptionCheck();
    252252#if ENABLE(SAMPLING_TOOL)
    253     m_jit.emitMovl_i32m(0, &incall);
     253    m_jit.movl_i32m(0, &incall);
    254254#endif
    255255}
     
    258258{
    259259#if ENABLE(SAMPLING_TOOL)
    260     m_jit.emitMovl_i32m(1, &incall);
     260    m_jit.movl_i32m(1, &incall);
    261261#endif
    262262    m_calls.append(CallRecord(m_jit.emitCall(), helper, opcodeIndex));
    263263    emitDebugExceptionCheck();
    264264#if ENABLE(SAMPLING_TOOL)
    265     m_jit.emitMovl_i32m(0, &incall);
     265    m_jit.movl_i32m(0, &incall);
    266266#endif
    267267}
     
    270270{
    271271#if ENABLE(SAMPLING_TOOL)
    272     m_jit.emitMovl_i32m(1, &incall);
     272    m_jit.movl_i32m(1, &incall);
    273273#endif
    274274    m_calls.append(CallRecord(m_jit.emitCall(), helper, opcodeIndex));
    275275    emitDebugExceptionCheck();
    276276#if ENABLE(SAMPLING_TOOL)
    277     m_jit.emitMovl_i32m(0, &incall);
     277    m_jit.movl_i32m(0, &incall);
    278278#endif
    279279}
     
    282282{
    283283#if ENABLE(SAMPLING_TOOL)
    284     m_jit.emitMovl_i32m(1, &incall);
     284    m_jit.movl_i32m(1, &incall);
    285285#endif
    286286    m_calls.append(CallRecord(m_jit.emitCall(), helper, opcodeIndex));
    287287    emitDebugExceptionCheck();
    288288#if ENABLE(SAMPLING_TOOL)
    289     m_jit.emitMovl_i32m(0, &incall);
     289    m_jit.movl_i32m(0, &incall);
    290290#endif
    291291}
     
    294294{
    295295#if ENABLE(SAMPLING_TOOL)
    296     m_jit.emitMovl_i32m(1, &incall);
     296    m_jit.movl_i32m(1, &incall);
    297297#endif
    298298    m_calls.append(CallRecord(m_jit.emitCall(), helper, opcodeIndex));
    299299    emitDebugExceptionCheck();
    300300#if ENABLE(SAMPLING_TOOL)
    301     m_jit.emitMovl_i32m(0, &incall);
     301    m_jit.movl_i32m(0, &incall);
    302302#endif
    303303}
     
    305305ALWAYS_INLINE void CTI::emitJumpSlowCaseIfNotImm(MacroAssembler::RegisterID reg, unsigned opcodeIndex)
    306306{
    307     m_jit.emitTestl_i32r(JSImmediate::TagBitTypeInteger, reg);
     307    m_jit.testl_i32r(JSImmediate::TagBitTypeInteger, reg);
    308308    m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJe(), opcodeIndex));
    309309}
     
    311311ALWAYS_INLINE void CTI::emitJumpSlowCaseIfNotImms(MacroAssembler::RegisterID reg1, MacroAssembler::RegisterID reg2, unsigned opcodeIndex)
    312312{
    313     m_jit.emitMovl_rr(reg1, MacroAssembler::ecx);
    314     m_jit.emitAndl_rr(reg2, MacroAssembler::ecx);
     313    m_jit.movl_rr(reg1, MacroAssembler::ecx);
     314    m_jit.andl_rr(reg2, MacroAssembler::ecx);
    315315    emitJumpSlowCaseIfNotImm(MacroAssembler::ecx, opcodeIndex);
    316316}
     
    325325{
    326326    // op_mod relies on this being a sub - setting zf if result is 0.
    327     m_jit.emitSubl_i8r(JSImmediate::TagBitTypeInteger, reg);
     327    m_jit.subl_i8r(JSImmediate::TagBitTypeInteger, reg);
    328328}
    329329
    330330ALWAYS_INLINE void CTI::emitFastArithReTagImmediate(MacroAssembler::RegisterID reg)
    331331{
    332     m_jit.emitAddl_i8r(JSImmediate::TagBitTypeInteger, reg);
     332    m_jit.addl_i8r(JSImmediate::TagBitTypeInteger, reg);
    333333}
    334334
    335335ALWAYS_INLINE void CTI::emitFastArithPotentiallyReTagImmediate(MacroAssembler::RegisterID reg)
    336336{
    337     m_jit.emitOrl_i8r(JSImmediate::TagBitTypeInteger, reg);
     337    m_jit.orl_rr(JSImmediate::TagBitTypeInteger, reg);
    338338}
    339339
    340340ALWAYS_INLINE void CTI::emitFastArithImmToInt(MacroAssembler::RegisterID reg)
    341341{
    342     m_jit.emitSarl_i8r(1, reg);
     342    m_jit.sarl_i8r(1, reg);
    343343}
    344344
    345345ALWAYS_INLINE void CTI::emitFastArithIntToImmOrSlowCase(MacroAssembler::RegisterID reg, unsigned opcodeIndex)
    346346{
    347     m_jit.emitAddl_rr(reg, reg);
     347    m_jit.addl_rr(reg, reg);
    348348    m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJo(), opcodeIndex));
    349349    emitFastArithReTagImmediate(reg);
     
    352352ALWAYS_INLINE void CTI::emitFastArithIntToImmNoCheck(MacroAssembler::RegisterID reg)
    353353{
    354     m_jit.emitAddl_rr(reg, reg);
     354    m_jit.addl_rr(reg, reg);
    355355    emitFastArithReTagImmediate(reg);
    356356}
     
    405405       emitGetCTIParam(CTI_ARGS_r, MacroAssembler::edi); // edi := r
    406406
    407         m_jit.emitCmpl_i32r(reinterpret_cast<unsigned>(JSImmediate::impossibleValue()), MacroAssembler::eax);
     407        m_jit.cmpl_i32r(reinterpret_cast<unsigned>(JSImmediate::impossibleValue()), MacroAssembler::eax);
    408408        wasEval = m_jit.emitUnlinkedJne();
    409409   
     
    417417
    418418    // Fast check for JS function.
    419     m_jit.emitTestl_i32r(JSImmediate::TagMask, MacroAssembler::ecx);
     419    m_jit.testl_i32r(JSImmediate::TagMask, MacroAssembler::ecx);
    420420    MacroAssembler::JmpSrc isNotObject = m_jit.emitUnlinkedJne();
    421     m_jit.emitCmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsFunctionVptr), MacroAssembler::ecx);
     421    m_jit.cmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsFunctionVptr), MacroAssembler::ecx);
    422422    MacroAssembler::JmpSrc isJSFunction = m_jit.emitUnlinkedJe();
    423423    m_jit.link(isNotObject, m_jit.label());
     
    432432    // This handles JSFunctions
    433433    emitCall(i, ((type == OpConstruct) ? Machine::cti_op_construct_JSConstruct : Machine::cti_op_call_JSFunction));
    434     m_jit.emitCallN_r(MacroAssembler::eax);
     434    m_jit.call_r(MacroAssembler::eax);
    435435    emitGetCTIParam(CTI_ARGS_r, MacroAssembler::edi); // edi := r
    436436
     
    445445void CTI::emitSlowScriptCheck(unsigned opcodeIndex)
    446446{
    447     m_jit.emitSubl_i8r(1, MacroAssembler::esi);
     447    m_jit.subl_i8r(1, MacroAssembler::esi);
    448448    MacroAssembler::JmpSrc skipTimeout = m_jit.emitUnlinkedJne();
    449449    emitCall(opcodeIndex, Machine::cti_timeout_check);
    450450
    451451    emitGetCTIParam(CTI_ARGS_exec, MacroAssembler::ecx);
    452     m_jit.emitMovl_mr(OBJECT_OFFSET(ExecState, m_globalData), MacroAssembler::ecx, MacroAssembler::ecx);
    453     m_jit.emitMovl_mr(OBJECT_OFFSET(JSGlobalData, machine), MacroAssembler::ecx, MacroAssembler::ecx);
    454     m_jit.emitMovl_mr(OBJECT_OFFSET(Machine, m_ticksUntilNextTimeoutCheck), MacroAssembler::ecx, MacroAssembler::esi);
     452    m_jit.movl_mr(OBJECT_OFFSET(ExecState, m_globalData), MacroAssembler::ecx, MacroAssembler::ecx);
     453    m_jit.movl_mr(OBJECT_OFFSET(JSGlobalData, machine), MacroAssembler::ecx, MacroAssembler::ecx);
     454    m_jit.movl_mr(OBJECT_OFFSET(Machine, m_ticksUntilNextTimeoutCheck), MacroAssembler::ecx, MacroAssembler::esi);
    455455    m_jit.link(skipTimeout, m_jit.label());
    456456}
     
    465465
    466466#if ENABLE(SAMPLING_TOOL)
    467         m_jit.emitMovl_i32m(m_machine->getOpcodeID(instruction[i].u.opcode), &what);
     467        m_jit.movl_i32m(m_machine->getOpcodeID(instruction[i].u.opcode), &what);
    468468#endif
    469469
     
    474474            unsigned src = instruction[i + 2].u.operand;
    475475            if (src < m_codeBlock->constantRegisters.size())
    476                 m_jit.emitMovl_i32r(reinterpret_cast<unsigned>(m_codeBlock->constantRegisters[src].jsValue(m_exec)), MacroAssembler::edx);
     476                m_jit.movl_i32r(reinterpret_cast<unsigned>(m_codeBlock->constantRegisters[src].jsValue(m_exec)), MacroAssembler::edx);
    477477            else
    478478                emitGetArg(src, MacroAssembler::edx);
     
    490490                    emitGetArg(src1, MacroAssembler::eax);
    491491                    emitJumpSlowCaseIfNotImm(MacroAssembler::eax, i);
    492                     m_jit.emitAddl_i32r(getDeTaggedConstantImmediate(value), MacroAssembler::eax);
     492                    m_jit.addl_i32r(getDeTaggedConstantImmediate(value), MacroAssembler::eax);
    493493                    m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJo(), i));
    494494                    emitPutResult(dst);
     
    501501                emitJumpSlowCaseIfNotImms(MacroAssembler::eax, MacroAssembler::edx, i);
    502502                emitFastArithDeTagImmediate(MacroAssembler::eax);
    503                 m_jit.emitAddl_rr(MacroAssembler::edx, MacroAssembler::eax);
     503                m_jit.addl_rr(MacroAssembler::edx, MacroAssembler::eax);
    504504                m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJo(), i));
    505505                emitPutResult(dst);
     
    519519            emitGetArg(instruction[i + 1].u.operand, MacroAssembler::eax);
    520520#if ENABLE(SAMPLING_TOOL)
    521             m_jit.emitMovl_i32m(-1, &what);
     521            m_jit.movl_i32m(-1, &what);
    522522#endif
    523             m_jit.emitPushl_m(-((m_codeBlock->numLocals + RegisterFile::CallFrameHeaderSize) - RegisterFile::CTIReturnEIP) * sizeof(Register), MacroAssembler::edi);
    524             m_jit.emitRet();
     523            m_jit.pushl_m(-((m_codeBlock->numLocals + RegisterFile::CallFrameHeaderSize) - RegisterFile::CTIReturnEIP) * sizeof(Register), MacroAssembler::edi);
     524            m_jit.ret();
    525525            i += 2;
    526526            break;
     
    536536            emitGetArg(srcDst, MacroAssembler::eax);
    537537            emitJumpSlowCaseIfNotImm(MacroAssembler::eax, i);
    538             m_jit.emitAddl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), MacroAssembler::eax);
     538            m_jit.addl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), MacroAssembler::eax);
    539539            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJo(), i));
    540540            emitPutResult(srcDst, MacroAssembler::eax);
     
    558558                emitGetArg(instruction[i + 1].u.operand, MacroAssembler::edx);
    559559                emitJumpSlowCaseIfNotImm(MacroAssembler::edx, i);
    560                 m_jit.emitCmpl_i32r(reinterpret_cast<unsigned>(src2imm), MacroAssembler::edx);
     560                m_jit.cmpl_i32r(reinterpret_cast<unsigned>(src2imm), MacroAssembler::edx);
    561561                m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJl(), i + 3 + target));
    562562            } else {
     
    565565                emitJumpSlowCaseIfNotImm(MacroAssembler::eax, i);
    566566                emitJumpSlowCaseIfNotImm(MacroAssembler::edx, i);
    567                 m_jit.emitCmpl_rr(MacroAssembler::edx, MacroAssembler::eax);
     567                m_jit.cmpl_rr(MacroAssembler::edx, MacroAssembler::eax);
    568568                m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJl(), i + 3 + target));
    569569            }
     
    634634            emitGetCTIParam(CTI_ARGS_scopeChain, MacroAssembler::eax);
    635635            while (skip--)
    636                 m_jit.emitMovl_mr(OBJECT_OFFSET(ScopeChainNode, next), MacroAssembler::eax, MacroAssembler::eax);
    637 
    638             m_jit.emitMovl_mr(OBJECT_OFFSET(ScopeChainNode, object), MacroAssembler::eax, MacroAssembler::eax);
    639             m_jit.emitMovl_mr(JSVariableObject::offsetOf_d(), MacroAssembler::eax, MacroAssembler::eax);
    640             m_jit.emitMovl_mr(JSVariableObject::offsetOf_Data_registers(), MacroAssembler::eax, MacroAssembler::eax);
    641             m_jit.emitMovl_mr((instruction[i + 2].u.operand) * sizeof(Register), MacroAssembler::eax, MacroAssembler::eax);
     636                m_jit.movl_mr(OBJECT_OFFSET(ScopeChainNode, next), MacroAssembler::eax, MacroAssembler::eax);
     637
     638            m_jit.movl_mr(OBJECT_OFFSET(ScopeChainNode, object), MacroAssembler::eax, MacroAssembler::eax);
     639            m_jit.movl_mr(JSVariableObject::offsetOf_d(), MacroAssembler::eax, MacroAssembler::eax);
     640            m_jit.movl_mr(JSVariableObject::offsetOf_Data_registers(), MacroAssembler::eax, MacroAssembler::eax);
     641            m_jit.movl_mr((instruction[i + 2].u.operand) * sizeof(Register), MacroAssembler::eax, MacroAssembler::eax);
    642642            emitPutResult(instruction[i + 1].u.operand);
    643643            i += 4;
     
    650650            emitGetArg(instruction[i + 3].u.operand, MacroAssembler::eax);
    651651            while (skip--)
    652                 m_jit.emitMovl_mr(OBJECT_OFFSET(ScopeChainNode, next), MacroAssembler::edx, MacroAssembler::edx);
    653 
    654             m_jit.emitMovl_mr(OBJECT_OFFSET(ScopeChainNode, object), MacroAssembler::edx, MacroAssembler::edx);
    655             m_jit.emitMovl_mr(JSVariableObject::offsetOf_d(), MacroAssembler::edx, MacroAssembler::edx);
    656             m_jit.emitMovl_mr(JSVariableObject::offsetOf_Data_registers(), MacroAssembler::edx, MacroAssembler::edx);
    657             m_jit.emitMovl_rm(MacroAssembler::eax, (instruction[i + 1].u.operand) * sizeof(Register), MacroAssembler::edx);
     652                m_jit.movl_mr(OBJECT_OFFSET(ScopeChainNode, next), MacroAssembler::edx, MacroAssembler::edx);
     653
     654            m_jit.movl_mr(OBJECT_OFFSET(ScopeChainNode, object), MacroAssembler::edx, MacroAssembler::edx);
     655            m_jit.movl_mr(JSVariableObject::offsetOf_d(), MacroAssembler::edx, MacroAssembler::edx);
     656            m_jit.movl_mr(JSVariableObject::offsetOf_Data_registers(), MacroAssembler::edx, MacroAssembler::edx);
     657            m_jit.movl_rm(MacroAssembler::eax, (instruction[i + 1].u.operand) * sizeof(Register), MacroAssembler::edx);
    658658            i += 4;
    659659            break;
     
    663663            emitCall(i, Machine::cti_op_ret);
    664664
    665             m_jit.emitPushl_m(-((m_codeBlock->numLocals + RegisterFile::CallFrameHeaderSize) - RegisterFile::CTIReturnEIP) * sizeof(Register), MacroAssembler::edi);
    666             m_jit.emitRet();
     665            m_jit.pushl_m(-((m_codeBlock->numLocals + RegisterFile::CallFrameHeaderSize) - RegisterFile::CTIReturnEIP) * sizeof(Register), MacroAssembler::edi);
     666            m_jit.ret();
    667667            i += 2;
    668668            break;
    669669        }
    670670        case op_new_array: {
    671             m_jit.emitLeal_mr(sizeof(Register) * instruction[i + 2].u.operand, MacroAssembler::edi, MacroAssembler::edx);
     671            m_jit.leal_mr(sizeof(Register) * instruction[i + 2].u.operand, MacroAssembler::edi, MacroAssembler::edx);
    672672            emitPutArg(MacroAssembler::edx, 0);
    673673            emitPutArgConstant(instruction[i + 3].u.operand, 4);
     
    695695            emitJumpSlowCaseIfNotImm(MacroAssembler::edx, i);
    696696            emitFastArithImmToInt(MacroAssembler::edx);
    697             m_jit.emitTestl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
     697            m_jit.testl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
    698698            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJne(), i));
    699             m_jit.emitCmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsArrayVptr), MacroAssembler::eax);
     699            m_jit.cmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsArrayVptr), MacroAssembler::eax);
    700700            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJne(), i));
    701             m_jit.emitCmpl_rm(MacroAssembler::edx, OBJECT_OFFSET(JSArray, m_fastAccessCutoff), MacroAssembler::eax);
     701            m_jit.cmpl_rm(MacroAssembler::edx, OBJECT_OFFSET(JSArray, m_fastAccessCutoff), MacroAssembler::eax);
    702702            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJbe(), i));
    703703
    704             m_jit.emitMovl_mr(OBJECT_OFFSET(JSArray, m_storage), MacroAssembler::eax, MacroAssembler::eax);
    705             m_jit.emitMovl_mr(OBJECT_OFFSET(ArrayStorage, m_vector[0]), MacroAssembler::eax, MacroAssembler::edx, sizeof(JSValue*), MacroAssembler::eax);
     704            m_jit.movl_mr(OBJECT_OFFSET(JSArray, m_storage), MacroAssembler::eax, MacroAssembler::eax);
     705            m_jit.movl_mr(OBJECT_OFFSET(ArrayStorage, m_vector[0]), MacroAssembler::eax, MacroAssembler::edx, sizeof(JSValue*), MacroAssembler::eax);
    706706            emitPutResult(instruction[i + 1].u.operand);
    707707            i += 4;
     
    722722            emitGetArg(instruction[i + 3].u.operand, MacroAssembler::edx);
    723723            emitJumpSlowCaseIfNotImms(MacroAssembler::eax, MacroAssembler::edx, i);
    724             m_jit.emitSubl_rr(MacroAssembler::edx, MacroAssembler::eax);
     724            m_jit.subl_rr(MacroAssembler::edx, MacroAssembler::eax);
    725725            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJo(), i));
    726726            emitFastArithReTagImmediate(MacroAssembler::eax);
     
    735735            emitJumpSlowCaseIfNotImm(MacroAssembler::edx, i);
    736736            emitFastArithImmToInt(MacroAssembler::edx);
    737             m_jit.emitTestl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
     737            m_jit.testl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
    738738            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJne(), i));
    739             m_jit.emitCmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsArrayVptr), MacroAssembler::eax);
     739            m_jit.cmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsArrayVptr), MacroAssembler::eax);
    740740            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJne(), i));
    741             m_jit.emitCmpl_rm(MacroAssembler::edx, OBJECT_OFFSET(JSArray, m_fastAccessCutoff), MacroAssembler::eax);
     741            m_jit.cmpl_rm(MacroAssembler::edx, OBJECT_OFFSET(JSArray, m_fastAccessCutoff), MacroAssembler::eax);
    742742            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJbe(), i));
    743743
    744             m_jit.emitMovl_mr(OBJECT_OFFSET(JSArray, m_storage), MacroAssembler::eax, MacroAssembler::eax);
    745             m_jit.emitMovl_rm(MacroAssembler::ecx, OBJECT_OFFSET(ArrayStorage, m_vector[0]), MacroAssembler::eax, MacroAssembler::edx, sizeof(JSValue*));
     744            m_jit.movl_mr(OBJECT_OFFSET(JSArray, m_storage), MacroAssembler::eax, MacroAssembler::eax);
     745            m_jit.movl_rm(MacroAssembler::ecx, OBJECT_OFFSET(ArrayStorage, m_vector[0]), MacroAssembler::eax, MacroAssembler::edx, sizeof(JSValue*));
    746746            i += 4;
    747747            break;
     
    754754            emitGetArg(instruction[i + 1].u.operand, MacroAssembler::eax);
    755755
    756             m_jit.emitCmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::zeroImmediate()), MacroAssembler::eax);
     756            m_jit.cmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::zeroImmediate()), MacroAssembler::eax);
    757757            MacroAssembler::JmpSrc isZero = m_jit.emitUnlinkedJe();
    758             m_jit.emitTestl_i32r(JSImmediate::TagBitTypeInteger, MacroAssembler::eax);
     758            m_jit.testl_i32r(JSImmediate::TagBitTypeInteger, MacroAssembler::eax);
    759759            m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJne(), i + 2 + target));
    760760
    761             m_jit.emitCmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::trueImmediate()), MacroAssembler::eax);
     761            m_jit.cmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::trueImmediate()), MacroAssembler::eax);
    762762            m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJe(), i + 2 + target));
    763             m_jit.emitCmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::falseImmediate()), MacroAssembler::eax);
     763            m_jit.cmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::falseImmediate()), MacroAssembler::eax);
    764764            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJne(), i));
    765765
     
    797797            emitGetArg(srcDst, MacroAssembler::eax);
    798798            emitJumpSlowCaseIfNotImm(MacroAssembler::eax, i);
    799             m_jit.emitSubl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), MacroAssembler::eax);
     799            m_jit.subl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), MacroAssembler::eax);
    800800            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJo(), i));
    801801            emitPutResult(srcDst, MacroAssembler::eax);
     
    809809                emitGetArg(instruction[i + 1].u.operand, MacroAssembler::edx);
    810810                emitJumpSlowCaseIfNotImm(MacroAssembler::edx, i);
    811                 m_jit.emitCmpl_i32r(reinterpret_cast<unsigned>(src2imm), MacroAssembler::edx);
     811                m_jit.cmpl_i32r(reinterpret_cast<unsigned>(src2imm), MacroAssembler::edx);
    812812                m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJge(), i + 3 + target));
    813813            } else {
     
    816816                emitJumpSlowCaseIfNotImm(MacroAssembler::eax, i);
    817817                emitJumpSlowCaseIfNotImm(MacroAssembler::edx, i);
    818                 m_jit.emitCmpl_rr(MacroAssembler::edx, MacroAssembler::eax);
     818                m_jit.cmpl_rr(MacroAssembler::edx, MacroAssembler::eax);
    819819                m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJge(), i + 3 + target));
    820820            }
     
    824824        case op_not: {
    825825            emitGetArg(instruction[i + 2].u.operand, MacroAssembler::eax);
    826             m_jit.emitXorl_i8r(JSImmediate::FullTagTypeBool, MacroAssembler::eax);
    827             m_jit.emitTestl_i32r(JSImmediate::FullTagTypeMask, MacroAssembler::eax); // i8?
     826            m_jit.xorl_i8r(JSImmediate::FullTagTypeBool, MacroAssembler::eax);
     827            m_jit.testl_i32r(JSImmediate::FullTagTypeMask, MacroAssembler::eax); // i8?
    828828            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJne(), i));
    829             m_jit.emitXorl_i8r((JSImmediate::FullTagTypeBool | JSImmediate::ExtendedPayloadBitBoolValue), MacroAssembler::eax);
     829            m_jit.xorl_i8r((JSImmediate::FullTagTypeBool | JSImmediate::ExtendedPayloadBitBoolValue), MacroAssembler::eax);
    830830            emitPutResult(instruction[i + 1].u.operand);
    831831            i += 3;
     
    836836            emitGetArg(instruction[i + 1].u.operand, MacroAssembler::eax);
    837837
    838             m_jit.emitCmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::zeroImmediate()), MacroAssembler::eax);
     838            m_jit.cmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::zeroImmediate()), MacroAssembler::eax);
    839839            m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJe(), i + 2 + target));
    840             m_jit.emitTestl_i32r(JSImmediate::TagBitTypeInteger, MacroAssembler::eax);
     840            m_jit.testl_i32r(JSImmediate::TagBitTypeInteger, MacroAssembler::eax);
    841841            MacroAssembler::JmpSrc isNonZero = m_jit.emitUnlinkedJne();
    842842
    843             m_jit.emitCmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::falseImmediate()), MacroAssembler::eax);
     843            m_jit.cmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::falseImmediate()), MacroAssembler::eax);
    844844            m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJe(), i + 2 + target));
    845             m_jit.emitCmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::trueImmediate()), MacroAssembler::eax);
     845            m_jit.cmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::trueImmediate()), MacroAssembler::eax);
    846846            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJne(), i));
    847847
     
    853853            int srcDst = instruction[i + 2].u.operand;
    854854            emitGetArg(srcDst, MacroAssembler::eax);
    855             m_jit.emitMovl_rr(MacroAssembler::eax, MacroAssembler::edx);
     855            m_jit.movl_rr(MacroAssembler::eax, MacroAssembler::edx);
    856856            emitJumpSlowCaseIfNotImm(MacroAssembler::eax, i);
    857             m_jit.emitAddl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), MacroAssembler::edx);
     857            m_jit.addl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), MacroAssembler::edx);
    858858            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJo(), i));
    859859            emitPutResult(srcDst, MacroAssembler::edx);
     
    864864        case op_unexpected_load: {
    865865            JSValue* v = m_codeBlock->unexpectedConstants[instruction[i + 2].u.operand];
    866             m_jit.emitMovl_i32r(reinterpret_cast<unsigned>(v), MacroAssembler::eax);
     866            m_jit.movl_i32r(reinterpret_cast<unsigned>(v), MacroAssembler::eax);
    867867            emitPutResult(instruction[i + 1].u.operand);
    868868            i += 3;
     
    872872            int retAddrDst = instruction[i + 1].u.operand;
    873873            int target = instruction[i + 2].u.operand;
    874             m_jit.emitMovl_i32m(0, sizeof(Register) * retAddrDst, MacroAssembler::edi);
     874            m_jit.movl_i32m(0, sizeof(Register) * retAddrDst, MacroAssembler::edi);
    875875            MacroAssembler::JmpDst addrPosition = m_jit.label();
    876876            m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJmp(), i + 2 + target));
     
    881881        }
    882882        case op_sret: {
    883             m_jit.emitJmpN_m(sizeof(Register) * instruction[i + 1].u.operand, MacroAssembler::edi);
     883            m_jit.jmp_m(sizeof(Register) * instruction[i + 1].u.operand, MacroAssembler::edi);
    884884            i += 2;
    885885            break;
     
    893893            emitFastArithImmToInt(MacroAssembler::eax);
    894894            emitFastArithImmToInt(MacroAssembler::ecx);
    895             m_jit.emitShll_CLr(MacroAssembler::eax);
     895            m_jit.shll_CLr(MacroAssembler::eax);
    896896            emitFastArithIntToImmOrSlowCase(MacroAssembler::eax, i);
    897897            emitPutResult(instruction[i + 1].u.operand);
     
    906906                emitGetArg(src2, MacroAssembler::eax);
    907907                emitJumpSlowCaseIfNotImm(MacroAssembler::eax, i);
    908                 m_jit.emitAndl_i32r(reinterpret_cast<unsigned>(value), MacroAssembler::eax); // FIXME: make it more obvious this is relying on the format of JSImmediate
     908                m_jit.andl_i32r(reinterpret_cast<unsigned>(value), MacroAssembler::eax); // FIXME: make it more obvious this is relying on the format of JSImmediate
    909909                emitPutResult(dst);
    910910            } else if (JSValue* value = getConstantImmediateNumericArg(src2)) {
    911911                emitGetArg(src1, MacroAssembler::eax);
    912912                emitJumpSlowCaseIfNotImm(MacroAssembler::eax, i);
    913                 m_jit.emitAndl_i32r(reinterpret_cast<unsigned>(value), MacroAssembler::eax);
     913                m_jit.andl_i32r(reinterpret_cast<unsigned>(value), MacroAssembler::eax);
    914914                emitPutResult(dst);
    915915            } else {
    916916                emitGetArg(src1, MacroAssembler::eax);
    917917                emitGetArg(src2, MacroAssembler::edx);
    918                 m_jit.emitAndl_rr(MacroAssembler::edx, MacroAssembler::eax);
     918                m_jit.andl_rr(MacroAssembler::edx, MacroAssembler::eax);
    919919                emitJumpSlowCaseIfNotImm(MacroAssembler::eax, i);
    920920                emitPutResult(dst);
     
    929929            emitJumpSlowCaseIfNotImm(MacroAssembler::ecx, i);
    930930            emitFastArithImmToInt(MacroAssembler::ecx);
    931             m_jit.emitSarl_CLr(MacroAssembler::eax);
     931            m_jit.sarl_CLr(MacroAssembler::eax);
    932932            emitFastArithPotentiallyReTagImmediate(MacroAssembler::eax);
    933933            emitPutResult(instruction[i + 1].u.operand);
     
    938938            emitGetArg(instruction[i + 2].u.operand, MacroAssembler::eax);
    939939            emitJumpSlowCaseIfNotImm(MacroAssembler::eax, i);
    940             m_jit.emitXorl_i8r(~JSImmediate::TagBitTypeInteger, MacroAssembler::eax);
     940            m_jit.xorl_i8r(~JSImmediate::TagBitTypeInteger, MacroAssembler::eax);
    941941            emitPutResult(instruction[i + 1].u.operand);
    942942            i += 3;
     
    969969            emitFastArithDeTagImmediate(MacroAssembler::ecx);
    970970            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJe(), i)); // This is checking if the last detag resulted in a value 0.
    971             m_jit.emitCdq();
    972             m_jit.emitIdivl_r(MacroAssembler::ecx);
     971            m_jit.cdq();
     972            m_jit.idivl_r(MacroAssembler::ecx);
    973973            emitFastArithReTagImmediate(MacroAssembler::edx);
    974             m_jit.emitMovl_rr(MacroAssembler::edx, MacroAssembler::eax);
     974            m_jit.movl_rr(MacroAssembler::edx, MacroAssembler::eax);
    975975            emitPutResult(instruction[i + 1].u.operand);
    976976            i += 4;
     
    981981            emitGetArg(instruction[i + 1].u.operand, MacroAssembler::eax);
    982982
    983             m_jit.emitCmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::zeroImmediate()), MacroAssembler::eax);
     983            m_jit.cmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::zeroImmediate()), MacroAssembler::eax);
    984984            MacroAssembler::JmpSrc isZero = m_jit.emitUnlinkedJe();
    985             m_jit.emitTestl_i32r(JSImmediate::TagBitTypeInteger, MacroAssembler::eax);
     985            m_jit.testl_i32r(JSImmediate::TagBitTypeInteger, MacroAssembler::eax);
    986986            m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJne(), i + 2 + target));
    987987
    988             m_jit.emitCmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::trueImmediate()), MacroAssembler::eax);
     988            m_jit.cmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::trueImmediate()), MacroAssembler::eax);
    989989            m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJe(), i + 2 + target));
    990             m_jit.emitCmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::falseImmediate()), MacroAssembler::eax);
     990            m_jit.cmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::falseImmediate()), MacroAssembler::eax);
    991991            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJne(), i));
    992992
     
    10001000            int srcDst = instruction[i + 2].u.operand;
    10011001            emitGetArg(srcDst, MacroAssembler::eax);
    1002             m_jit.emitMovl_rr(MacroAssembler::eax, MacroAssembler::edx);
     1002            m_jit.movl_rr(MacroAssembler::eax, MacroAssembler::edx);
    10031003            emitJumpSlowCaseIfNotImm(MacroAssembler::eax, i);
    1004             m_jit.emitSubl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), MacroAssembler::edx);
     1004            m_jit.subl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), MacroAssembler::edx);
    10051005            m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJo(), i));
    10061006            emitPutResult(srcDst, MacroAssembler::edx);
     
    10141014            emitGetArg(instruction[i + 3].u.operand, MacroAssembler::edx);
    10151015            emitJumpSlowCaseIfNotImms(MacroAssembler::eax, MacroAssembler::edx, i);
    1016             m_jit.emitXorl_rr(MacroAssembler::edx, MacroAssembler::eax);
     1016            m_jit.xorl_rr(MacroAssembler::edx, MacroAssembler::eax);
    10171017            emitFastArithReTagImmediate(MacroAssembler::eax);
    10181018            emitPutResult(instruction[i + 1].u.operand);
     
    10321032            emitGetArg(instruction[i + 3].u.operand, MacroAssembler::edx);
    10331033            emitJumpSlowCaseIfNotImms(MacroAssembler::eax, MacroAssembler::edx, i);
    1034             m_jit.emitOrl_rr(MacroAssembler::edx, MacroAssembler::eax);
     1034            m_jit.orl_rr(MacroAssembler::edx, MacroAssembler::eax);
    10351035            emitPutResult(instruction[i + 1].u.operand);
    10361036            i += 4;
     
    10451045            emitGetPutArg(instruction[i + 1].u.operand, 0, MacroAssembler::ecx);
    10461046            emitCall(i, Machine::cti_op_throw);
    1047             m_jit.emitAddl_i8r(0x24, MacroAssembler::esp);
    1048             m_jit.emitPopl_r(MacroAssembler::edi);
    1049             m_jit.emitPopl_r(MacroAssembler::esi);
    1050             m_jit.emitRet();
     1047            m_jit.addl_i8r(0x24, MacroAssembler::esp);
     1048            m_jit.popl_r(MacroAssembler::edi);
     1049            m_jit.popl_r(MacroAssembler::esi);
     1050            m_jit.ret();
    10511051            i += 2;
    10521052            break;
     
    10631063            unsigned target = instruction[i + 3].u.operand;
    10641064            emitCall(i, Machine::cti_op_next_pname);
    1065             m_jit.emitTestl_rr(MacroAssembler::eax, MacroAssembler::eax);
     1065            m_jit.testl_rr(MacroAssembler::eax, MacroAssembler::eax);
    10661066            MacroAssembler::JmpSrc endOfIter = m_jit.emitUnlinkedJe();
    10671067            emitPutResult(instruction[i + 1].u.operand);
     
    11181118            emitGetCTIParam(CTI_ARGS_r, MacroAssembler::edi); // edi := r
    11191119            emitGetCTIParam(CTI_ARGS_exec, MacroAssembler::ecx);
    1120             m_jit.emitMovl_mr(OBJECT_OFFSET(ExecState, m_exception), MacroAssembler::ecx, MacroAssembler::eax);
    1121             m_jit.emitMovl_i32m(0, OBJECT_OFFSET(ExecState, m_exception), MacroAssembler::ecx);
     1120            m_jit.movl_mr(OBJECT_OFFSET(ExecState, m_exception), MacroAssembler::ecx, MacroAssembler::eax);
     1121            m_jit.movl_i32m(0, OBJECT_OFFSET(ExecState, m_exception), MacroAssembler::ecx);
    11221122            emitPutResult(instruction[i + 1].u.operand);
    11231123            i += 2;
     
    11541154            emitPutArgConstant(tableIndex, 4);
    11551155            emitCall(i, Machine::cti_op_switch_imm);
    1156             m_jit.emitJmpN_r(MacroAssembler::eax);
     1156            m_jit.jmp_r(MacroAssembler::eax);
    11571157            i += 4;
    11581158            break;
     
    11711171            emitPutArgConstant(tableIndex, 4);
    11721172            emitCall(i, Machine::cti_op_switch_char);
    1173             m_jit.emitJmpN_r(MacroAssembler::eax);
     1173            m_jit.jmp_r(MacroAssembler::eax);
    11741174            i += 4;
    11751175            break;
     
    11871187            emitPutArgConstant(tableIndex, 4);
    11881188            emitCall(i, Machine::cti_op_switch_string);
    1189             m_jit.emitJmpN_r(MacroAssembler::eax);
     1189            m_jit.jmp_r(MacroAssembler::eax);
    11901190            i += 4;
    11911191            break;
     
    12861286                    MacroAssembler::JmpSrc notImm = iter->from;
    12871287                    m_jit.link((++iter)->from, m_jit.label());
    1288                     m_jit.emitSubl_i32r(getDeTaggedConstantImmediate(value), MacroAssembler::eax);
     1288                    m_jit.subl_i32r(getDeTaggedConstantImmediate(value), MacroAssembler::eax);
    12891289                    m_jit.link(notImm, m_jit.label());
    12901290                    emitPutArg(MacroAssembler::eax, 0);
     
    13011301            MacroAssembler::JmpSrc notImm = iter->from;
    13021302            m_jit.link((++iter)->from, m_jit.label());
    1303             m_jit.emitSubl_rr(MacroAssembler::edx, MacroAssembler::eax);
     1303            m_jit.subl_rr(MacroAssembler::edx, MacroAssembler::eax);
    13041304            emitFastArithReTagImmediate(MacroAssembler::eax);
    13051305            m_jit.link(notImm, m_jit.label());
     
    13281328            MacroAssembler::JmpSrc notImm = iter->from;
    13291329            m_jit.link((++iter)->from, m_jit.label());
    1330             m_jit.emitAddl_rr(MacroAssembler::edx, MacroAssembler::eax);
     1330            m_jit.addl_rr(MacroAssembler::edx, MacroAssembler::eax);
    13311331            m_jit.link(notImm, m_jit.label());
    13321332            emitPutArg(MacroAssembler::eax, 0);
     
    13721372                emitGetPutArg(instruction[i + 2].u.operand, 4, MacroAssembler::ecx);
    13731373                emitCall(i, Machine::cti_op_loop_if_less);
    1374                 m_jit.emitTestl_rr(MacroAssembler::eax, MacroAssembler::eax);
     1374                m_jit.testl_rr(MacroAssembler::eax, MacroAssembler::eax);
    13751375                m_jit.link(m_jit.emitUnlinkedJne(), m_labels[i + 3 + target]);
    13761376            } else {
     
    13801380                emitPutArg(MacroAssembler::edx, 4);
    13811381                emitCall(i, Machine::cti_op_loop_if_less);
    1382                 m_jit.emitTestl_rr(MacroAssembler::eax, MacroAssembler::eax);
     1382                m_jit.testl_rr(MacroAssembler::eax, MacroAssembler::eax);
    13831383                m_jit.link(m_jit.emitUnlinkedJne(), m_labels[i + 3 + target]);
    13841384            }
     
    13901390            MacroAssembler::JmpSrc notImm = iter->from;
    13911391            m_jit.link((++iter)->from, m_jit.label());
    1392             m_jit.emitSubl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), MacroAssembler::eax);
     1392            m_jit.subl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), MacroAssembler::eax);
    13931393            m_jit.link(notImm, m_jit.label());
    13941394            emitPutArg(MacroAssembler::eax, 0);
     
    14181418            emitPutArg(MacroAssembler::eax, 0);
    14191419            emitCall(i, Machine::cti_op_jtrue);
    1420             m_jit.emitTestl_rr(MacroAssembler::eax, MacroAssembler::eax);
     1420            m_jit.testl_rr(MacroAssembler::eax, MacroAssembler::eax);
    14211421            unsigned target = instruction[i + 2].u.operand;
    14221422            m_jit.link(m_jit.emitUnlinkedJne(), m_labels[i + 2 + target]);
     
    14281428            MacroAssembler::JmpSrc notImm = iter->from;
    14291429            m_jit.link((++iter)->from, m_jit.label());
    1430             m_jit.emitAddl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), MacroAssembler::eax);
     1430            m_jit.addl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), MacroAssembler::eax);
    14311431            m_jit.link(notImm, m_jit.label());
    14321432            emitPutArg(MacroAssembler::eax, 0);
     
    14441444                emitGetPutArg(instruction[i + 2].u.operand, 4, MacroAssembler::ecx);
    14451445                emitCall(i, Machine::cti_op_jless);
    1446                 m_jit.emitTestl_rr(MacroAssembler::eax, MacroAssembler::eax);
     1446                m_jit.testl_rr(MacroAssembler::eax, MacroAssembler::eax);
    14471447                m_jit.link(m_jit.emitUnlinkedJe(), m_labels[i + 3 + target]);
    14481448            } else {
     
    14521452                emitPutArg(MacroAssembler::edx, 4);
    14531453                emitCall(i, Machine::cti_op_jless);
    1454                 m_jit.emitTestl_rr(MacroAssembler::eax, MacroAssembler::eax);
     1454                m_jit.testl_rr(MacroAssembler::eax, MacroAssembler::eax);
    14551455                m_jit.link(m_jit.emitUnlinkedJe(), m_labels[i + 3 + target]);
    14561456            }
     
    14601460        case op_not: {
    14611461            m_jit.link(iter->from, m_jit.label());
    1462             m_jit.emitXorl_i8r(JSImmediate::FullTagTypeBool, MacroAssembler::eax);
     1462            m_jit.xorl_i8r(JSImmediate::FullTagTypeBool, MacroAssembler::eax);
    14631463            emitPutArg(MacroAssembler::eax, 0);
    14641464            emitCall(i, Machine::cti_op_not);
     
    14711471            emitPutArg(MacroAssembler::eax, 0);
    14721472            emitCall(i, Machine::cti_op_jtrue);
    1473             m_jit.emitTestl_rr(MacroAssembler::eax, MacroAssembler::eax);
     1473            m_jit.testl_rr(MacroAssembler::eax, MacroAssembler::eax);
    14741474            unsigned target = instruction[i + 2].u.operand;
    14751475            m_jit.link(m_jit.emitUnlinkedJe(), m_labels[i + 2 + target]); // inverted!
     
    15271527            emitPutArg(MacroAssembler::eax, 0);
    15281528            emitCall(i, Machine::cti_op_jtrue);
    1529             m_jit.emitTestl_rr(MacroAssembler::eax, MacroAssembler::eax);
     1529            m_jit.testl_rr(MacroAssembler::eax, MacroAssembler::eax);
    15301530            unsigned target = instruction[i + 2].u.operand;
    15311531            m_jit.link(m_jit.emitUnlinkedJne(), m_labels[i + 2 + target]);
     
    15891589void CTI::privateCompile()
    15901590{
    1591     // Could use a emitPopl_m, but would need to offset the following instruction if so.
    1592     m_jit.emitPopl_r(MacroAssembler::ecx);
     1591    // Could use a popl_m, but would need to offset the following instruction if so.
     1592    m_jit.popl_r(MacroAssembler::ecx);
    15931593    emitGetCTIParam(CTI_ARGS_r, MacroAssembler::edi); // edi := r
    15941594    emitPutToCallFrameHeader(MacroAssembler::ecx, RegisterFile::CTIReturnEIP);
     
    16521652{
    16531653    // Check eax is an object of the right StructureID.
    1654     m_jit.emitTestl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
     1654    m_jit.testl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
    16551655    MacroAssembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
    1656     m_jit.emitCmpl_i32m(reinterpret_cast<uint32_t>(structureID), OBJECT_OFFSET(JSCell, m_structureID), MacroAssembler::eax);
     1656    m_jit.cmpl_i32m(reinterpret_cast<uint32_t>(structureID), OBJECT_OFFSET(JSCell, m_structureID), MacroAssembler::eax);
    16571657    MacroAssembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
    16581658
    16591659    // Checks out okay! - getDirectOffset
    1660     m_jit.emitMovl_mr(OBJECT_OFFSET(JSObject, m_propertyStorage), MacroAssembler::eax, MacroAssembler::eax);
    1661     m_jit.emitMovl_mr(cachedOffset * sizeof(JSValue*), MacroAssembler::eax, MacroAssembler::eax);
    1662     m_jit.emitRet();
     1660    m_jit.movl_mr(OBJECT_OFFSET(JSObject, m_propertyStorage), MacroAssembler::eax, MacroAssembler::eax);
     1661    m_jit.movl_mr(cachedOffset * sizeof(JSValue*), MacroAssembler::eax, MacroAssembler::eax);
     1662    m_jit.ret();
    16631663
    16641664    void* code = m_jit.copy();
     
    16791679    JSObject* protoObject = static_cast<JSObject*>(structureID->prototype());
    16801680    OwnArrayPtr<JSValue*>* protoPropertyStorage = &protoObject->m_propertyStorage;
    1681     m_jit.emitMovl_mr(static_cast<void*>(protoPropertyStorage), MacroAssembler::edx);
     1681    m_jit.movl_mr(static_cast<void*>(protoPropertyStorage), MacroAssembler::edx);
    16821682
    16831683    // check eax is an object of the right StructureID.
    1684     m_jit.emitTestl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
     1684    m_jit.testl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
    16851685    MacroAssembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
    1686     m_jit.emitCmpl_i32m(reinterpret_cast<uint32_t>(structureID), OBJECT_OFFSET(JSCell, m_structureID), MacroAssembler::eax);
     1686    m_jit.cmpl_i32m(reinterpret_cast<uint32_t>(structureID), OBJECT_OFFSET(JSCell, m_structureID), MacroAssembler::eax);
    16871687    MacroAssembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
    16881688
    16891689    // Check the prototype object's StructureID had not changed.
    16901690    StructureID** protoStructureIDAddress = &(protoObject->m_structureID);
    1691     m_jit.emitCmpl_i32m(reinterpret_cast<uint32_t>(prototypeStructureID), static_cast<void*>(protoStructureIDAddress));
     1691    m_jit.cmpl_i32m(reinterpret_cast<uint32_t>(prototypeStructureID), static_cast<void*>(protoStructureIDAddress));
    16921692    MacroAssembler::JmpSrc failureCases3 = m_jit.emitUnlinkedJne();
    16931693
    16941694    // Checks out okay! - getDirectOffset
    1695     m_jit.emitMovl_mr(cachedOffset * sizeof(JSValue*), MacroAssembler::edx, MacroAssembler::eax);
    1696 
    1697     m_jit.emitRet();
     1695    m_jit.movl_mr(cachedOffset * sizeof(JSValue*), MacroAssembler::edx, MacroAssembler::eax);
     1696
     1697    m_jit.ret();
    16981698
    16991699    void* code = m_jit.copy();
     
    17161716
    17171717    // Check eax is an object of the right StructureID.
    1718     m_jit.emitTestl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
     1718    m_jit.testl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
    17191719    bucketsOfFail.append(m_jit.emitUnlinkedJne());
    1720     m_jit.emitCmpl_i32m(reinterpret_cast<uint32_t>(structureID), OBJECT_OFFSET(JSCell, m_structureID), MacroAssembler::eax);
     1720    m_jit.cmpl_i32m(reinterpret_cast<uint32_t>(structureID), OBJECT_OFFSET(JSCell, m_structureID), MacroAssembler::eax);
    17211721    bucketsOfFail.append(m_jit.emitUnlinkedJne());
    17221722
     
    17301730        // Check the prototype object's StructureID had not changed.
    17311731        StructureID** protoStructureIDAddress = &(protoObject->m_structureID);
    1732         m_jit.emitCmpl_i32m(reinterpret_cast<uint32_t>(currStructureID), static_cast<void*>(protoStructureIDAddress));
     1732        m_jit.cmpl_i32m(reinterpret_cast<uint32_t>(currStructureID), static_cast<void*>(protoStructureIDAddress));
    17331733        bucketsOfFail.append(m_jit.emitUnlinkedJne());
    17341734    }
     
    17361736 
    17371737    OwnArrayPtr<JSValue*>* protoPropertyStorage = &static_cast<JSObject*>(protoObject)->m_propertyStorage;
    1738     m_jit.emitMovl_mr(static_cast<void*>(protoPropertyStorage), MacroAssembler::edx);
    1739     m_jit.emitMovl_mr(cachedOffset * sizeof(JSValue*), MacroAssembler::edx, MacroAssembler::eax);
    1740     m_jit.emitRet();
     1738    m_jit.movl_mr(static_cast<void*>(protoPropertyStorage), MacroAssembler::edx);
     1739    m_jit.movl_mr(cachedOffset * sizeof(JSValue*), MacroAssembler::edx, MacroAssembler::eax);
     1740    m_jit.ret();
    17411741
    17421742    bucketsOfFail.append(m_jit.emitUnlinkedJmp());
     
    17541754{
    17551755    // check eax is an object of the right StructureID.
    1756     m_jit.emitTestl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
     1756    m_jit.testl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
    17571757    MacroAssembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
    1758     m_jit.emitCmpl_i32m(reinterpret_cast<uint32_t>(structureID), OBJECT_OFFSET(JSCell, m_structureID), MacroAssembler::eax);
     1758    m_jit.cmpl_i32m(reinterpret_cast<uint32_t>(structureID), OBJECT_OFFSET(JSCell, m_structureID), MacroAssembler::eax);
    17591759    MacroAssembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
    17601760
    17611761    // checks out okay! - putDirectOffset
    1762     m_jit.emitMovl_mr(OBJECT_OFFSET(JSObject, m_propertyStorage), MacroAssembler::eax, MacroAssembler::eax);
    1763     m_jit.emitMovl_rm(MacroAssembler::edx, cachedOffset * sizeof(JSValue*), MacroAssembler::eax);
    1764     m_jit.emitRet();
     1762    m_jit.movl_mr(OBJECT_OFFSET(JSObject, m_propertyStorage), MacroAssembler::eax, MacroAssembler::eax);
     1763    m_jit.movl_rm(MacroAssembler::edx, cachedOffset * sizeof(JSValue*), MacroAssembler::eax);
     1764    m_jit.ret();
    17651765
    17661766    void* code = m_jit.copy();
     
    17781778{
    17791779    // Check eax is an array
    1780     m_jit.emitTestl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
     1780    m_jit.testl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
    17811781    MacroAssembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
    1782     m_jit.emitCmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsArrayVptr), MacroAssembler::eax);
     1782    m_jit.cmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsArrayVptr), MacroAssembler::eax);
    17831783    MacroAssembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
    17841784
    17851785    // Checks out okay! - get the length from the storage
    1786     m_jit.emitMovl_mr(OBJECT_OFFSET(JSArray, m_storage), MacroAssembler::eax, MacroAssembler::eax);
    1787     m_jit.emitMovl_mr(OBJECT_OFFSET(ArrayStorage, m_length), MacroAssembler::eax, MacroAssembler::eax);
    1788 
    1789     m_jit.emitAddl_rr(MacroAssembler::eax, MacroAssembler::eax);
     1786    m_jit.movl_mr(OBJECT_OFFSET(JSArray, m_storage), MacroAssembler::eax, MacroAssembler::eax);
     1787    m_jit.movl_mr(OBJECT_OFFSET(ArrayStorage, m_length), MacroAssembler::eax, MacroAssembler::eax);
     1788
     1789    m_jit.addl_rr(MacroAssembler::eax, MacroAssembler::eax);
    17901790    MacroAssembler::JmpSrc failureCases3 = m_jit.emitUnlinkedJo();
    1791     m_jit.emitAddl_i8r(1, MacroAssembler::eax);
     1791    m_jit.addl_i8r(1, MacroAssembler::eax);
    17921792   
    1793     m_jit.emitRet();
     1793    m_jit.ret();
    17941794
    17951795    void* code = m_jit.copy();
     
    18061806{
    18071807    // Check eax is a string
    1808     m_jit.emitTestl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
     1808    m_jit.testl_i32r(JSImmediate::TagMask, MacroAssembler::eax);
    18091809    MacroAssembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
    1810     m_jit.emitCmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsStringVptr), MacroAssembler::eax);
     1810    m_jit.cmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsStringVptr), MacroAssembler::eax);
    18111811    MacroAssembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
    18121812
    18131813    // Checks out okay! - get the length from the Ustring.
    1814     m_jit.emitMovl_mr(OBJECT_OFFSET(JSString, m_value) + OBJECT_OFFSET(UString, m_rep), MacroAssembler::eax, MacroAssembler::eax);
    1815     m_jit.emitMovl_mr(OBJECT_OFFSET(UString::Rep, len), MacroAssembler::eax, MacroAssembler::eax);
    1816 
    1817     m_jit.emitAddl_rr(MacroAssembler::eax, MacroAssembler::eax);
     1814    m_jit.movl_mr(OBJECT_OFFSET(JSString, m_value) + OBJECT_OFFSET(UString, m_rep), MacroAssembler::eax, MacroAssembler::eax);
     1815    m_jit.movl_mr(OBJECT_OFFSET(UString::Rep, len), MacroAssembler::eax, MacroAssembler::eax);
     1816
     1817    m_jit.addl_rr(MacroAssembler::eax, MacroAssembler::eax);
    18181818    MacroAssembler::JmpSrc failureCases3 = m_jit.emitUnlinkedJo();
    1819     m_jit.emitAddl_i8r(1, MacroAssembler::eax);
     1819    m_jit.addl_i8r(1, MacroAssembler::eax);
    18201820   
    1821     m_jit.emitRet();
     1821    m_jit.ret();
    18221822
    18231823    void* code = m_jit.copy();
     
    18471847    // (0) Setup:
    18481848    //     Preserve regs & initialize outputRegister.
    1849     jit.emitPushl_r(WRECGenerator::outputRegister);
    1850     jit.emitPushl_r(WRECGenerator::currentValueRegister);
     1849    jit.pushl_r(WRECGenerator::outputRegister);
     1850    jit.pushl_r(WRECGenerator::currentValueRegister);
    18511851    // push pos onto the stack, both to preserve and as a parameter available to parseDisjunction
    1852     jit.emitPushl_r(WRECGenerator::currentPositionRegister);
     1852    jit.pushl_r(WRECGenerator::currentPositionRegister);
    18531853    // load output pointer
    1854     jit.emitMovl_mr(16
     1854    jit.movl_mr(16
    18551855#if COMPILER(MSVC)
    18561856                    + 3 * sizeof(void*)
     
    18781878    //     Set return value & pop registers from the stack.
    18791879
    1880     jit.emitTestl_rr(WRECGenerator::outputRegister, WRECGenerator::outputRegister);
     1880    jit.testl_rr(WRECGenerator::outputRegister, WRECGenerator::outputRegister);
    18811881    WRECGenerator::JmpSrc noOutput = jit.emitUnlinkedJe();
    18821882
    1883     jit.emitMovl_rm(WRECGenerator::currentPositionRegister, 4, WRECGenerator::outputRegister);
    1884     jit.emitPopl_r(MacroAssembler::eax);
    1885     jit.emitMovl_rm(MacroAssembler::eax, WRECGenerator::outputRegister);
    1886     jit.emitPopl_r(WRECGenerator::currentValueRegister);
    1887     jit.emitPopl_r(WRECGenerator::outputRegister);
    1888     jit.emitRet();
     1883    jit.movl_rm(WRECGenerator::currentPositionRegister, 4, WRECGenerator::outputRegister);
     1884    jit.popl_r(MacroAssembler::eax);
     1885    jit.movl_rm(MacroAssembler::eax, WRECGenerator::outputRegister);
     1886    jit.popl_r(WRECGenerator::currentValueRegister);
     1887    jit.popl_r(WRECGenerator::outputRegister);
     1888    jit.ret();
    18891889   
    18901890    jit.link(noOutput, jit.label());
    18911891   
    1892     jit.emitPopl_r(MacroAssembler::eax);
    1893     jit.emitMovl_rm(MacroAssembler::eax, WRECGenerator::outputRegister);
    1894     jit.emitPopl_r(WRECGenerator::currentValueRegister);
    1895     jit.emitPopl_r(WRECGenerator::outputRegister);
    1896     jit.emitRet();
     1892    jit.popl_r(MacroAssembler::eax);
     1893    jit.movl_rm(MacroAssembler::eax, WRECGenerator::outputRegister);
     1894    jit.popl_r(WRECGenerator::currentValueRegister);
     1895    jit.popl_r(WRECGenerator::outputRegister);
     1896    jit.ret();
    18971897
    18981898    // (3) Failure:
     
    19041904    failures.clear();
    19051905
    1906     jit.emitMovl_mr(MacroAssembler::esp, WRECGenerator::currentPositionRegister);
    1907     jit.emitAddl_i8r(1, WRECGenerator::currentPositionRegister);
    1908     jit.emitMovl_rm(WRECGenerator::currentPositionRegister, MacroAssembler::esp);
    1909     jit.emitCmpl_rr(WRECGenerator::lengthRegister, WRECGenerator::currentPositionRegister);
     1906    jit.movl_mr(MacroAssembler::esp, WRECGenerator::currentPositionRegister);
     1907    jit.addl_i8r(1, WRECGenerator::currentPositionRegister);
     1908    jit.movl_rm(WRECGenerator::currentPositionRegister, MacroAssembler::esp);
     1909    jit.cmpl_rr(WRECGenerator::lengthRegister, WRECGenerator::currentPositionRegister);
    19101910    jit.link(jit.emitUnlinkedJle(), nextLabel);
    19111911
    1912     jit.emitAddl_i8r(4, MacroAssembler::esp);
    1913 
    1914     jit.emitMovl_i32r(-1, MacroAssembler::eax);
    1915     jit.emitPopl_r(WRECGenerator::currentValueRegister);
    1916     jit.emitPopl_r(WRECGenerator::outputRegister);
    1917     jit.emitRet();
     1912    jit.addl_i8r(4, MacroAssembler::esp);
     1913
     1914    jit.movl_i32r(-1, MacroAssembler::eax);
     1915    jit.popl_r(WRECGenerator::currentValueRegister);
     1916    jit.popl_r(WRECGenerator::outputRegister);
     1917    jit.ret();
    19181918
    19191919    *numSubpatterns_ptr = parser.m_numSubpatterns;
Note: See TracChangeset for help on using the changeset viewer.