Changeset 39070 in webkit for trunk/JavaScriptCore/jit/JIT.cpp


Ignore:
Timestamp:
Dec 6, 2008, 2:01:05 PM (16 years ago)
Author:
[email protected]
Message:

2008-12-05 Sam Weinig <[email protected]>

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22715
Encapsulate more CodeBlock members in preparation
of moving some of them to a rare data structure.

  • bytecode/CodeBlock.cpp: (JSC::locationForOffset): (JSC::printConditionalJump): (JSC::printGetByIdOp): (JSC::printPutByIdOp): (JSC::CodeBlock::printStructure): (JSC::CodeBlock::printStructures): (JSC::CodeBlock::dump): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::unlinkCallers): (JSC::CodeBlock::derefStructures): (JSC::CodeBlock::refStructures): (JSC::CodeBlock::mark): (JSC::CodeBlock::getHandlerForVPC): (JSC::CodeBlock::nativeExceptionCodeForHandlerVPC): (JSC::CodeBlock::lineNumberForVPC): (JSC::CodeBlock::expressionRangeForVPC): (JSC::CodeBlock::shrinkToFit):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::addCaller): (JSC::CodeBlock::removeCaller): (JSC::CodeBlock::isKnownNotImmediate): (JSC::CodeBlock::isConstantRegisterIndex): (JSC::CodeBlock::getConstant): (JSC::CodeBlock::isTemporaryRegisterIndex): (JSC::CodeBlock::getStubInfo): (JSC::CodeBlock::getCallLinkInfo): (JSC::CodeBlock::instructions): (JSC::CodeBlock::setJITCode): (JSC::CodeBlock::jitCode): (JSC::CodeBlock::ownerNode): (JSC::CodeBlock::setGlobalData): (JSC::CodeBlock::setThisRegister): (JSC::CodeBlock::thisRegister): (JSC::CodeBlock::setNeedsFullScopeChain): (JSC::CodeBlock::needsFullScopeChain): (JSC::CodeBlock::setUsesEval): (JSC::CodeBlock::usesEval): (JSC::CodeBlock::setUsesArguments): (JSC::CodeBlock::usesArguments): (JSC::CodeBlock::codeType): (JSC::CodeBlock::source): (JSC::CodeBlock::sourceOffset): (JSC::CodeBlock::addGlobalResolveInstruction): (JSC::CodeBlock::numberOfPropertyAccessInstructions): (JSC::CodeBlock::addPropertyAccessInstruction): (JSC::CodeBlock::propertyAccessInstruction): (JSC::CodeBlock::numberOfCallLinkInfos): (JSC::CodeBlock::addCallLinkInfo): (JSC::CodeBlock::callLinkInfo): (JSC::CodeBlock::numberOfJumpTargets): (JSC::CodeBlock::addJumpTarget): (JSC::CodeBlock::jumpTarget): (JSC::CodeBlock::lastJumpTarget): (JSC::CodeBlock::numberOfExceptionHandlers): (JSC::CodeBlock::addExceptionHandler): (JSC::CodeBlock::exceptionHandler): (JSC::CodeBlock::addExpressionInfo): (JSC::CodeBlock::numberOfLineInfos): (JSC::CodeBlock::addLineInfo): (JSC::CodeBlock::lastLineInfo): (JSC::CodeBlock::jitReturnAddressVPCMap): (JSC::CodeBlock::numberOfIdentifiers): (JSC::CodeBlock::addIdentifier): (JSC::CodeBlock::identifier): (JSC::CodeBlock::numberOfConstantRegisters): (JSC::CodeBlock::addConstantRegister): (JSC::CodeBlock::constantRegister): (JSC::CodeBlock::addFunction): (JSC::CodeBlock::function): (JSC::CodeBlock::addFunctionExpression): (JSC::CodeBlock::functionExpression): (JSC::CodeBlock::addUnexpectedConstant): (JSC::CodeBlock::unexpectedConstant): (JSC::CodeBlock::addRegExp): (JSC::CodeBlock::regexp): (JSC::CodeBlock::symbolTable): (JSC::CodeBlock::evalCodeCache): New inline setters/getters.

