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


Ignore:
Timestamp:
Sep 9, 2008, 8:22:04 PM (17 years ago)
Author:
[email protected]
Message:

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

Reviewed by Maciej Stachowiak.

Bug 20759: Remove MacroAssembler
<https://bugs.webkit.org/show_bug.cgi?id=20759>

Remove MacroAssembler and move its functionality to X86Assembler.

JavaScriptCore:

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp: (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::emitPutArg): (JSC::CTI::emitPutCTIParam): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitPutToCallFrameHeader): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutResult): (JSC::CTI::emitDebugExceptionCheck): (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):
  • VM/CTI.h: (JSC::CallRecord::CallRecord): (JSC::JmpTable::JmpTable): (JSC::SlowCaseEntry::SlowCaseEntry): (JSC::CTI::JSRInfo::JSRInfo):
  • masm/MacroAssembler.h: Removed.
  • masm/MacroAssemblerWin.cpp: Removed.
  • masm/X86Assembler.h: (JSC::X86Assembler::emitConvertToFastCall): (JSC::X86Assembler::emitRestoreArgumentReference):
  • wrec/WREC.h: (JSC::WRECGenerator::WRECGenerator): (JSC::WRECParser::WRECParser):

WebCore:

  • ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
  • ForwardingHeaders/masm/MacroAssembler.h: Removed.
  • ForwardingHeaders/masm/X86Assembler.h: Added.
File:
1 edited

