Changeset 38425 in webkit for trunk/JavaScriptCore/parser/Nodes.cpp
- Timestamp:
- Nov 15, 2008, 12:34:40 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/parser/Nodes.cpp
r38423 r38425 275 275 // ------------------------------ NullNode ------------------------------------- 276 276 277 RegisterID* NullNode::emit Code(CodeGenerator& generator, RegisterID* dst)277 RegisterID* NullNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 278 278 { 279 279 if (dst == ignoredResult()) … … 284 284 // ------------------------------ BooleanNode ---------------------------------- 285 285 286 RegisterID* BooleanNode::emit Code(CodeGenerator& generator, RegisterID* dst)286 RegisterID* BooleanNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 287 287 { 288 288 if (dst == ignoredResult()) … … 293 293 // ------------------------------ NumberNode ----------------------------------- 294 294 295 RegisterID* NumberNode::emit Code(CodeGenerator& generator, RegisterID* dst)295 RegisterID* NumberNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 296 296 { 297 297 if (dst == ignoredResult()) … … 302 302 // ------------------------------ StringNode ----------------------------------- 303 303 304 RegisterID* StringNode::emit Code(CodeGenerator& generator, RegisterID* dst)304 RegisterID* StringNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 305 305 { 306 306 if (dst == ignoredResult()) … … 311 311 // ------------------------------ RegExpNode ----------------------------------- 312 312 313 RegisterID* RegExpNode::emit Code(CodeGenerator& generator, RegisterID* dst)313 RegisterID* RegExpNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 314 314 { 315 315 RefPtr<RegExp> regExp = RegExp::create(generator.globalData(), m_pattern, m_flags); … … 323 323 // ------------------------------ ThisNode ------------------------------------- 324 324 325 RegisterID* ThisNode::emit Code(CodeGenerator& generator, RegisterID* dst)325 RegisterID* ThisNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 326 326 { 327 327 if (dst == ignoredResult()) … … 337 337 } 338 338 339 RegisterID* ResolveNode::emit Code(CodeGenerator& generator, RegisterID* dst)339 RegisterID* ResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 340 340 { 341 341 if (RegisterID* local = generator.registerFor(m_ident)) { … … 374 374 } 375 375 376 RegisterID* ArrayNode::emit Code(CodeGenerator& generator, RegisterID* dst)376 RegisterID* ArrayNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 377 377 { 378 378 // FIXME: Should we put all of this code into emitNewArray? … … 429 429 } 430 430 431 RegisterID* ObjectLiteralNode::emit Code(CodeGenerator& generator, RegisterID* dst)431 RegisterID* ObjectLiteralNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 432 432 { 433 433 if (!m_list) { … … 452 452 } 453 453 454 RegisterID* PropertyListNode::emit Code(CodeGenerator& generator, RegisterID* dst)454 RegisterID* PropertyListNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 455 455 { 456 456 RefPtr<RegisterID> newObj = generator.tempDestination(dst); … … 495 495 } 496 496 497 RegisterID* BracketAccessorNode::emit Code(CodeGenerator& generator, RegisterID* dst)497 RegisterID* BracketAccessorNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 498 498 { 499 499 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_subscriptHasAssignments, m_subscript->isPure(generator)); … … 515 515 } 516 516 517 RegisterID* DotAccessorNode::emit Code(CodeGenerator& generator, RegisterID* dst)517 RegisterID* DotAccessorNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 518 518 { 519 519 RegisterID* base = generator.emitNode(m_base.get()); … … 535 535 } 536 536 537 RegisterID* ArgumentListNode::emit Code(CodeGenerator& generator, RegisterID* dst)537 RegisterID* ArgumentListNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 538 538 { 539 539 ASSERT(m_expr); … … 566 566 } 567 567 568 RegisterID* NewExprNode::emit Code(CodeGenerator& generator, RegisterID* dst)568 RegisterID* NewExprNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 569 569 { 570 570 RefPtr<RegisterID> func = generator.emitNode(m_expr.get()); … … 584 584 } 585 585 586 RegisterID* EvalFunctionCallNode::emit Code(CodeGenerator& generator, RegisterID* dst)586 RegisterID* EvalFunctionCallNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 587 587 { 588 588 RefPtr<RegisterID> func = generator.tempDestination(dst); … … 605 605 } 606 606 607 RegisterID* FunctionCallValueNode::emit Code(CodeGenerator& generator, RegisterID* dst)607 RegisterID* FunctionCallValueNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 608 608 { 609 609 RefPtr<RegisterID> func = generator.emitNode(m_expr.get()); … … 624 624 } 625 625 626 RegisterID* FunctionCallResolveNode::emit Code(CodeGenerator& generator, RegisterID* dst)626 RegisterID* FunctionCallResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 627 627 { 628 628 if (RefPtr<RegisterID> local = generator.registerFor(m_ident)) { … … 662 662 } 663 663 664 RegisterID* FunctionCallBracketNode::emit Code(CodeGenerator& generator, RegisterID* dst)664 RegisterID* FunctionCallBracketNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 665 665 { 666 666 RefPtr<RegisterID> base = generator.emitNode(m_base.get()); … … 685 685 } 686 686 687 RegisterID* FunctionCallDotNode::emit Code(CodeGenerator& generator, RegisterID* dst)687 RegisterID* FunctionCallDotNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 688 688 { 689 689 RefPtr<RegisterID> base = generator.emitNode(m_base.get()); … … 706 706 } 707 707 708 RegisterID* PostfixResolveNode::emit Code(CodeGenerator& generator, RegisterID* dst)708 RegisterID* PostfixResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 709 709 { 710 710 if (RegisterID* local = generator.registerFor(m_ident)) { … … 763 763 } 764 764 765 RegisterID* PostfixBracketNode::emit Code(CodeGenerator& generator, RegisterID* dst)765 RegisterID* PostfixBracketNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 766 766 { 767 767 RefPtr<RegisterID> base = generator.emitNode(m_base.get()); … … 797 797 } 798 798 799 RegisterID* PostfixDotNode::emit Code(CodeGenerator& generator, RegisterID* dst)799 RegisterID* PostfixDotNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 800 800 { 801 801 RefPtr<RegisterID> base = generator.emitNode(m_base.get()); … … 830 830 } 831 831 832 RegisterID* PostfixErrorNode::emit Code(CodeGenerator& generator, RegisterID*)832 RegisterID* PostfixErrorNode::emitBytecode(CodeGenerator& generator, RegisterID*) 833 833 { 834 834 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."); … … 837 837 // ------------------------------ DeleteResolveNode ----------------------------------- 838 838 839 RegisterID* DeleteResolveNode::emit Code(CodeGenerator& generator, RegisterID* dst)839 RegisterID* DeleteResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 840 840 { 841 841 if (generator.registerFor(m_ident)) … … 860 860 } 861 861 862 RegisterID* DeleteBracketNode::emit Code(CodeGenerator& generator, RegisterID* dst)862 RegisterID* DeleteBracketNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 863 863 { 864 864 RefPtr<RegisterID> r0 = generator.emitNode(m_base.get()); … … 881 881 } 882 882 883 RegisterID* DeleteDotNode::emit Code(CodeGenerator& generator, RegisterID* dst)883 RegisterID* DeleteDotNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 884 884 { 885 885 RegisterID* r0 = generator.emitNode(m_base.get()); … … 901 901 } 902 902 903 RegisterID* DeleteValueNode::emit Code(CodeGenerator& generator, RegisterID* dst)903 RegisterID* DeleteValueNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 904 904 { 905 905 generator.emitNode(ignoredResult(), m_expr.get()); … … 921 921 } 922 922 923 RegisterID* VoidNode::emit Code(CodeGenerator& generator, RegisterID* dst)923 RegisterID* VoidNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 924 924 { 925 925 if (dst == ignoredResult()) { … … 933 933 // ------------------------------ TypeOfValueNode ----------------------------------- 934 934 935 RegisterID* TypeOfResolveNode::emit Code(CodeGenerator& generator, RegisterID* dst)935 RegisterID* TypeOfResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 936 936 { 937 937 if (RegisterID* local = generator.registerFor(m_ident)) { … … 960 960 } 961 961 962 RegisterID* TypeOfValueNode::emit Code(CodeGenerator& generator, RegisterID* dst)962 RegisterID* TypeOfValueNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 963 963 { 964 964 if (dst == ignoredResult()) { … … 972 972 // ------------------------------ PrefixResolveNode ---------------------------------- 973 973 974 RegisterID* PrefixResolveNode::emit Code(CodeGenerator& generator, RegisterID* dst)974 RegisterID* PrefixResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 975 975 { 976 976 if (RegisterID* local = generator.registerFor(m_ident)) { … … 1017 1017 } 1018 1018 1019 RegisterID* PrefixBracketNode::emit Code(CodeGenerator& generator, RegisterID* dst)1019 RegisterID* PrefixBracketNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1020 1020 { 1021 1021 RefPtr<RegisterID> base = generator.emitNode(m_base.get()); … … 1046 1046 } 1047 1047 1048 RegisterID* PrefixDotNode::emit Code(CodeGenerator& generator, RegisterID* dst)1048 RegisterID* PrefixDotNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1049 1049 { 1050 1050 RefPtr<RegisterID> base = generator.emitNode(m_base.get()); … … 1074 1074 } 1075 1075 1076 RegisterID* PrefixErrorNode::emit Code(CodeGenerator& generator, RegisterID*)1076 RegisterID* PrefixErrorNode::emitBytecode(CodeGenerator& generator, RegisterID*) 1077 1077 { 1078 1078 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."); … … 1091 1091 } 1092 1092 1093 RegisterID* UnaryOpNode::emit Code(CodeGenerator& generator, RegisterID* dst)1093 RegisterID* UnaryOpNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1094 1094 { 1095 1095 RegisterID* src = generator.emitNode(m_expr.get()); 1096 return generator.emitUnaryOp( opcode(), generator.finalDestination(dst), src, m_expr->resultDescriptor());1096 return generator.emitUnaryOp(bytecode(), generator.finalDestination(dst), src, m_expr->resultDescriptor()); 1097 1097 } 1098 1098 … … 1110 1110 } 1111 1111 1112 RegisterID* BinaryOpNode::emit Code(CodeGenerator& generator, RegisterID* dst)1113 { 1114 OpcodeID opcode = this->opcode();1115 if ( opcode == op_neq) {1112 RegisterID* BinaryOpNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1113 { 1114 BytecodeID bytecode = this->bytecode(); 1115 if (bytecode == op_neq) { 1116 1116 if (m_expr1->isNull() || m_expr2->isNull()) { 1117 1117 RefPtr<RegisterID> src = generator.emitNode(dst, m_expr1->isNull() ? m_expr2.get() : m_expr1.get()); … … 1122 1122 RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_expr1.get(), m_rightHasAssignments, m_expr2->isPure(generator)); 1123 1123 RegisterID* src2 = generator.emitNode(m_expr2.get()); 1124 return generator.emitBinaryOp( opcode, generator.finalDestination(dst, src1.get()), src1.get(), src2, OperandTypes(m_expr1->resultDescriptor(), m_expr2->resultDescriptor()));1125 } 1126 1127 RegisterID* EqualNode::emit Code(CodeGenerator& generator, RegisterID* dst)1124 return generator.emitBinaryOp(bytecode, generator.finalDestination(dst, src1.get()), src1.get(), src2, OperandTypes(m_expr1->resultDescriptor(), m_expr2->resultDescriptor())); 1125 } 1126 1127 RegisterID* EqualNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1128 1128 { 1129 1129 if (m_expr1->isNull() || m_expr2->isNull()) { … … 1137 1137 } 1138 1138 1139 RegisterID* StrictEqualNode::emit Code(CodeGenerator& generator, RegisterID* dst)1139 RegisterID* StrictEqualNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1140 1140 { 1141 1141 RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_expr1.get(), m_rightHasAssignments, m_expr2->isPure(generator)); … … 1144 1144 } 1145 1145 1146 RegisterID* ReverseBinaryOpNode::emit Code(CodeGenerator& generator, RegisterID* dst)1146 RegisterID* ReverseBinaryOpNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1147 1147 { 1148 1148 RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_expr1.get(), m_rightHasAssignments, m_expr2->isPure(generator)); 1149 1149 RegisterID* src2 = generator.emitNode(m_expr2.get()); 1150 return generator.emitBinaryOp( opcode(), generator.finalDestination(dst, src1.get()), src2, src1.get(), OperandTypes(m_expr2->resultDescriptor(), m_expr1->resultDescriptor()));1151 } 1152 1153 RegisterID* ThrowableBinaryOpNode::emit Code(CodeGenerator& generator, RegisterID* dst)1150 return generator.emitBinaryOp(bytecode(), generator.finalDestination(dst, src1.get()), src2, src1.get(), OperandTypes(m_expr2->resultDescriptor(), m_expr1->resultDescriptor())); 1151 } 1152 1153 RegisterID* ThrowableBinaryOpNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1154 1154 { 1155 1155 RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_expr1.get(), m_rightHasAssignments, m_expr2->isPure(generator)); 1156 1156 RegisterID* src2 = generator.emitNode(m_expr2.get()); 1157 1157 generator.emitExpressionInfo(divot(), startOffset(), endOffset()); 1158 return generator.emitBinaryOp( opcode(), generator.finalDestination(dst, src1.get()), src1.get(), src2, OperandTypes(m_expr1->resultDescriptor(), m_expr2->resultDescriptor()));1159 } 1160 1161 RegisterID* InstanceOfNode::emit Code(CodeGenerator& generator, RegisterID* dst)1158 return generator.emitBinaryOp(bytecode(), generator.finalDestination(dst, src1.get()), src1.get(), src2, OperandTypes(m_expr1->resultDescriptor(), m_expr2->resultDescriptor())); 1159 } 1160 1161 RegisterID* InstanceOfNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1162 1162 { 1163 1163 RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_expr1.get(), m_rightHasAssignments, m_expr2->isPure(generator)); … … 1184 1184 } 1185 1185 1186 RegisterID* LogicalOpNode::emit Code(CodeGenerator& generator, RegisterID* dst)1186 RegisterID* LogicalOpNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1187 1187 { 1188 1188 RefPtr<RegisterID> temp = generator.tempDestination(dst); … … 1214 1214 } 1215 1215 1216 RegisterID* ConditionalNode::emit Code(CodeGenerator& generator, RegisterID* dst)1216 RegisterID* ConditionalNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1217 1217 { 1218 1218 RefPtr<RegisterID> newDst = generator.finalDestination(dst); … … 1249 1249 static ALWAYS_INLINE RegisterID* emitReadModifyAssignment(CodeGenerator& generator, RegisterID* dst, RegisterID* src1, RegisterID* src2, Operator oper, OperandTypes types) 1250 1250 { 1251 OpcodeID opcode;1251 BytecodeID bytecode; 1252 1252 switch (oper) { 1253 1253 case OpMultEq: 1254 opcode = op_mul;1254 bytecode = op_mul; 1255 1255 break; 1256 1256 case OpDivEq: 1257 opcode = op_div;1257 bytecode = op_div; 1258 1258 break; 1259 1259 case OpPlusEq: 1260 opcode = op_add;1260 bytecode = op_add; 1261 1261 break; 1262 1262 case OpMinusEq: 1263 opcode = op_sub;1263 bytecode = op_sub; 1264 1264 break; 1265 1265 case OpLShift: 1266 opcode = op_lshift;1266 bytecode = op_lshift; 1267 1267 break; 1268 1268 case OpRShift: 1269 opcode = op_rshift;1269 bytecode = op_rshift; 1270 1270 break; 1271 1271 case OpURShift: 1272 opcode = op_urshift;1272 bytecode = op_urshift; 1273 1273 break; 1274 1274 case OpAndEq: 1275 opcode = op_bitand;1275 bytecode = op_bitand; 1276 1276 break; 1277 1277 case OpXOrEq: 1278 opcode = op_bitxor;1278 bytecode = op_bitxor; 1279 1279 break; 1280 1280 case OpOrEq: 1281 opcode = op_bitor;1281 bytecode = op_bitor; 1282 1282 break; 1283 1283 case OpModEq: 1284 opcode = op_mod;1284 bytecode = op_mod; 1285 1285 break; 1286 1286 default: … … 1289 1289 } 1290 1290 1291 return generator.emitBinaryOp( opcode, dst, src1, src2, types);1292 } 1293 1294 RegisterID* ReadModifyResolveNode::emit Code(CodeGenerator& generator, RegisterID* dst)1291 return generator.emitBinaryOp(bytecode, dst, src1, src2, types); 1292 } 1293 1294 RegisterID* ReadModifyResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1295 1295 { 1296 1296 if (RegisterID* local = generator.registerFor(m_ident)) { … … 1346 1346 } 1347 1347 1348 RegisterID* AssignResolveNode::emit Code(CodeGenerator& generator, RegisterID* dst)1348 RegisterID* AssignResolveNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1349 1349 { 1350 1350 if (RegisterID* local = generator.registerFor(m_ident)) { … … 1388 1388 } 1389 1389 1390 RegisterID* AssignDotNode::emit Code(CodeGenerator& generator, RegisterID* dst)1390 RegisterID* AssignDotNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1391 1391 { 1392 1392 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_rightHasAssignments, m_right->isPure(generator)); … … 1411 1411 } 1412 1412 1413 RegisterID* ReadModifyDotNode::emit Code(CodeGenerator& generator, RegisterID* dst)1413 RegisterID* ReadModifyDotNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1414 1414 { 1415 1415 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_rightHasAssignments, m_right->isPure(generator)); … … 1437 1437 } 1438 1438 1439 RegisterID* AssignErrorNode::emit Code(CodeGenerator& generator, RegisterID*)1439 RegisterID* AssignErrorNode::emitBytecode(CodeGenerator& generator, RegisterID*) 1440 1440 { 1441 1441 return emitThrowError(generator, ReferenceError, "Left side of assignment is not a reference."); … … 1456 1456 } 1457 1457 1458 RegisterID* AssignBracketNode::emit Code(CodeGenerator& generator, RegisterID* dst)1458 RegisterID* AssignBracketNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1459 1459 { 1460 1460 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_subscriptHasAssignments || m_rightHasAssignments, m_subscript->isPure(generator) && m_right->isPure(generator)); … … 1482 1482 } 1483 1483 1484 RegisterID* ReadModifyBracketNode::emit Code(CodeGenerator& generator, RegisterID* dst)1484 RegisterID* ReadModifyBracketNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1485 1485 { 1486 1486 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_subscriptHasAssignments || m_rightHasAssignments, m_subscript->isPure(generator) && m_right->isPure(generator)); … … 1511 1511 } 1512 1512 1513 RegisterID* CommaNode::emit Code(CodeGenerator& generator, RegisterID* dst)1513 RegisterID* CommaNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1514 1514 { 1515 1515 generator.emitNode(ignoredResult(), m_expr1.get()); … … 1553 1553 } 1554 1554 1555 RegisterID* ConstDeclNode::emit Code(CodeGenerator& generator, RegisterID*)1555 RegisterID* ConstDeclNode::emitBytecode(CodeGenerator& generator, RegisterID*) 1556 1556 { 1557 1557 RegisterID* result = 0; … … 1574 1574 } 1575 1575 1576 RegisterID* ConstStatementNode::emit Code(CodeGenerator& generator, RegisterID*)1576 RegisterID* ConstStatementNode::emitBytecode(CodeGenerator& generator, RegisterID*) 1577 1577 { 1578 1578 return generator.emitNode(m_next.get()); … … 1614 1614 } 1615 1615 1616 RegisterID* BlockNode::emit Code(CodeGenerator& generator, RegisterID* dst)1616 RegisterID* BlockNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1617 1617 { 1618 1618 return statementListEmitCode(m_children, generator, dst); … … 1621 1621 // ------------------------------ EmptyStatementNode --------------------------- 1622 1622 1623 RegisterID* EmptyStatementNode::emit Code(CodeGenerator&, RegisterID* dst)1623 RegisterID* EmptyStatementNode::emitBytecode(CodeGenerator&, RegisterID* dst) 1624 1624 { 1625 1625 return dst; … … 1628 1628 // ------------------------------ DebuggerStatementNode --------------------------- 1629 1629 1630 RegisterID* DebuggerStatementNode::emit Code(CodeGenerator& generator, RegisterID* dst)1630 RegisterID* DebuggerStatementNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1631 1631 { 1632 1632 generator.emitDebugHook(DidReachBreakpoint, firstLine(), lastLine()); … … 1636 1636 // ------------------------------ ExprStatementNode ---------------------------- 1637 1637 1638 RegisterID* ExprStatementNode::emit Code(CodeGenerator& generator, RegisterID* dst)1638 RegisterID* ExprStatementNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1639 1639 { 1640 1640 ASSERT(m_expr); … … 1654 1654 } 1655 1655 1656 RegisterID* VarStatementNode::emit Code(CodeGenerator& generator, RegisterID*)1656 RegisterID* VarStatementNode::emitBytecode(CodeGenerator& generator, RegisterID*) 1657 1657 { 1658 1658 ASSERT(m_expr); … … 1673 1673 } 1674 1674 1675 RegisterID* IfNode::emit Code(CodeGenerator& generator, RegisterID* dst)1675 RegisterID* IfNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1676 1676 { 1677 1677 RefPtr<LabelID> afterThen = generator.newLabel(); … … 1703 1703 } 1704 1704 1705 RegisterID* IfElseNode::emit Code(CodeGenerator& generator, RegisterID* dst)1705 RegisterID* IfElseNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1706 1706 { 1707 1707 RefPtr<LabelID> beforeElse = generator.newLabel(); … … 1743 1743 } 1744 1744 1745 RegisterID* DoWhileNode::emit Code(CodeGenerator& generator, RegisterID* dst)1745 RegisterID* DoWhileNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1746 1746 { 1747 1747 RefPtr<LabelScope> scope = generator.newLabelScope(LabelScope::Loop); … … 1779 1779 } 1780 1780 1781 RegisterID* WhileNode::emit Code(CodeGenerator& generator, RegisterID* dst)1781 RegisterID* WhileNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1782 1782 { 1783 1783 RefPtr<LabelScope> scope = generator.newLabelScope(LabelScope::Loop); … … 1819 1819 } 1820 1820 1821 RegisterID* ForNode::emit Code(CodeGenerator& generator, RegisterID* dst)1821 RegisterID* ForNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1822 1822 { 1823 1823 if (dst == ignoredResult()) … … 1897 1897 } 1898 1898 1899 RegisterID* ForInNode::emit Code(CodeGenerator& generator, RegisterID* dst)1899 RegisterID* ForInNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1900 1900 { 1901 1901 RefPtr<LabelScope> scope = generator.newLabelScope(LabelScope::Loop); … … 1963 1963 1964 1964 // ECMA 12.7 1965 RegisterID* ContinueNode::emit Code(CodeGenerator& generator, RegisterID* dst)1965 RegisterID* ContinueNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1966 1966 { 1967 1967 LabelScope* scope = generator.continueTarget(m_ident); … … 1979 1979 1980 1980 // ECMA 12.8 1981 RegisterID* BreakNode::emit Code(CodeGenerator& generator, RegisterID* dst)1981 RegisterID* BreakNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 1982 1982 { 1983 1983 LabelScope* scope = generator.breakTarget(m_ident); … … 2004 2004 } 2005 2005 2006 RegisterID* ReturnNode::emit Code(CodeGenerator& generator, RegisterID* dst)2006 RegisterID* ReturnNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 2007 2007 { 2008 2008 if (generator.codeType() != FunctionCode) … … 2034 2034 } 2035 2035 2036 RegisterID* WithNode::emit Code(CodeGenerator& generator, RegisterID* dst)2036 RegisterID* WithNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 2037 2037 { 2038 2038 RefPtr<RegisterID> scope = generator.emitNode(m_expr.get()); // scope must be protected until popped … … 2237 2237 } 2238 2238 2239 RegisterID* SwitchNode::emit Code(CodeGenerator& generator, RegisterID* dst)2239 RegisterID* SwitchNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 2240 2240 { 2241 2241 RefPtr<LabelScope> scope = generator.newLabelScope(LabelScope::Switch); … … 2260 2260 } 2261 2261 2262 RegisterID* LabelNode::emit Code(CodeGenerator& generator, RegisterID* dst)2262 RegisterID* LabelNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 2263 2263 { 2264 2264 if (generator.breakTarget(m_name)) … … 2284 2284 } 2285 2285 2286 RegisterID* ThrowNode::emit Code(CodeGenerator& generator, RegisterID* dst)2286 RegisterID* ThrowNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 2287 2287 { 2288 2288 if (dst == ignoredResult()) … … 2308 2308 } 2309 2309 2310 RegisterID* TryNode::emit Code(CodeGenerator& generator, RegisterID* dst)2310 RegisterID* TryNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 2311 2311 { 2312 2312 RefPtr<LabelID> tryStartLabel = generator.newLabel(); … … 2390 2390 if (funcStack) 2391 2391 m_functionStack = *funcStack; 2392 #if ENABLE( OPCODE_SAMPLING)2392 #if ENABLE(BYTECODE_SAMPLING) 2393 2393 globalData->interpreter->sampler()->notifyOfScope(this); 2394 2394 #endif … … 2414 2414 } 2415 2415 2416 RegisterID* EvalNode::emit Code(CodeGenerator& generator, RegisterID*)2416 RegisterID* EvalNode::emitBytecode(CodeGenerator& generator, RegisterID*) 2417 2417 { 2418 2418 generator.emitDebugHook(WillExecuteProgram, firstLine(), lastLine()); … … 2504 2504 } 2505 2505 2506 RegisterID* FunctionBodyNode::emit Code(CodeGenerator& generator, RegisterID*)2506 RegisterID* FunctionBodyNode::emitBytecode(CodeGenerator& generator, RegisterID*) 2507 2507 { 2508 2508 generator.emitDebugHook(DidEnterCallFrame, firstLine(), lastLine()); … … 2516 2516 } 2517 2517 2518 RegisterID* ProgramNode::emit Code(CodeGenerator& generator, RegisterID*)2518 RegisterID* ProgramNode::emitBytecode(CodeGenerator& generator, RegisterID*) 2519 2519 { 2520 2520 generator.emitDebugHook(WillExecuteProgram, firstLine(), lastLine()); … … 2577 2577 } 2578 2578 2579 RegisterID* FuncDeclNode::emit Code(CodeGenerator&, RegisterID* dst)2579 RegisterID* FuncDeclNode::emitBytecode(CodeGenerator&, RegisterID* dst) 2580 2580 { 2581 2581 return dst; … … 2595 2595 } 2596 2596 2597 RegisterID* FuncExprNode::emit Code(CodeGenerator& generator, RegisterID* dst)2597 RegisterID* FuncExprNode::emitBytecode(CodeGenerator& generator, RegisterID* dst) 2598 2598 { 2599 2599 return generator.emitNewFunctionExpression(generator.finalDestination(dst), this);
Note:
See TracChangeset
for help on using the changeset viewer.