(JSC::ProgramCodeBlock::ProgramCodeBlock):
(JSC::ProgramCodeBlock::~ProgramCodeBlock):
(JSC::ProgramCodeBlock::clearGlobalObject):

  • bytecode/SamplingTool.cpp: (JSC::ScopeSampleRecord::sample): (JSC::SamplingTool::dump):
  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/Label.h:
  • interpreter/CallFrame.cpp:
  • interpreter/Interpreter.cpp:
  • jit/JIT.cpp:
  • jit/JITCall.cpp:
  • jit/JITInlineMethods.h:
  • jit/JITPropertyAccess.cpp:
  • parser/Nodes.cpp:
  • runtime/Arguments.h:
  • runtime/ExceptionHelpers.cpp:
  • runtime/JSActivation.cpp:
  • runtime/JSActivation.h:
  • runtime/JSGlobalObject.cpp: Change direct access to use new getter/setters.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/jit/JIT.cpp

    r39061 r39070  
    185185    , m_globalData(globalData)
    186186    , m_codeBlock(codeBlock)
    187     , m_labels(codeBlock ? codeBlock->instructions.size() : 0)
    188     , m_propertyAccessCompilationInfo(codeBlock ? codeBlock->propertyAccessInstructions.size() : 0)
    189     , m_callStructureStubCompilationInfo(codeBlock ? codeBlock->callLinkInfos.size() : 0)
     187    , m_labels(codeBlock ? codeBlock->instructions().size() : 0)
     188    , m_propertyAccessCompilationInfo(codeBlock ? codeBlock->numberOfPropertyAccessInstructions() : 0)
     189    , m_callStructureStubCompilationInfo(codeBlock ? codeBlock->numberOfCallLinkInfos() : 0)
    190190    , m_lastResultBytecodeRegister(std::numeric_limits<int>::max())
    191191    , m_jumpTargetsPosition(0)
     
    266266void JIT::privateCompileMainPass()
    267267{
    268     Instruction* instruction = m_codeBlock->instructions.begin();
    269     unsigned instructionCount = m_codeBlock->instructions.size();
     268    Instruction* instruction = m_codeBlock->instructions().begin();
     269    unsigned instructionCount = m_codeBlock->instructions().size();
    270270
    271271    unsigned propertyAccessInstructionIndex = 0;
     
    320320        }
    321321        case op_end: {
    322             if (m_codeBlock->needsFullScopeChain)
     322            if (m_codeBlock->needsFullScopeChain())
    323323                emitCTICall(i, Interpreter::cti_op_end);
    324324            emitGetVirtualRegister(instruction[i + 1].u.operand, X86::eax, i);
     
    394394        }
    395395        case op_put_by_id: {
    396             compilePutByIdHotPath(instruction[i + 1].u.operand, &(m_codeBlock->identifiers[instruction[i + 2].u.operand]), instruction[i + 3].u.operand, i, propertyAccessInstructionIndex++);
     396            compilePutByIdHotPath(instruction[i + 1].u.operand, &(m_codeBlock->identifier(instruction[i + 2].u.operand)), instruction[i + 3].u.operand, i, propertyAccessInstructionIndex++);
    397397            i += 8;
    398398            break;
    399399        }
    400400        case op_get_by_id: {
    401             compileGetByIdHotPath(instruction[i + 1].u.operand, instruction[i + 2].u.operand, &(m_codeBlock->identifiers[instruction[i + 3].u.operand]), i, propertyAccessInstructionIndex++);
     401            compileGetByIdHotPath(instruction[i + 1].u.operand, instruction[i + 2].u.operand, &(m_codeBlock->identifier(instruction[i + 3].u.operand)), i, propertyAccessInstructionIndex++);
    402402            i += 8;
    403403            break;
     
    464464        case op_del_by_id: {
    465465            emitPutCTIArgFromVirtualRegister(instruction[i + 2].u.operand, 0, X86::ecx);
    466             Identifier* ident = &(m_codeBlock->identifiers[instruction[i + 3].u.operand]);
     466            Identifier* ident = &(m_codeBlock->identifier(instruction[i + 3].u.operand));
    467467            emitPutCTIArgConstant(reinterpret_cast<unsigned>(ident), 4);
    468468            emitCTICall(i, Interpreter::cti_op_del_by_id);
     
    501501        }
    502502        case op_new_func: {
    503             FuncDeclNode* func = (m_codeBlock->functions[instruction[i + 2].u.operand]).get();
     503            FuncDeclNode* func = m_codeBlock->function(instruction[i + 2].u.operand);
    504504            emitPutCTIArgConstant(reinterpret_cast<unsigned>(func), 0);
    505505            emitCTICall(i, Interpreter::cti_op_new_func);
     
    532532        }
    533533        case op_get_scoped_var: {
    534             int skip = instruction[i + 3].u.operand + m_codeBlock->needsFullScopeChain;
     534            int skip = instruction[i + 3].u.operand + m_codeBlock->needsFullScopeChain();
    535535
    536536            emitGetFromCallFrameHeader(RegisterFile::ScopeChain, X86::eax);
     
    545545        }
    546546        case op_put_scoped_var: {
    547             int skip = instruction[i + 2].u.operand + m_codeBlock->needsFullScopeChain;
     547            int skip = instruction[i + 2].u.operand + m_codeBlock->needsFullScopeChain();
    548548
    549549            emitGetFromCallFrameHeader(RegisterFile::ScopeChain, X86::edx);
     
    570570        case op_ret: {
    571571            // We could JIT generate the deref, only calling out to C when the refcount hits zero.
    572             if (m_codeBlock->needsFullScopeChain)
     572            if (m_codeBlock->needsFullScopeChain())
    573573                emitCTICall(i, Interpreter::cti_op_ret_scopeChain);
    574574
     
    599599        }
    600600        case op_resolve: {
    601             Identifier* ident = &(m_codeBlock->identifiers[instruction[i + 2].u.operand]);
     601            Identifier* ident = &(m_codeBlock->identifier(instruction[i + 2].u.operand));
    602602            emitPutCTIArgConstant(reinterpret_cast<unsigned>(ident), 0);
    603603            emitCTICall(i, Interpreter::cti_op_resolve);
     
    642642        }
    643643        case op_resolve_func: {
    644             Identifier* ident = &(m_codeBlock->identifiers[instruction[i + 3].u.operand]);
     644            Identifier* ident = &(m_codeBlock->identifier(instruction[i + 3].u.operand));
    645645            emitPutCTIArgConstant(reinterpret_cast<unsigned>(ident), 0);
    646646            emitCTICall(i, Interpreter::cti_op_resolve_func);
     
    705705        };
    706706        case op_resolve_base: {
    707             Identifier* ident = &(m_codeBlock->identifiers[instruction[i + 2].u.operand]);
     707            Identifier* ident = &(m_codeBlock->identifier(instruction[i + 2].u.operand));
    708708            emitPutCTIArgConstant(reinterpret_cast<unsigned>(ident), 0);
    709709            emitCTICall(i, Interpreter::cti_op_resolve_base);
     
    720720        }
    721721        case op_resolve_skip: {
    722             Identifier* ident = &(m_codeBlock->identifiers[instruction[i + 2].u.operand]);
     722            Identifier* ident = &(m_codeBlock->identifier(instruction[i + 2].u.operand));
    723723            emitPutCTIArgConstant(reinterpret_cast<unsigned>(ident), 0);
    724             emitPutCTIArgConstant(instruction[i + 3].u.operand + m_codeBlock->needsFullScopeChain, 4);
     724            emitPutCTIArgConstant(instruction[i + 3].u.operand + m_codeBlock->needsFullScopeChain(), 4);
    725725            emitCTICall(i, Interpreter::cti_op_resolve_skip);
    726726            emitPutVirtualRegister(instruction[i + 1].u.operand);
     
    731731            // Fast case
    732732            unsigned globalObject = asInteger(instruction[i + 2].u.jsCell);
    733             Identifier* ident = &(m_codeBlock->identifiers[instruction[i + 3].u.operand]);
     733            Identifier* ident = &(m_codeBlock->identifier(instruction[i + 3].u.operand));
    734734            void* structureAddress = reinterpret_cast<void*>(instruction + i + 4);
    735735            void* offsetAddr = reinterpret_cast<void*>(instruction + i + 5);
     
    887887        }
    888888        case op_unexpected_load: {
    889             JSValue* v = m_codeBlock->unexpectedConstants[instruction[i + 2].u.operand];
     889            JSValue* v = m_codeBlock->unexpectedConstant(instruction[i + 2].u.operand);
    890890            __ movl_i32r(asInteger(v), X86::eax);
    891891            emitPutVirtualRegister(instruction[i + 1].u.operand);
     
    984984        }
    985985        case op_resolve_with_base: {
    986             Identifier* ident = &(m_codeBlock->identifiers[instruction[i + 3].u.operand]);
     986            Identifier* ident = &(m_codeBlock->identifier(instruction[i + 3].u.operand));
    987987            emitPutCTIArgConstant(reinterpret_cast<unsigned>(ident), 0);
    988988            emitCTICall(i, Interpreter::cti_op_resolve_with_base);
     
    993993        }
    994994        case op_new_func_exp: {
    995             FuncExprNode* func = (m_codeBlock->functionExpressions[instruction[i + 2].u.operand]).get();
     995            FuncExprNode* func = m_codeBlock->functionExpression(instruction[i + 2].u.operand);
    996996            emitPutCTIArgConstant(reinterpret_cast<unsigned>(func), 0);
    997997            emitCTICall(i, Interpreter::cti_op_new_func_exp);
     
    10701070        }
    10711071        case op_new_regexp: {
    1072             RegExp* regExp = m_codeBlock->regexps[instruction[i + 2].u.operand].get();
     1072            RegExp* regExp = m_codeBlock->regexp(instruction[i + 2].u.operand);
    10731073            emitPutCTIArgConstant(reinterpret_cast<unsigned>(regExp), 0);
    10741074            emitCTICall(i, Interpreter::cti_op_new_regexp);
     
    11721172        }
    11731173        case op_push_new_scope: {
    1174             Identifier* ident = &(m_codeBlock->identifiers[instruction[i + 2].u.operand]);
     1174            Identifier* ident = &(m_codeBlock->identifier(instruction[i + 2].u.operand));
    11751175            emitPutCTIArgConstant(reinterpret_cast<unsigned>(ident), 0);
    11761176            emitPutCTIArgFromVirtualRegister(instruction[i + 3].u.operand, 4, X86::ecx);
     
    12631263        case op_put_getter: {
    12641264            emitPutCTIArgFromVirtualRegister(instruction[i + 1].u.operand, 0, X86::ecx);
    1265             Identifier* ident = &(m_codeBlock->identifiers[instruction[i + 2].u.operand]);
     1265            Identifier* ident = &(m_codeBlock->identifier(instruction[i + 2].u.operand));
    12661266            emitPutCTIArgConstant(reinterpret_cast<unsigned>(ident), 4);
    12671267            emitPutCTIArgFromVirtualRegister(instruction[i + 3].u.operand, 8, X86::ecx);
     
    12721272        case op_put_setter: {
    12731273            emitPutCTIArgFromVirtualRegister(instruction[i + 1].u.operand, 0, X86::ecx);
    1274             Identifier* ident = &(m_codeBlock->identifiers[instruction[i + 2].u.operand]);
     1274            Identifier* ident = &(m_codeBlock->identifier(instruction[i + 2].u.operand));
    12751275            emitPutCTIArgConstant(reinterpret_cast<unsigned>(ident), 4);
    12761276            emitPutCTIArgFromVirtualRegister(instruction[i + 3].u.operand, 8, X86::ecx);
     
    12801280        }
    12811281        case op_new_error: {
    1282             JSValue* message = m_codeBlock->unexpectedConstants[instruction[i + 3].u.operand];
     1282            JSValue* message = m_codeBlock->unexpectedConstant(instruction[i + 3].u.operand);
    12831283            emitPutCTIArgConstant(instruction[i + 2].u.operand, 0);
    12841284            emitPutCTIArgConstant(asInteger(message), 4);
     
    13591359            // registers to zap stale pointers, to avoid unnecessarily prolonging
    13601360            // object lifetime and increasing GC pressure.
    1361             size_t count = m_codeBlock->numVars + m_codeBlock->constantRegisters.size();
     1361            size_t count = m_codeBlock->m_numVars + m_codeBlock->numberOfConstantRegisters();
    13621362            for (size_t j = 0; j < count; ++j)
    13631363                emitInitRegister(j);
     
    13701370            // registers to zap stale pointers, to avoid unnecessarily prolonging
    13711371            // object lifetime and increasing GC pressure.
    1372             size_t count = m_codeBlock->numVars + m_codeBlock->constantRegisters.size();
     1372            size_t count = m_codeBlock->m_numVars + m_codeBlock->numberOfConstantRegisters();
    13731373            for (size_t j = 0; j < count; ++j)
    13741374                emitInitRegister(j);
     
    13811381        }
    13821382        case op_create_arguments: {
    1383             emitCTICall(i, (m_codeBlock->numParameters == 1) ? Interpreter::cti_op_create_arguments_no_params : Interpreter::cti_op_create_arguments);
     1383            emitCTICall(i, (m_codeBlock->m_numParameters == 1) ? Interpreter::cti_op_create_arguments_no_params : Interpreter::cti_op_create_arguments);
    13841384            i += 1;
    13851385            break;
     
    14331433    }
    14341434
    1435     ASSERT(propertyAccessInstructionIndex == m_codeBlock->propertyAccessInstructions.size());
    1436     ASSERT(callLinkInfoIndex == m_codeBlock->callLinkInfos.size());
     1435    ASSERT(propertyAccessInstructionIndex == m_codeBlock->numberOfPropertyAccessInstructions());
     1436    ASSERT(callLinkInfoIndex == m_codeBlock->numberOfCallLinkInfos());
    14371437}
    14381438
     
    14621462    unsigned callLinkInfoIndex = 0;
    14631463
    1464     Instruction* instruction = m_codeBlock->instructions.begin();
     1464    Instruction* instruction = m_codeBlock->instructions().begin();
    14651465    for (Vector<SlowCaseEntry>::iterator iter = m_slowCases.begin(); iter != m_slowCases.end(); ++iter) {
    14661466        // FIXME: enable peephole optimizations for slow cases when applicable
     
    16051605        }
    16061606        case op_put_by_id: {
    1607             compilePutByIdSlowCase(instruction[i + 1].u.operand, &(m_codeBlock->identifiers[instruction[i + 2].u.operand]), instruction[i + 3].u.operand, i, iter, propertyAccessInstructionIndex++);
     1607            compilePutByIdSlowCase(instruction[i + 1].u.operand, &(m_codeBlock->identifier(instruction[i + 2].u.operand)), instruction[i + 3].u.operand, i, iter, propertyAccessInstructionIndex++);
    16081608            i += 8;
    16091609            break;
    16101610        }
    16111611        case op_get_by_id: {
    1612             compileGetByIdSlowCase(instruction[i + 1].u.operand, instruction[i + 2].u.operand, &(m_codeBlock->identifiers[instruction[i + 3].u.operand]), i, iter, propertyAccessInstructionIndex++);
     1612            compileGetByIdSlowCase(instruction[i + 1].u.operand, instruction[i + 2].u.operand, &(m_codeBlock->identifier(instruction[i + 3].u.operand)), i, iter, propertyAccessInstructionIndex++);
    16131613            i += 8;
    16141614            break;
     
    19481948    }
    19491949
    1950     ASSERT(propertyAccessInstructionIndex == m_codeBlock->propertyAccessInstructions.size());
    1951     ASSERT(callLinkInfoIndex == m_codeBlock->callLinkInfos.size());
     1950    ASSERT(propertyAccessInstructionIndex == m_codeBlock->numberOfPropertyAccessInstructions());
     1951    ASSERT(callLinkInfoIndex == m_codeBlock->numberOfCallLinkInfos());
    19521952}
    19531953
     
    19581958#endif
    19591959#if ENABLE(OPCODE_SAMPLING)
    1960         __ movl_i32m(m_interpreter->sampler()->encodeSample(m_codeBlock->instructions.begin()), m_interpreter->sampler()->sampleSlot());
     1960        __ movl_i32m(m_interpreter->sampler()->encodeSample(m_codeBlock->instructions().begin()), m_interpreter->sampler()->sampleSlot());
    19611961#endif
    19621962
     
    19671967    JmpSrc slowRegisterFileCheck;
    19681968    JmpDst afterRegisterFileCheck;
    1969     if (m_codeBlock->codeType == FunctionCode) {
     1969    if (m_codeBlock->codeType() == FunctionCode) {
    19701970        // In the case of a fast linked call, we do not set this up in the caller.
    19711971        emitPutImmediateToCallFrameHeader(m_codeBlock, RegisterFile::CodeBlock);
    19721972
    19731973        emitGetCTIParam(CTI_ARGS_registerFile, X86::eax);
    1974         __ leal_mr(m_codeBlock->numCalleeRegisters * sizeof(Register), X86::edi, X86::edx);
     1974        __ leal_mr(m_codeBlock->m_numCalleeRegisters * sizeof(Register), X86::edi, X86::edx);
    19751975        __ cmpl_mr(FIELD_OFFSET(RegisterFile, m_end), X86::eax, X86::edx);
    19761976        slowRegisterFileCheck = __ jg();
     
    19821982    privateCompileSlowCases();
    19831983
    1984     if (m_codeBlock->codeType == FunctionCode) {
     1984    if (m_codeBlock->codeType() == FunctionCode) {
    19851985        __ link(slowRegisterFileCheck, __ label());
    19861986        emitCTICall(0, Interpreter::cti_register_file_check);
     
    20212021    }
    20222022
    2023     for (Vector<HandlerInfo>::iterator iter = m_codeBlock->exceptionHandlers.begin(); iter != m_codeBlock->exceptionHandlers.end(); ++iter)
    2024          iter->nativeCode = __ getRelocatedAddress(code, m_labels[iter->target]);
     2023    for (size_t i = 0; i < m_codeBlock->numberOfExceptionHandlers(); ++i) {
     2024        HandlerInfo& handler = m_codeBlock->exceptionHandler(i);
     2025        handler.nativeCode = __ getRelocatedAddress(code, m_labels[handler.target]);
     2026    }
    20252027
    20262028    for (Vector<CallRecord>::iterator iter = m_calls.begin(); iter != m_calls.end(); ++iter) {
    20272029        if (iter->to)
    20282030            X86Assembler::link(code, iter->from, iter->to);
    2029         m_codeBlock->ctiReturnAddressVPCMap.add(__ getRelocatedAddress(code, iter->from), iter->bytecodeIndex);
     2031        m_codeBlock->jitReturnAddressVPCMap().add(__ getRelocatedAddress(code, iter->from), iter->bytecodeIndex);
    20302032    }
    20312033
     
    20342036        X86Assembler::linkAbsoluteAddress(code, iter->addrPosition, iter->target);
    20352037
    2036     for (unsigned i = 0; i < m_codeBlock->propertyAccessInstructions.size(); ++i) {
    2037         StructureStubInfo& info = m_codeBlock->propertyAccessInstructions[i];
     2038    for (unsigned i = 0; i < m_codeBlock->numberOfPropertyAccessInstructions(); ++i) {
     2039        StructureStubInfo& info = m_codeBlock->propertyAccessInstruction(i);
    20382040        info.callReturnLocation = X86Assembler::getRelocatedAddress(code, m_propertyAccessCompilationInfo[i].callReturnLocation);
    20392041        info.hotPathBegin = X86Assembler::getRelocatedAddress(code, m_propertyAccessCompilationInfo[i].hotPathBegin);
    20402042    }
    2041     for (unsigned i = 0; i < m_codeBlock->callLinkInfos.size(); ++i) {
    2042         CallLinkInfo& info = m_codeBlock->callLinkInfos[i];
     2043    for (unsigned i = 0; i < m_codeBlock->numberOfCallLinkInfos(); ++i) {
     2044        CallLinkInfo& info = m_codeBlock->callLinkInfo(i);
    20432045        info.callReturnLocation = X86Assembler::getRelocatedAddress(code, m_callStructureStubCompilationInfo[i].callReturnLocation);
    20442046        info.hotPathBegin = X86Assembler::getRelocatedAddress(code, m_callStructureStubCompilationInfo[i].hotPathBegin);
     
    20472049    }
    20482050
    2049     m_codeBlock->ctiCode = code;
     2051    m_codeBlock->setJITCode(code);
    20502052}
    20512053
     
    21112113
    21122114    // Check argCount matches callee arity.
    2113     __ cmpl_rm(X86::edx, FIELD_OFFSET(CodeBlock, numParameters), X86::eax);
     2115    __ cmpl_rm(X86::edx, FIELD_OFFSET(CodeBlock, m_numParameters), X86::eax);
    21142116    JmpSrc arityCheckOkay1 = __ je();
    21152117    __ popl_r(X86::ebx);
     
    21532155
    21542156    // Check argCount matches callee arity.
    2155     __ cmpl_rm(X86::edx, FIELD_OFFSET(CodeBlock, numParameters), X86::eax);
     2157    __ cmpl_rm(X86::edx, FIELD_OFFSET(CodeBlock, m_numParameters), X86::eax);
    21562158    JmpSrc arityCheckOkay2 = __ je();
    21572159    __ popl_r(X86::ebx);
     
    21952197
    21962198    // Check argCount matches callee arity.
    2197     __ cmpl_rm(X86::edx, FIELD_OFFSET(CodeBlock, numParameters), X86::eax);
     2199    __ cmpl_rm(X86::edx, FIELD_OFFSET(CodeBlock, m_numParameters), X86::eax);
    21982200    JmpSrc arityCheckOkay3 = __ je();
    21992201    __ popl_r(X86::ebx);
     
    22122214
    22132215    // load ctiCode from the new codeBlock.
    2214     __ movl_mr(FIELD_OFFSET(CodeBlock, ctiCode), X86::eax, X86::eax);
     2216    __ movl_mr(FIELD_OFFSET(CodeBlock, m_jitCode), X86::eax, X86::eax);
    22152217
    22162218    __ jmp_r(X86::eax);
Note: See TracChangeset for help on using the changeset viewer.