Legend:

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

    r36307 r36311  
    108108
    109109// get arg puts an arg from the SF register array into a h/w register
    110 ALWAYS_INLINE void CTI::emitGetArg(unsigned src, MacroAssembler::RegisterID dst)
     110ALWAYS_INLINE void CTI::emitGetArg(unsigned src, X86Assembler::RegisterID dst)
    111111{
    112112    // TODO: we want to reuse values that are already in registers if we can - add a register allocator!
     
    119119
    120120// get arg puts an arg from the SF register array onto the stack, as an arg to a context threaded function.
    121 ALWAYS_INLINE void CTI::emitGetPutArg(unsigned src, unsigned offset, MacroAssembler::RegisterID scratch)
     121ALWAYS_INLINE void CTI::emitGetPutArg(unsigned src, unsigned offset, X86Assembler::RegisterID scratch)
    122122{
    123123    if (src < m_codeBlock->constantRegisters.size()) {
     
    131131
    132132// puts an arg onto the stack, as an arg to a context threaded function.
    133 ALWAYS_INLINE void CTI::emitPutArg(MacroAssembler::RegisterID src, unsigned offset)
     133ALWAYS_INLINE void CTI::emitPutArg(X86Assembler::RegisterID src, unsigned offset)
    134134{
    135135    m_jit.movl_rm(src, offset + sizeof(void*), X86::esp);
     
    150150}
    151151
    152 ALWAYS_INLINE void CTI::emitPutCTIParam(MacroAssembler::RegisterID from, unsigned name)
     152ALWAYS_INLINE void CTI::emitPutCTIParam(X86Assembler::RegisterID from, unsigned name)
    153153{
    154154    m_jit.movl_rm(from, name * sizeof(void*), X86::esp);
    155155}
    156156
    157 ALWAYS_INLINE void CTI::emitGetCTIParam(unsigned name, MacroAssembler::RegisterID to)
     157ALWAYS_INLINE void CTI::emitGetCTIParam(unsigned name, X86Assembler::RegisterID to)
    158158{
    159159    m_jit.movl_mr(name * sizeof(void*), X86::esp, to);
    160160}
    161161
    162 ALWAYS_INLINE void CTI::emitPutToCallFrameHeader(MacroAssembler::RegisterID from, RegisterFile::CallFrameHeaderEntry entry)
     162ALWAYS_INLINE void CTI::emitPutToCallFrameHeader(X86Assembler::RegisterID from, RegisterFile::CallFrameHeaderEntry entry)
    163163{
    164164    m_jit.movl_rm(from, -((m_codeBlock->numLocals + RegisterFile::CallFrameHeaderSize) - entry) * sizeof(Register), X86::edi);
    165165}
    166166
    167 ALWAYS_INLINE void CTI::emitGetFromCallFrameHeader(RegisterFile::CallFrameHeaderEntry entry, MacroAssembler::RegisterID to)
     167ALWAYS_INLINE void CTI::emitGetFromCallFrameHeader(RegisterFile::CallFrameHeaderEntry entry, X86Assembler::RegisterID to)
    168168{
    169169    m_jit.movl_mr(-((m_codeBlock->numLocals + RegisterFile::CallFrameHeaderSize) - entry) * sizeof(Register), X86::edi, to);
    170170}
    171171
    172 ALWAYS_INLINE void CTI::emitPutResult(unsigned dst, MacroAssembler::RegisterID from)
     172ALWAYS_INLINE void CTI::emitPutResult(unsigned dst, X86Assembler::RegisterID from)
    173173{
    174174    m_jit.movl_rm(from, dst * sizeof(Register), X86::edi);
     
    202202    emitGetCTIParam(CTI_ARGS_exec, X86::ecx);
    203203    m_jit.cmpl_i32m(0, OBJECT_OFFSET(ExecState, m_exception), X86::ecx);
    204     MacroAssembler::JmpSrc noException = m_jit.emitUnlinkedJe();
     204    X86Assembler::JmpSrc noException = m_jit.emitUnlinkedJe();
    205205    m_jit.emitInt3();
    206206    m_jit.link(noException, m_jit.label());
     
    303303}
    304304
    305 ALWAYS_INLINE void CTI::emitJumpSlowCaseIfNotImm(MacroAssembler::RegisterID reg, unsigned opcodeIndex)
     305ALWAYS_INLINE void CTI::emitJumpSlowCaseIfNotImm(X86Assembler::RegisterID reg, unsigned opcodeIndex)
    306306{
    307307    m_jit.testl_i32r(JSImmediate::TagBitTypeInteger, reg);
     
    309309}
    310310
    311 ALWAYS_INLINE void CTI::emitJumpSlowCaseIfNotImms(MacroAssembler::RegisterID reg1, MacroAssembler::RegisterID reg2, unsigned opcodeIndex)
     311ALWAYS_INLINE void CTI::emitJumpSlowCaseIfNotImms(X86Assembler::RegisterID reg1, X86Assembler::RegisterID reg2, unsigned opcodeIndex)
    312312{
    313313    m_jit.movl_rr(reg1, X86::ecx);
     
    322322}
    323323
    324 ALWAYS_INLINE void CTI::emitFastArithDeTagImmediate(MacroAssembler::RegisterID reg)
     324ALWAYS_INLINE void CTI::emitFastArithDeTagImmediate(X86Assembler::RegisterID reg)
    325325{
    326326    // op_mod relies on this being a sub - setting zf if result is 0.
     
    328328}
    329329
    330 ALWAYS_INLINE void CTI::emitFastArithReTagImmediate(MacroAssembler::RegisterID reg)
     330ALWAYS_INLINE void CTI::emitFastArithReTagImmediate(X86Assembler::RegisterID reg)
    331331{
    332332    m_jit.addl_i8r(JSImmediate::TagBitTypeInteger, reg);
    333333}
    334334
    335 ALWAYS_INLINE void CTI::emitFastArithPotentiallyReTagImmediate(MacroAssembler::RegisterID reg)
     335ALWAYS_INLINE void CTI::emitFastArithPotentiallyReTagImmediate(X86Assembler::RegisterID reg)
    336336{
    337337    m_jit.orl_rr(JSImmediate::TagBitTypeInteger, reg);
    338338}
    339339
    340 ALWAYS_INLINE void CTI::emitFastArithImmToInt(MacroAssembler::RegisterID reg)
     340ALWAYS_INLINE void CTI::emitFastArithImmToInt(X86Assembler::RegisterID reg)
    341341{
    342342    m_jit.sarl_i8r(1, reg);
    343343}
    344344
    345 ALWAYS_INLINE void CTI::emitFastArithIntToImmOrSlowCase(MacroAssembler::RegisterID reg, unsigned opcodeIndex)
     345ALWAYS_INLINE void CTI::emitFastArithIntToImmOrSlowCase(X86Assembler::RegisterID reg, unsigned opcodeIndex)
    346346{
    347347    m_jit.addl_rr(reg, reg);
     
    350350}
    351351
    352 ALWAYS_INLINE void CTI::emitFastArithIntToImmNoCheck(MacroAssembler::RegisterID reg)
     352ALWAYS_INLINE void CTI::emitFastArithIntToImmNoCheck(X86Assembler::RegisterID reg)
    353353{
    354354    m_jit.addl_rr(reg, reg);
     
    397397    }
    398398
    399     MacroAssembler::JmpSrc wasEval;
     399    X86Assembler::JmpSrc wasEval;
    400400    if (type == OpCallEval) {
    401401        emitGetPutArg(instruction[i + 2].u.operand, 0, X86::ecx);
     
    418418    // Fast check for JS function.
    419419    m_jit.testl_i32r(JSImmediate::TagMask, X86::ecx);
    420     MacroAssembler::JmpSrc isNotObject = m_jit.emitUnlinkedJne();
     420    X86Assembler::JmpSrc isNotObject = m_jit.emitUnlinkedJne();
    421421    m_jit.cmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsFunctionVptr), X86::ecx);
    422     MacroAssembler::JmpSrc isJSFunction = m_jit.emitUnlinkedJe();
     422    X86Assembler::JmpSrc isJSFunction = m_jit.emitUnlinkedJe();
    423423    m_jit.link(isNotObject, m_jit.label());
    424424
     
    427427    emitGetCTIParam(CTI_ARGS_r, X86::edi); // edi := r
    428428   
    429     MacroAssembler::JmpSrc wasNotJSFunction = m_jit.emitUnlinkedJmp();
     429    X86Assembler::JmpSrc wasNotJSFunction = m_jit.emitUnlinkedJmp();
    430430    m_jit.link(isJSFunction, m_jit.label());
    431431
     
    435435    emitGetCTIParam(CTI_ARGS_r, X86::edi); // edi := r
    436436
    437     MacroAssembler::JmpDst end = m_jit.label();
     437    X86Assembler::JmpDst end = m_jit.label();
    438438    m_jit.link(wasNotJSFunction, end);
    439439    if (type == OpCallEval)
     
    446446{
    447447    m_jit.subl_i8r(1, X86::esi);
    448     MacroAssembler::JmpSrc skipTimeout = m_jit.emitUnlinkedJne();
     448    X86Assembler::JmpSrc skipTimeout = m_jit.emitUnlinkedJne();
    449449    emitCall(opcodeIndex, Machine::cti_timeout_check);
    450450
     
    755755
    756756            m_jit.cmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::zeroImmediate()), X86::eax);
    757             MacroAssembler::JmpSrc isZero = m_jit.emitUnlinkedJe();
     757            X86Assembler::JmpSrc isZero = m_jit.emitUnlinkedJe();
    758758            m_jit.testl_i32r(JSImmediate::TagBitTypeInteger, X86::eax);
    759759            m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJne(), i + 2 + target));
     
    839839            m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJe(), i + 2 + target));
    840840            m_jit.testl_i32r(JSImmediate::TagBitTypeInteger, X86::eax);
    841             MacroAssembler::JmpSrc isNonZero = m_jit.emitUnlinkedJne();
     841            X86Assembler::JmpSrc isNonZero = m_jit.emitUnlinkedJne();
    842842
    843843            m_jit.cmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::falseImmediate()), X86::eax);
     
    873873            int target = instruction[i + 2].u.operand;
    874874            m_jit.movl_i32m(0, sizeof(Register) * retAddrDst, X86::edi);
    875             MacroAssembler::JmpDst addrPosition = m_jit.label();
     875            X86Assembler::JmpDst addrPosition = m_jit.label();
    876876            m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJmp(), i + 2 + target));
    877             MacroAssembler::JmpDst sretTarget = m_jit.label();
     877            X86Assembler::JmpDst sretTarget = m_jit.label();
    878878            m_jsrSites.append(JSRInfo(addrPosition, sretTarget));
    879879            i += 3;
     
    982982
    983983            m_jit.cmpl_i32r(reinterpret_cast<uint32_t>(JSImmediate::zeroImmediate()), X86::eax);
    984             MacroAssembler::JmpSrc isZero = m_jit.emitUnlinkedJe();
     984            X86Assembler::JmpSrc isZero = m_jit.emitUnlinkedJe();
    985985            m_jit.testl_i32r(JSImmediate::TagBitTypeInteger, X86::eax);
    986986            m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJne(), i + 2 + target));
     
    10641064            emitCall(i, Machine::cti_op_next_pname);
    10651065            m_jit.testl_rr(X86::eax, X86::eax);
    1066             MacroAssembler::JmpSrc endOfIter = m_jit.emitUnlinkedJe();
     1066            X86Assembler::JmpSrc endOfIter = m_jit.emitUnlinkedJe();
    10671067            emitPutResult(instruction[i + 1].u.operand);
    10681068            m_jmpTable.append(JmpTable(m_jit.emitUnlinkedJmp(), i + 3 + target));
     
    12841284                JSValue* value = m_codeBlock->constantRegisters[src2].jsValue(m_exec);
    12851285                if (JSImmediate::isNumber(value)) {
    1286                     MacroAssembler::JmpSrc notImm = iter->from;
     1286                    X86Assembler::JmpSrc notImm = iter->from;
    12871287                    m_jit.link((++iter)->from, m_jit.label());
    12881288                    m_jit.subl_i32r(getDeTaggedConstantImmediate(value), X86::eax);
     
    12991299            ASSERT(!(static_cast<unsigned>(instruction[i + 2].u.operand) < m_codeBlock->constantRegisters.size()));
    13001300
    1301             MacroAssembler::JmpSrc notImm = iter->from;
     1301            X86Assembler::JmpSrc notImm = iter->from;
    13021302            m_jit.link((++iter)->from, m_jit.label());
    13031303            m_jit.subl_rr(X86::edx, X86::eax);
     
    13121312        }
    13131313        case op_get_by_val: {
    1314             MacroAssembler::JmpSrc notImm = iter->from;
     1314            X86Assembler::JmpSrc notImm = iter->from;
    13151315            m_jit.link((++iter)->from, m_jit.label());
    13161316            m_jit.link((++iter)->from, m_jit.label());
     
    13261326        }
    13271327        case op_sub: {
    1328             MacroAssembler::JmpSrc notImm = iter->from;
     1328            X86Assembler::JmpSrc notImm = iter->from;
    13291329            m_jit.link((++iter)->from, m_jit.label());
    13301330            m_jit.addl_rr(X86::edx, X86::eax);
     
    13481348        }
    13491349        case op_lshift: {
    1350             MacroAssembler::JmpSrc notImm1 = iter->from;
    1351             MacroAssembler::JmpSrc notImm2 = (++iter)->from;
     1350            X86Assembler::JmpSrc notImm1 = iter->from;
     1351            X86Assembler::JmpSrc notImm2 = (++iter)->from;
    13521352            m_jit.link((++iter)->from, m_jit.label());
    13531353            emitGetArg(instruction[i + 2].u.operand, X86::eax);
     
    13881388        case op_pre_inc: {
    13891389            unsigned srcDst = instruction[i + 1].u.operand;
    1390             MacroAssembler::JmpSrc notImm = iter->from;
     1390            X86Assembler::JmpSrc notImm = iter->from;
    13911391            m_jit.link((++iter)->from, m_jit.label());
    13921392            m_jit.subl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), X86::eax);
     
    13991399        }
    14001400        case op_put_by_val: {
    1401             MacroAssembler::JmpSrc notImm = iter->from;
     1401            X86Assembler::JmpSrc notImm = iter->from;
    14021402            m_jit.link((++iter)->from, m_jit.label());
    14031403            m_jit.link((++iter)->from, m_jit.label());
     
    14261426        case op_pre_dec: {
    14271427            unsigned srcDst = instruction[i + 1].u.operand;
    1428             MacroAssembler::JmpSrc notImm = iter->from;
     1428            X86Assembler::JmpSrc notImm = iter->from;
    14291429            m_jit.link((++iter)->from, m_jit.label());
    14301430            m_jit.addl_i8r(getDeTaggedConstantImmediate(JSImmediate::oneImmediate()), X86::eax);
     
    15641564        }
    15651565        case op_mod: {
    1566             MacroAssembler::JmpSrc notImm1 = iter->from;
    1567             MacroAssembler::JmpSrc notImm2 = (++iter)->from;
     1566            X86Assembler::JmpSrc notImm1 = iter->from;
     1567            X86Assembler::JmpSrc notImm2 = (++iter)->from;
    15681568            m_jit.link((++iter)->from, m_jit.label());
    15691569            emitFastArithReTagImmediate(X86::eax);
     
    16381638    // m_codeBlock->ctiReturnAddressVPCMap.grow(m_calls.size());
    16391639    for (Vector<CallRecord>::iterator iter = m_calls.begin(); iter != m_calls.end(); ++iter) {
    1640         MacroAssembler::link(code, iter->from, iter->to);
     1640        X86Assembler::link(code, iter->from, iter->to);
    16411641        m_codeBlock->ctiReturnAddressVPCMap.add(m_jit.getRelocatedAddress(code, iter->from), iter->opcodeIndex);
    16421642    }
     
    16441644    // Link absolute addresses for jsr
    16451645    for (Vector<JSRInfo>::iterator iter = m_jsrSites.begin(); iter != m_jsrSites.end(); ++iter)
    1646         MacroAssembler::linkAbsoluteAddress(code, iter->addrPosition, iter->target);
     1646        X86Assembler::linkAbsoluteAddress(code, iter->addrPosition, iter->target);
    16471647
    16481648    m_codeBlock->ctiCode = code;
     
    16531653    // Check eax is an object of the right StructureID.
    16541654    m_jit.testl_i32r(JSImmediate::TagMask, X86::eax);
    1655     MacroAssembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
     1655    X86Assembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
    16561656    m_jit.cmpl_i32m(reinterpret_cast<uint32_t>(structureID), OBJECT_OFFSET(JSCell, m_structureID), X86::eax);
    1657     MacroAssembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
     1657    X86Assembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
    16581658
    16591659    // Checks out okay! - getDirectOffset
     
    16651665    ASSERT(code);
    16661666
    1667     MacroAssembler::link(code, failureCases1, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
    1668     MacroAssembler::link(code, failureCases2, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
     1667    X86Assembler::link(code, failureCases1, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
     1668    X86Assembler::link(code, failureCases2, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
    16691669   
    16701670    m_codeBlock->structureIDAccessStubs.append(code);
     
    16831683    // check eax is an object of the right StructureID.
    16841684    m_jit.testl_i32r(JSImmediate::TagMask, X86::eax);
    1685     MacroAssembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
     1685    X86Assembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
    16861686    m_jit.cmpl_i32m(reinterpret_cast<uint32_t>(structureID), OBJECT_OFFSET(JSCell, m_structureID), X86::eax);
    1687     MacroAssembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
     1687    X86Assembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
    16881688
    16891689    // Check the prototype object's StructureID had not changed.
    16901690    StructureID** protoStructureIDAddress = &(protoObject->m_structureID);
    16911691    m_jit.cmpl_i32m(reinterpret_cast<uint32_t>(prototypeStructureID), static_cast<void*>(protoStructureIDAddress));
    1692     MacroAssembler::JmpSrc failureCases3 = m_jit.emitUnlinkedJne();
     1692    X86Assembler::JmpSrc failureCases3 = m_jit.emitUnlinkedJne();
    16931693
    16941694    // Checks out okay! - getDirectOffset
     
    17001700    ASSERT(code);
    17011701
    1702     MacroAssembler::link(code, failureCases1, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
    1703     MacroAssembler::link(code, failureCases2, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
    1704     MacroAssembler::link(code, failureCases3, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
     1702    X86Assembler::link(code, failureCases1, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
     1703    X86Assembler::link(code, failureCases2, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
     1704    X86Assembler::link(code, failureCases3, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
    17051705
    17061706    m_codeBlock->structureIDAccessStubs.append(code);
     
    17131713    ASSERT(count);
    17141714   
    1715     Vector<MacroAssembler::JmpSrc> bucketsOfFail;
     1715    Vector<X86Assembler::JmpSrc> bucketsOfFail;
    17161716
    17171717    // Check eax is an object of the right StructureID.
     
    17461746
    17471747    for (unsigned i = 0; i < bucketsOfFail.size(); ++i)
    1748         MacroAssembler::link(code, bucketsOfFail[i], reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
     1748        X86Assembler::link(code, bucketsOfFail[i], reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
    17491749    m_codeBlock->structureIDAccessStubs.append(code);
    17501750    return code;
     
    17551755    // check eax is an object of the right StructureID.
    17561756    m_jit.testl_i32r(JSImmediate::TagMask, X86::eax);
    1757     MacroAssembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
     1757    X86Assembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
    17581758    m_jit.cmpl_i32m(reinterpret_cast<uint32_t>(structureID), OBJECT_OFFSET(JSCell, m_structureID), X86::eax);
    1759     MacroAssembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
     1759    X86Assembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
    17601760
    17611761    // checks out okay! - putDirectOffset
     
    17671767    ASSERT(code);
    17681768   
    1769     MacroAssembler::link(code, failureCases1, reinterpret_cast<void*>(Machine::cti_op_put_by_id_fail));
    1770     MacroAssembler::link(code, failureCases2, reinterpret_cast<void*>(Machine::cti_op_put_by_id_fail));
     1769    X86Assembler::link(code, failureCases1, reinterpret_cast<void*>(Machine::cti_op_put_by_id_fail));
     1770    X86Assembler::link(code, failureCases2, reinterpret_cast<void*>(Machine::cti_op_put_by_id_fail));
    17711771
    17721772    m_codeBlock->structureIDAccessStubs.append(code);
     
    17791779    // Check eax is an array
    17801780    m_jit.testl_i32r(JSImmediate::TagMask, X86::eax);
    1781     MacroAssembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
     1781    X86Assembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
    17821782    m_jit.cmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsArrayVptr), X86::eax);
    1783     MacroAssembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
     1783    X86Assembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
    17841784
    17851785    // Checks out okay! - get the length from the storage
     
    17881788
    17891789    m_jit.addl_rr(X86::eax, X86::eax);
    1790     MacroAssembler::JmpSrc failureCases3 = m_jit.emitUnlinkedJo();
     1790    X86Assembler::JmpSrc failureCases3 = m_jit.emitUnlinkedJo();
    17911791    m_jit.addl_i8r(1, X86::eax);
    17921792   
     
    17961796    ASSERT(code);
    17971797
    1798     MacroAssembler::link(code, failureCases1, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
    1799     MacroAssembler::link(code, failureCases2, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
    1800     MacroAssembler::link(code, failureCases3, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
     1798    X86Assembler::link(code, failureCases1, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
     1799    X86Assembler::link(code, failureCases2, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
     1800    X86Assembler::link(code, failureCases3, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
    18011801   
    18021802    return code;
     
    18071807    // Check eax is a string
    18081808    m_jit.testl_i32r(JSImmediate::TagMask, X86::eax);
    1809     MacroAssembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
     1809    X86Assembler::JmpSrc failureCases1 = m_jit.emitUnlinkedJne();
    18101810    m_jit.cmpl_i32m(reinterpret_cast<unsigned>(m_machine->m_jsStringVptr), X86::eax);
    1811     MacroAssembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
     1811    X86Assembler::JmpSrc failureCases2 = m_jit.emitUnlinkedJne();
    18121812
    18131813    // Checks out okay! - get the length from the Ustring.
     
    18161816
    18171817    m_jit.addl_rr(X86::eax, X86::eax);
    1818     MacroAssembler::JmpSrc failureCases3 = m_jit.emitUnlinkedJo();
     1818    X86Assembler::JmpSrc failureCases3 = m_jit.emitUnlinkedJo();
    18191819    m_jit.addl_i8r(1, X86::eax);
    18201820   
     
    18241824    ASSERT(code);
    18251825
    1826     MacroAssembler::link(code, failureCases1, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
    1827     MacroAssembler::link(code, failureCases2, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
    1828     MacroAssembler::link(code, failureCases3, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
     1826    X86Assembler::link(code, failureCases1, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
     1827    X86Assembler::link(code, failureCases2, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
     1828    X86Assembler::link(code, failureCases3, reinterpret_cast<void*>(Machine::cti_op_get_by_id_fail));
    18291829
    18301830    return code;
     
    18411841    }
    18421842
    1843     MacroAssembler jit(exec->machine()->jitCodeBuffer());
     1843    X86Assembler jit(exec->machine()->jitCodeBuffer());
    18441844    WRECParser parser(pattern, ignoreCase, multiline, jit);
    18451845   
Note: See TracChangeset for help on using the changeset viewer.