Ignore:
Timestamp:
Nov 15, 2008, 1:05:23 PM (17 years ago)
Author:
[email protected]
Message:

2008-11-15 Geoffrey Garen <[email protected]>

Reviewed by Sam Weinig.


Renames:


CodeGenerator => BytecodeGenerator
emitCodeForBlock => emitBytecodeForBlock
generatedByteCode => generatedBytecode
generateCode => generateBytecode

  • JavaScriptCore.exp:
  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::setDumpsGeneratedCode): (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::addVar): (JSC::BytecodeGenerator::addGlobalVar): (JSC::BytecodeGenerator::allocateConstants): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::addParameter): (JSC::BytecodeGenerator::registerFor): (JSC::BytecodeGenerator::constRegisterFor): (JSC::BytecodeGenerator::isLocal): (JSC::BytecodeGenerator::isLocalConstant): (JSC::BytecodeGenerator::newRegister): (JSC::BytecodeGenerator::newTemporary): (JSC::BytecodeGenerator::highestUsedRegister): (JSC::BytecodeGenerator::newLabelScope): (JSC::BytecodeGenerator::newLabel): (JSC::BytecodeGenerator::emitLabel): (JSC::BytecodeGenerator::emitBytecode): (JSC::BytecodeGenerator::retrieveLastBinaryOp): (JSC::BytecodeGenerator::retrieveLastUnaryOp): (JSC::BytecodeGenerator::rewindBinaryOp): (JSC::BytecodeGenerator::rewindUnaryOp): (JSC::BytecodeGenerator::emitJump): (JSC::BytecodeGenerator::emitJumpIfTrue): (JSC::BytecodeGenerator::emitJumpIfFalse): (JSC::BytecodeGenerator::addConstant): (JSC::BytecodeGenerator::addUnexpectedConstant): (JSC::BytecodeGenerator::addRegExp): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::emitUnaryOp): (JSC::BytecodeGenerator::emitPreInc): (JSC::BytecodeGenerator::emitPreDec): (JSC::BytecodeGenerator::emitPostInc): (JSC::BytecodeGenerator::emitPostDec): (JSC::BytecodeGenerator::emitBinaryOp): (JSC::BytecodeGenerator::emitEqualityOp): (JSC::BytecodeGenerator::emitLoad): (JSC::BytecodeGenerator::emitUnexpectedLoad): (JSC::BytecodeGenerator::findScopedProperty): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitResolve): (JSC::BytecodeGenerator::emitGetScopedVar): (JSC::BytecodeGenerator::emitPutScopedVar): (JSC::BytecodeGenerator::emitResolveBase): (JSC::BytecodeGenerator::emitResolveWithBase): (JSC::BytecodeGenerator::emitResolveFunction): (JSC::BytecodeGenerator::emitGetById): (JSC::BytecodeGenerator::emitPutById): (JSC::BytecodeGenerator::emitPutGetter): (JSC::BytecodeGenerator::emitPutSetter): (JSC::BytecodeGenerator::emitDeleteById): (JSC::BytecodeGenerator::emitGetByVal): (JSC::BytecodeGenerator::emitPutByVal): (JSC::BytecodeGenerator::emitDeleteByVal): (JSC::BytecodeGenerator::emitPutByIndex): (JSC::BytecodeGenerator::emitNewObject): (JSC::BytecodeGenerator::emitNewArray): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewRegExp): (JSC::BytecodeGenerator::emitNewFunctionExpression): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitCallEval): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitUnaryNoDstOp): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::emitPushScope): (JSC::BytecodeGenerator::emitPopScope): (JSC::BytecodeGenerator::emitDebugHook): (JSC::BytecodeGenerator::pushFinallyContext): (JSC::BytecodeGenerator::popFinallyContext): (JSC::BytecodeGenerator::breakTarget): (JSC::BytecodeGenerator::continueTarget): (JSC::BytecodeGenerator::emitComplexJumpScopes): (JSC::BytecodeGenerator::emitJumpScopes): (JSC::BytecodeGenerator::emitNextPropertyName): (JSC::BytecodeGenerator::emitCatch): (JSC::BytecodeGenerator::emitNewError): (JSC::BytecodeGenerator::emitJumpSubroutine): (JSC::BytecodeGenerator::emitSubroutineReturn): (JSC::BytecodeGenerator::emitPushNewScope): (JSC::BytecodeGenerator::beginSwitch): (JSC::BytecodeGenerator::endSwitch): (JSC::BytecodeGenerator::emitThrowExpressionTooDeepException):
  • bytecompiler/CodeGenerator.h:
  • jsc.cpp: (runWithScripts):
  • parser/Nodes.cpp: (JSC::ThrowableExpressionData::emitThrowError): (JSC::NullNode::emitBytecode): (JSC::BooleanNode::emitBytecode): (JSC::NumberNode::emitBytecode): (JSC::StringNode::emitBytecode): (JSC::RegExpNode::emitBytecode): (JSC::ThisNode::emitBytecode): (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::ArrayNode::emitBytecode): (JSC::ObjectLiteralNode::emitBytecode): (JSC::PropertyListNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::ArgumentListNode::emitBytecode): (JSC::NewExprNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallValueNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::FunctionCallBracketNode::emitBytecode): (JSC::FunctionCallDotNode::emitBytecode): (JSC::emitPreIncOrDec): (JSC::emitPostIncOrDec): (JSC::PostfixResolveNode::emitBytecode): (JSC::PostfixBracketNode::emitBytecode): (JSC::PostfixDotNode::emitBytecode): (JSC::PostfixErrorNode::emitBytecode): (JSC::DeleteResolveNode::emitBytecode): (JSC::DeleteBracketNode::emitBytecode): (JSC::DeleteDotNode::emitBytecode): (JSC::DeleteValueNode::emitBytecode): (JSC::VoidNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::TypeOfValueNode::emitBytecode): (JSC::PrefixResolveNode::emitBytecode): (JSC::PrefixBracketNode::emitBytecode): (JSC::PrefixDotNode::emitBytecode): (JSC::PrefixErrorNode::emitBytecode): (JSC::UnaryOpNode::emitBytecode): (JSC::BinaryOpNode::emitBytecode): (JSC::EqualNode::emitBytecode): (JSC::StrictEqualNode::emitBytecode): (JSC::ReverseBinaryOpNode::emitBytecode): (JSC::ThrowableBinaryOpNode::emitBytecode): (JSC::InstanceOfNode::emitBytecode): (JSC::LogicalOpNode::emitBytecode): (JSC::ConditionalNode::emitBytecode): (JSC::emitReadModifyAssignment): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::AssignDotNode::emitBytecode): (JSC::ReadModifyDotNode::emitBytecode): (JSC::AssignErrorNode::emitBytecode): (JSC::AssignBracketNode::emitBytecode): (JSC::ReadModifyBracketNode::emitBytecode): (JSC::CommaNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::ConstDeclNode::emitBytecode): (JSC::ConstStatementNode::emitBytecode): (JSC::statementListEmitCode): (JSC::BlockNode::emitBytecode): (JSC::EmptyStatementNode::emitBytecode): (JSC::DebuggerStatementNode::emitBytecode): (JSC::ExprStatementNode::emitBytecode): (JSC::VarStatementNode::emitBytecode): (JSC::IfNode::emitBytecode): (JSC::IfElseNode::emitBytecode): (JSC::DoWhileNode::emitBytecode): (JSC::WhileNode::emitBytecode): (JSC::ForNode::emitBytecode): (JSC::ForInNode::emitBytecode): (JSC::ContinueNode::emitBytecode): (JSC::BreakNode::emitBytecode): (JSC::ReturnNode::emitBytecode): (JSC::WithNode::emitBytecode): (JSC::CaseBlockNode::emitBytecodeForBlock): (JSC::SwitchNode::emitBytecode): (JSC::LabelNode::emitBytecode): (JSC::ThrowNode::emitBytecode): (JSC::TryNode::emitBytecode): (JSC::EvalNode::emitBytecode): (JSC::EvalNode::generateBytecode): (JSC::FunctionBodyNode::generateBytecode): (JSC::FunctionBodyNode::emitBytecode): (JSC::ProgramNode::emitBytecode): (JSC::ProgramNode::generateBytecode): (JSC::FuncDeclNode::emitBytecode): (JSC::FuncExprNode::emitBytecode):
  • parser/Nodes.h: (JSC::ExpressionNode::): (JSC::BooleanNode::): (JSC::NumberNode::): (JSC::StringNode::): (JSC::ProgramNode::): (JSC::EvalNode::): (JSC::FunctionBodyNode::):
  • runtime/Arguments.h: (JSC::Arguments::getArgumentsData): (JSC::JSActivation::copyRegisters):
  • runtime/JSActivation.cpp: (JSC::JSActivation::mark):
  • runtime/JSActivation.h: (JSC::JSActivation::JSActivationData::JSActivationData):
  • runtime/JSFunction.cpp: (JSC::JSFunction::~JSFunction):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/parser/Nodes.cpp

    r38425 r38427  
    231231}
    232232
    233 RegisterID* ThrowableExpressionData::emitThrowError(CodeGenerator& generator, ErrorType e, const char* msg)
     233RegisterID* ThrowableExpressionData::emitThrowError(BytecodeGenerator& generator, ErrorType e, const char* msg)
    234234{
    235235    generator.emitExpressionInfo(divot(), startOffset(), endOffset());
     
    239239}
    240240
    241 RegisterID* ThrowableExpressionData::emitThrowError(CodeGenerator& generator, ErrorType e, const char* msg, const Identifier& label)
     241RegisterID* ThrowableExpressionData::emitThrowError(BytecodeGenerator& generator, ErrorType e, const char* msg, const Identifier& label)
    242242{
    243243    UString message = msg;
     
    275275// ------------------------------ NullNode -------------------------------------
    276276
    277 RegisterID* NullNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     277RegisterID* NullNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    278278{
    279279    if (dst == ignoredResult())
     
    284284// ------------------------------ BooleanNode ----------------------------------
    285285
    286 RegisterID* BooleanNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     286RegisterID* BooleanNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    287287{
    288288    if (dst == ignoredResult())
     
    293293// ------------------------------ NumberNode -----------------------------------
    294294
    295 RegisterID* NumberNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     295RegisterID* NumberNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    296296{
    297297    if (dst == ignoredResult())
     
    302302// ------------------------------ StringNode -----------------------------------
    303303
    304 RegisterID* StringNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     304RegisterID* StringNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    305305{
    306306    if (dst == ignoredResult())
     
    311311// ------------------------------ RegExpNode -----------------------------------
    312312
    313 RegisterID* RegExpNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     313RegisterID* RegExpNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    314314{
    315315    RefPtr<RegExp> regExp = RegExp::create(generator.globalData(), m_pattern, m_flags);
     
    323323// ------------------------------ ThisNode -------------------------------------
    324324
    325 RegisterID* ThisNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     325RegisterID* ThisNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    326326{
    327327    if (dst == ignoredResult())
     
    332332// ------------------------------ ResolveNode ----------------------------------
    333333
    334 bool ResolveNode::isPure(CodeGenerator& generator) const
     334bool ResolveNode::isPure(BytecodeGenerator& generator) const
    335335{
    336336    return generator.isLocal(m_ident);
    337337}
    338338
    339 RegisterID* ResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     339RegisterID* ResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    340340{
    341341    if (RegisterID* local = generator.registerFor(m_ident)) {
     
    374374}
    375375
    376 RegisterID* ArrayNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     376RegisterID* ArrayNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    377377{
    378378    // FIXME: Should we put all of this code into emitNewArray?
     
    429429}
    430430
    431 RegisterID* ObjectLiteralNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     431RegisterID* ObjectLiteralNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    432432{
    433433     if (!m_list) {
     
    452452}
    453453
    454 RegisterID* PropertyListNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     454RegisterID* PropertyListNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    455455{
    456456    RefPtr<RegisterID> newObj = generator.tempDestination(dst);
     
    495495}
    496496
    497 RegisterID* BracketAccessorNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     497RegisterID* BracketAccessorNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    498498{
    499499    RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_subscriptHasAssignments, m_subscript->isPure(generator));
     
    515515}
    516516
    517 RegisterID* DotAccessorNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     517RegisterID* DotAccessorNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    518518{
    519519    RegisterID* base = generator.emitNode(m_base.get());
     
    535535}
    536536
    537 RegisterID* ArgumentListNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     537RegisterID* ArgumentListNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    538538{
    539539    ASSERT(m_expr);
     
    566566}
    567567
    568 RegisterID* NewExprNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     568RegisterID* NewExprNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    569569{
    570570    RefPtr<RegisterID> func = generator.emitNode(m_expr.get());
     
    584584}
    585585
    586 RegisterID* EvalFunctionCallNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     586RegisterID* EvalFunctionCallNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    587587{
    588588    RefPtr<RegisterID> func = generator.tempDestination(dst);
     
    605605}
    606606
    607 RegisterID* FunctionCallValueNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     607RegisterID* FunctionCallValueNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    608608{
    609609    RefPtr<RegisterID> func = generator.emitNode(m_expr.get());
     
    624624}
    625625
    626 RegisterID* FunctionCallResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     626RegisterID* FunctionCallResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    627627{
    628628    if (RefPtr<RegisterID> local = generator.registerFor(m_ident)) {
     
    662662}
    663663
    664 RegisterID* FunctionCallBracketNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     664RegisterID* FunctionCallBracketNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    665665{
    666666    RefPtr<RegisterID> base = generator.emitNode(m_base.get());
     
    685685}
    686686
    687 RegisterID* FunctionCallDotNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     687RegisterID* FunctionCallDotNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    688688{
    689689    RefPtr<RegisterID> base = generator.emitNode(m_base.get());
     
    696696// ------------------------------ PostfixResolveNode ----------------------------------
    697697
    698 static RegisterID* emitPreIncOrDec(CodeGenerator& generator, RegisterID* srcDst, Operator oper)
     698static RegisterID* emitPreIncOrDec(BytecodeGenerator& generator, RegisterID* srcDst, Operator oper)
    699699{
    700700    return (oper == OpPlusPlus) ? generator.emitPreInc(srcDst) : generator.emitPreDec(srcDst);
    701701}
    702702
    703 static RegisterID* emitPostIncOrDec(CodeGenerator& generator, RegisterID* dst, RegisterID* srcDst, Operator oper)
     703static RegisterID* emitPostIncOrDec(BytecodeGenerator& generator, RegisterID* dst, RegisterID* srcDst, Operator oper)
    704704{
    705705    return (oper == OpPlusPlus) ? generator.emitPostInc(dst, srcDst) : generator.emitPostDec(dst, srcDst);
    706706}
    707707
    708 RegisterID* PostfixResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     708RegisterID* PostfixResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    709709{
    710710    if (RegisterID* local = generator.registerFor(m_ident)) {
     
    763763}
    764764
    765 RegisterID* PostfixBracketNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     765RegisterID* PostfixBracketNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    766766{
    767767    RefPtr<RegisterID> base = generator.emitNode(m_base.get());
     
    797797}
    798798
    799 RegisterID* PostfixDotNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     799RegisterID* PostfixDotNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    800800{
    801801    RefPtr<RegisterID> base = generator.emitNode(m_base.get());
     
    830830}
    831831
    832 RegisterID* PostfixErrorNode::emitBytecode(CodeGenerator& generator, RegisterID*)
     832RegisterID* PostfixErrorNode::emitBytecode(BytecodeGenerator& generator, RegisterID*)
    833833{
    834834    return emitThrowError(generator, ReferenceError, m_operator == OpPlusPlus ? "Postfix ++ operator applied to value that is not a reference." : "Postfix -- operator applied to value that is not a reference.");
     
    837837// ------------------------------ DeleteResolveNode -----------------------------------
    838838
    839 RegisterID* DeleteResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     839RegisterID* DeleteResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    840840{
    841841    if (generator.registerFor(m_ident))
     
    860860}
    861861
    862 RegisterID* DeleteBracketNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     862RegisterID* DeleteBracketNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    863863{
    864864    RefPtr<RegisterID> r0 = generator.emitNode(m_base.get());
     
    881881}
    882882
    883 RegisterID* DeleteDotNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     883RegisterID* DeleteDotNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    884884{
    885885    RegisterID* r0 = generator.emitNode(m_base.get());
     
    901901}
    902902
    903 RegisterID* DeleteValueNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     903RegisterID* DeleteValueNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    904904{
    905905    generator.emitNode(ignoredResult(), m_expr.get());
     
    921921}
    922922
    923 RegisterID* VoidNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     923RegisterID* VoidNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    924924{
    925925    if (dst == ignoredResult()) {
     
    933933// ------------------------------ TypeOfValueNode -----------------------------------
    934934
    935 RegisterID* TypeOfResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     935RegisterID* TypeOfResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    936936{
    937937    if (RegisterID* local = generator.registerFor(m_ident)) {
     
    960960}
    961961
    962 RegisterID* TypeOfValueNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     962RegisterID* TypeOfValueNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    963963{
    964964    if (dst == ignoredResult()) {
     
    972972// ------------------------------ PrefixResolveNode ----------------------------------
    973973
    974 RegisterID* PrefixResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     974RegisterID* PrefixResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    975975{
    976976    if (RegisterID* local = generator.registerFor(m_ident)) {
     
    10171017}
    10181018
    1019 RegisterID* PrefixBracketNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1019RegisterID* PrefixBracketNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    10201020{
    10211021    RefPtr<RegisterID> base = generator.emitNode(m_base.get());
     
    10461046}
    10471047
    1048 RegisterID* PrefixDotNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1048RegisterID* PrefixDotNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    10491049{
    10501050    RefPtr<RegisterID> base = generator.emitNode(m_base.get());
     
    10741074}
    10751075
    1076 RegisterID* PrefixErrorNode::emitBytecode(CodeGenerator& generator, RegisterID*)
     1076RegisterID* PrefixErrorNode::emitBytecode(BytecodeGenerator& generator, RegisterID*)
    10771077{
    10781078    return emitThrowError(generator, ReferenceError, m_operator == OpPlusPlus ? "Prefix ++ operator applied to value that is not a reference." : "Prefix -- operator applied to value that is not a reference.");
     
    10911091}
    10921092
    1093 RegisterID* UnaryOpNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1093RegisterID* UnaryOpNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    10941094{
    10951095    RegisterID* src = generator.emitNode(m_expr.get());
     
    11101110}
    11111111
    1112 RegisterID* BinaryOpNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1112RegisterID* BinaryOpNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    11131113{
    11141114    BytecodeID bytecode = this->bytecode();
     
    11251125}
    11261126
    1127 RegisterID* EqualNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1127RegisterID* EqualNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    11281128{
    11291129    if (m_expr1->isNull() || m_expr2->isNull()) {
     
    11371137}
    11381138
    1139 RegisterID* StrictEqualNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1139RegisterID* StrictEqualNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    11401140{
    11411141    RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_expr1.get(), m_rightHasAssignments, m_expr2->isPure(generator));
     
    11441144}
    11451145
    1146 RegisterID* ReverseBinaryOpNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1146RegisterID* ReverseBinaryOpNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    11471147{
    11481148    RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_expr1.get(), m_rightHasAssignments, m_expr2->isPure(generator));
     
    11511151}
    11521152
    1153 RegisterID* ThrowableBinaryOpNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1153RegisterID* ThrowableBinaryOpNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    11541154{
    11551155    RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_expr1.get(), m_rightHasAssignments, m_expr2->isPure(generator));
     
    11591159}
    11601160
    1161 RegisterID* InstanceOfNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1161RegisterID* InstanceOfNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    11621162{
    11631163    RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_expr1.get(), m_rightHasAssignments, m_expr2->isPure(generator));
     
    11841184}
    11851185
    1186 RegisterID* LogicalOpNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1186RegisterID* LogicalOpNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    11871187{
    11881188    RefPtr<RegisterID> temp = generator.tempDestination(dst);
     
    12141214}
    12151215
    1216 RegisterID* ConditionalNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1216RegisterID* ConditionalNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    12171217{
    12181218    RefPtr<RegisterID> newDst = generator.finalDestination(dst);
     
    12461246}
    12471247
    1248 // FIXME: should this be moved to be a method on CodeGenerator?
    1249 static ALWAYS_INLINE RegisterID* emitReadModifyAssignment(CodeGenerator& generator, RegisterID* dst, RegisterID* src1, RegisterID* src2, Operator oper, OperandTypes types)
     1248// FIXME: should this be moved to be a method on BytecodeGenerator?
     1249static ALWAYS_INLINE RegisterID* emitReadModifyAssignment(BytecodeGenerator& generator, RegisterID* dst, RegisterID* src1, RegisterID* src2, Operator oper, OperandTypes types)
    12501250{
    12511251    BytecodeID bytecode;
     
    12921292}
    12931293
    1294 RegisterID* ReadModifyResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1294RegisterID* ReadModifyResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    12951295{
    12961296    if (RegisterID* local = generator.registerFor(m_ident)) {
     
    13461346}
    13471347
    1348 RegisterID* AssignResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1348RegisterID* AssignResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    13491349{
    13501350    if (RegisterID* local = generator.registerFor(m_ident)) {
     
    13881388}
    13891389
    1390 RegisterID* AssignDotNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1390RegisterID* AssignDotNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    13911391{
    13921392    RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_rightHasAssignments, m_right->isPure(generator));
     
    14111411}
    14121412
    1413 RegisterID* ReadModifyDotNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1413RegisterID* ReadModifyDotNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    14141414{
    14151415    RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_rightHasAssignments, m_right->isPure(generator));
     
    14371437}
    14381438
    1439 RegisterID* AssignErrorNode::emitBytecode(CodeGenerator& generator, RegisterID*)
     1439RegisterID* AssignErrorNode::emitBytecode(BytecodeGenerator& generator, RegisterID*)
    14401440{
    14411441    return emitThrowError(generator, ReferenceError, "Left side of assignment is not a reference.");
     
    14561456}
    14571457
    1458 RegisterID* AssignBracketNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1458RegisterID* AssignBracketNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    14591459{
    14601460    RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_subscriptHasAssignments || m_rightHasAssignments, m_subscript->isPure(generator) && m_right->isPure(generator));
     
    14821482}
    14831483
    1484 RegisterID* ReadModifyBracketNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1484RegisterID* ReadModifyBracketNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    14851485{
    14861486    RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_subscriptHasAssignments || m_rightHasAssignments, m_subscript->isPure(generator) && m_right->isPure(generator));
     
    15111511}
    15121512
    1513 RegisterID* CommaNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1513RegisterID* CommaNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    15141514{
    15151515    generator.emitNode(ignoredResult(), m_expr1.get());
     
    15371537}
    15381538
    1539 RegisterID* ConstDeclNode::emitCodeSingle(CodeGenerator& generator)
     1539RegisterID* ConstDeclNode::emitCodeSingle(BytecodeGenerator& generator)
    15401540{
    15411541    if (RegisterID* local = generator.constRegisterFor(m_ident)) {
     
    15531553}
    15541554
    1555 RegisterID* ConstDeclNode::emitBytecode(CodeGenerator& generator, RegisterID*)
     1555RegisterID* ConstDeclNode::emitBytecode(BytecodeGenerator& generator, RegisterID*)
    15561556{
    15571557    RegisterID* result = 0;
     
    15741574}
    15751575
    1576 RegisterID* ConstStatementNode::emitBytecode(CodeGenerator& generator, RegisterID*)
     1576RegisterID* ConstStatementNode::emitBytecode(BytecodeGenerator& generator, RegisterID*)
    15771577{
    15781578    return generator.emitNode(m_next.get());
     
    15811581// ------------------------------ Helper functions for handling Vectors of StatementNode -------------------------------
    15821582
    1583 static inline RegisterID* statementListEmitCode(const StatementVector& statements, CodeGenerator& generator, RegisterID* dst)
     1583static inline RegisterID* statementListEmitCode(const StatementVector& statements, BytecodeGenerator& generator, RegisterID* dst)
    15841584{
    15851585    StatementVector::const_iterator end = statements.end();
     
    16141614}
    16151615
    1616 RegisterID* BlockNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1616RegisterID* BlockNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    16171617{
    16181618    return statementListEmitCode(m_children, generator, dst);
     
    16211621// ------------------------------ EmptyStatementNode ---------------------------
    16221622
    1623 RegisterID* EmptyStatementNode::emitBytecode(CodeGenerator&, RegisterID* dst)
     1623RegisterID* EmptyStatementNode::emitBytecode(BytecodeGenerator&, RegisterID* dst)
    16241624{
    16251625    return dst;
     
    16281628// ------------------------------ DebuggerStatementNode ---------------------------
    16291629
    1630 RegisterID* DebuggerStatementNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1630RegisterID* DebuggerStatementNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    16311631{
    16321632    generator.emitDebugHook(DidReachBreakpoint, firstLine(), lastLine());
     
    16361636// ------------------------------ ExprStatementNode ----------------------------
    16371637
    1638 RegisterID* ExprStatementNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1638RegisterID* ExprStatementNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    16391639{
    16401640    ASSERT(m_expr);
     
    16541654}
    16551655
    1656 RegisterID* VarStatementNode::emitBytecode(CodeGenerator& generator, RegisterID*)
     1656RegisterID* VarStatementNode::emitBytecode(BytecodeGenerator& generator, RegisterID*)
    16571657{
    16581658    ASSERT(m_expr);
     
    16731673}
    16741674
    1675 RegisterID* IfNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1675RegisterID* IfNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    16761676{
    16771677    RefPtr<LabelID> afterThen = generator.newLabel();
     
    17031703}
    17041704
    1705 RegisterID* IfElseNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1705RegisterID* IfElseNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    17061706{
    17071707    RefPtr<LabelID> beforeElse = generator.newLabel();
     
    17431743}
    17441744
    1745 RegisterID* DoWhileNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1745RegisterID* DoWhileNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    17461746{
    17471747    RefPtr<LabelScope> scope = generator.newLabelScope(LabelScope::Loop);
     
    17791779}
    17801780
    1781 RegisterID* WhileNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1781RegisterID* WhileNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    17821782{
    17831783    RefPtr<LabelScope> scope = generator.newLabelScope(LabelScope::Loop);
     
    18191819}
    18201820
    1821 RegisterID* ForNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1821RegisterID* ForNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    18221822{
    18231823    if (dst == ignoredResult())
     
    18971897}
    18981898
    1899 RegisterID* ForInNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1899RegisterID* ForInNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    19001900{
    19011901    RefPtr<LabelScope> scope = generator.newLabelScope(LabelScope::Loop);
     
    19631963
    19641964// ECMA 12.7
    1965 RegisterID* ContinueNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1965RegisterID* ContinueNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    19661966{
    19671967    LabelScope* scope = generator.continueTarget(m_ident);
     
    19791979
    19801980// ECMA 12.8
    1981 RegisterID* BreakNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     1981RegisterID* BreakNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    19821982{
    19831983    LabelScope* scope = generator.breakTarget(m_ident);
     
    20042004}
    20052005
    2006 RegisterID* ReturnNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     2006RegisterID* ReturnNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    20072007{
    20082008    if (generator.codeType() != FunctionCode)
     
    20342034}
    20352035
    2036 RegisterID* WithNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     2036RegisterID* WithNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    20372037{
    20382038    RefPtr<RegisterID> scope = generator.emitNode(m_expr.get()); // scope must be protected until popped
     
    21602160}
    21612161
    2162 RegisterID* CaseBlockNode::emitCodeForBlock(CodeGenerator& generator, RegisterID* switchExpression, RegisterID* dst)
     2162RegisterID* CaseBlockNode::emitBytecodeForBlock(BytecodeGenerator& generator, RegisterID* switchExpression, RegisterID* dst)
    21632163{
    21642164    RefPtr<LabelID> defaultLabel;
     
    22372237}
    22382238
    2239 RegisterID* SwitchNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     2239RegisterID* SwitchNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    22402240{
    22412241    RefPtr<LabelScope> scope = generator.newLabelScope(LabelScope::Switch);
    22422242
    22432243    RefPtr<RegisterID> r0 = generator.emitNode(m_expr.get());
    2244     RegisterID* r1 = m_block->emitCodeForBlock(generator, r0.get(), dst);
     2244    RegisterID* r1 = m_block->emitBytecodeForBlock(generator, r0.get(), dst);
    22452245
    22462246    generator.emitLabel(scope->breakTarget());
     
    22602260}
    22612261
    2262 RegisterID* LabelNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     2262RegisterID* LabelNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    22632263{
    22642264    if (generator.breakTarget(m_name))
     
    22842284}
    22852285
    2286 RegisterID* ThrowNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     2286RegisterID* ThrowNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    22872287{
    22882288    if (dst == ignoredResult())
     
    23082308}
    23092309
    2310 RegisterID* TryNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     2310RegisterID* TryNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    23112311{
    23122312    RefPtr<LabelID> tryStartLabel = generator.newLabel();
     
    24142414}
    24152415
    2416 RegisterID* EvalNode::emitBytecode(CodeGenerator& generator, RegisterID*)
     2416RegisterID* EvalNode::emitBytecode(BytecodeGenerator& generator, RegisterID*)
    24172417{
    24182418    generator.emitDebugHook(WillExecuteProgram, firstLine(), lastLine());
     
    24272427}
    24282428
    2429 void EvalNode::generateCode(ScopeChainNode* scopeChainNode)
     2429void EvalNode::generateBytecode(ScopeChainNode* scopeChainNode)
    24302430{
    24312431    ScopeChain scopeChain(scopeChainNode);
     
    24342434    m_code.set(new EvalCodeBlock(this, globalObject, source().provider()));
    24352435
    2436     CodeGenerator generator(this, globalObject->debugger(), scopeChain, &m_code->symbolTable, m_code.get());
     2436    BytecodeGenerator generator(this, globalObject->debugger(), scopeChain, &m_code->symbolTable, m_code.get());
    24372437    generator.generate();
    24382438}
     
    24932493}
    24942494
    2495 void FunctionBodyNode::generateCode(ScopeChainNode* scopeChainNode)
     2495void FunctionBodyNode::generateBytecode(ScopeChainNode* scopeChainNode)
    24962496{
    24972497    ScopeChain scopeChain(scopeChainNode);
     
    25002500    m_code.set(new CodeBlock(this, FunctionCode, source().provider(), source().startOffset()));
    25012501
    2502     CodeGenerator generator(this, globalObject->debugger(), scopeChain, &m_code->symbolTable, m_code.get());
     2502    BytecodeGenerator generator(this, globalObject->debugger(), scopeChain, &m_code->symbolTable, m_code.get());
    25032503    generator.generate();
    25042504}
    25052505
    2506 RegisterID* FunctionBodyNode::emitBytecode(CodeGenerator& generator, RegisterID*)
     2506RegisterID* FunctionBodyNode::emitBytecode(BytecodeGenerator& generator, RegisterID*)
    25072507{
    25082508    generator.emitDebugHook(DidEnterCallFrame, firstLine(), lastLine());
     
    25162516}
    25172517
    2518 RegisterID* ProgramNode::emitBytecode(CodeGenerator& generator, RegisterID*)
     2518RegisterID* ProgramNode::emitBytecode(BytecodeGenerator& generator, RegisterID*)
    25192519{
    25202520    generator.emitDebugHook(WillExecuteProgram, firstLine(), lastLine());
     
    25292529}
    25302530
    2531 void ProgramNode::generateCode(ScopeChainNode* scopeChainNode)
     2531void ProgramNode::generateBytecode(ScopeChainNode* scopeChainNode)
    25322532{
    25332533    ScopeChain scopeChain(scopeChainNode);
     
    25362536    m_code.set(new ProgramCodeBlock(this, GlobalCode, globalObject, source().provider()));
    25372537   
    2538     CodeGenerator generator(this, globalObject->debugger(), scopeChain, &globalObject->symbolTable(), m_code.get(), m_varStack, m_functionStack);
     2538    BytecodeGenerator generator(this, globalObject->debugger(), scopeChain, &globalObject->symbolTable(), m_code.get(), m_varStack, m_functionStack);
    25392539    generator.generate();
    25402540}
     
    25772577}
    25782578
    2579 RegisterID* FuncDeclNode::emitBytecode(CodeGenerator&, RegisterID* dst)
     2579RegisterID* FuncDeclNode::emitBytecode(BytecodeGenerator&, RegisterID* dst)
    25802580{
    25812581    return dst;
     
    25952595}
    25962596
    2597 RegisterID* FuncExprNode::emitBytecode(CodeGenerator& generator, RegisterID* dst)
     2597RegisterID* FuncExprNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
    25982598{
    25992599    return generator.emitNewFunctionExpression(generator.finalDestination(dst), this);
Note: See TracChangeset for help on using the changeset viewer.