Changeset 34791 in webkit for trunk/JavaScriptCore/kjs/nodes.h
- Timestamp:
- Jun 25, 2008, 12:07:38 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.h
r34711 r34791 120 120 class ParserRefCounted : Noncopyable { 121 121 protected: 122 ParserRefCounted( ) KJS_FAST_CALL;122 ParserRefCounted(JSGlobalData*) KJS_FAST_CALL; 123 123 ParserRefCounted(PlacementNewAdoptType) KJS_FAST_CALL 124 124 { 125 125 } 126 127 JSGlobalData* m_globalData; 126 128 127 129 public: … … 130 132 bool hasOneRef() KJS_FAST_CALL; 131 133 132 static void deleteNewObjects( ) KJS_FAST_CALL;134 static void deleteNewObjects(JSGlobalData*) KJS_FAST_CALL; 133 135 134 136 virtual ~ParserRefCounted(); … … 141 143 typedef DeclarationStacks::FunctionStack FunctionStack; 142 144 143 Node( ) KJS_FAST_CALL;145 Node(JSGlobalData*) KJS_FAST_CALL; 144 146 Node(PlacementNewAdoptType placementAdopt) KJS_FAST_CALL 145 147 : ParserRefCounted(placementAdopt) … … 187 189 188 190 protected: 189 Node(JS Type) KJS_FAST_CALL; // used by ExpressionNode191 Node(JSGlobalData*, JSType) KJS_FAST_CALL; // used by ExpressionNode 190 192 191 193 RegisterID* emitThrowError(CodeGenerator&, ErrorType, const char* msg); … … 198 200 class ExpressionNode : public Node { 199 201 public: 200 ExpressionNode( ) KJS_FAST_CALL : Node() {}201 ExpressionNode(JS Type expectedReturn) KJS_FAST_CALL202 : Node( expectedReturn)202 ExpressionNode(JSGlobalData* globalData) KJS_FAST_CALL : Node(globalData) {} 203 ExpressionNode(JSGlobalData* globalData, JSType expectedReturn) KJS_FAST_CALL 204 : Node(globalData, expectedReturn) 203 205 { 204 206 } … … 225 227 class StatementNode : public Node { 226 228 public: 227 StatementNode( ) KJS_FAST_CALL;229 StatementNode(JSGlobalData*) KJS_FAST_CALL; 228 230 void setLoc(int line0, int line1) KJS_FAST_CALL; 229 231 int firstLine() const KJS_FAST_CALL { return lineNo(); } … … 243 245 class NullNode : public ExpressionNode { 244 246 public: 245 NullNode( ) KJS_FAST_CALL246 : ExpressionNode( NullType)247 NullNode(JSGlobalData* globalData) KJS_FAST_CALL 248 : ExpressionNode(globalData, NullType) 247 249 { 248 250 } … … 256 258 class BooleanNode : public ExpressionNode { 257 259 public: 258 BooleanNode( bool value) KJS_FAST_CALL259 : ExpressionNode( BooleanType)260 BooleanNode(JSGlobalData* globalData, bool value) KJS_FAST_CALL 261 : ExpressionNode(globalData, BooleanType) 260 262 , m_value(value) 261 263 { … … 274 276 class NumberNode : public ExpressionNode { 275 277 public: 276 NumberNode( double v) KJS_FAST_CALL277 : ExpressionNode( NumberType)278 NumberNode(JSGlobalData* globalData, double v) KJS_FAST_CALL 279 : ExpressionNode(globalData, NumberType) 278 280 , m_double(v) 279 281 { … … 296 298 class ImmediateNumberNode : public NumberNode { 297 299 public: 298 ImmediateNumberNode(JS Value* v, double d) KJS_FAST_CALL299 : NumberNode( d)300 ImmediateNumberNode(JSGlobalData* globalData, JSValue* v, double d) KJS_FAST_CALL 301 : NumberNode(globalData, d) 300 302 , m_value(v) 301 303 { … … 311 313 class StringNode : public ExpressionNode { 312 314 public: 313 StringNode( const UString* v) KJS_FAST_CALL314 : ExpressionNode( StringType)315 StringNode(JSGlobalData* globalData, const UString* v) KJS_FAST_CALL 316 : ExpressionNode(globalData, StringType) 315 317 , m_value(*v) 316 318 { … … 329 331 class RegExpNode : public ExpressionNode { 330 332 public: 331 RegExpNode(const UString& pattern, const UString& flags) KJS_FAST_CALL 332 : m_regExp(RegExp::create(pattern, flags)) 333 RegExpNode(JSGlobalData* globalData, const UString& pattern, const UString& flags) KJS_FAST_CALL 334 : ExpressionNode(globalData) 335 , m_regExp(RegExp::create(pattern, flags)) 333 336 { 334 337 } … … 345 348 class ThisNode : public ExpressionNode { 346 349 public: 347 ThisNode() KJS_FAST_CALL 350 ThisNode(JSGlobalData* globalData) KJS_FAST_CALL 351 : ExpressionNode(globalData) 348 352 { 349 353 } … … 357 361 class ResolveNode : public ExpressionNode { 358 362 public: 359 ResolveNode(const Identifier& ident) KJS_FAST_CALL 360 : m_ident(ident) 363 ResolveNode(JSGlobalData* globalData, const Identifier& ident) KJS_FAST_CALL 364 : ExpressionNode(globalData) 365 , m_ident(ident) 361 366 { 362 367 } … … 387 392 class ElementNode : public Node { 388 393 public: 389 ElementNode(int elision, ExpressionNode* node) KJS_FAST_CALL 390 : m_elision(elision) 394 ElementNode(JSGlobalData* globalData, int elision, ExpressionNode* node) KJS_FAST_CALL 395 : Node(globalData) 396 , m_elision(elision) 391 397 , m_node(node) 392 398 { 393 399 } 394 400 395 ElementNode(ElementNode* l, int elision, ExpressionNode* node) KJS_FAST_CALL 396 : m_elision(elision) 401 ElementNode(JSGlobalData* globalData, ElementNode* l, int elision, ExpressionNode* node) KJS_FAST_CALL 402 : Node(globalData) 403 , m_elision(elision) 397 404 , m_node(node) 398 405 { … … 414 421 class ArrayNode : public ExpressionNode { 415 422 public: 416 ArrayNode(int elision) KJS_FAST_CALL 417 : m_elision(elision) 423 ArrayNode(JSGlobalData* globalData, int elision) KJS_FAST_CALL 424 : ExpressionNode(globalData) 425 , m_elision(elision) 418 426 , m_optional(true) 419 427 { 420 428 } 421 429 422 ArrayNode(ElementNode* element) KJS_FAST_CALL 423 : m_element(element) 430 ArrayNode(JSGlobalData* globalData, ElementNode* element) KJS_FAST_CALL 431 : ExpressionNode(globalData) 432 , m_element(element) 424 433 , m_elision(0) 425 434 , m_optional(false) … … 427 436 } 428 437 429 ArrayNode(int elision, ElementNode* element) KJS_FAST_CALL 430 : m_element(element) 438 ArrayNode(JSGlobalData* globalData, int elision, ElementNode* element) KJS_FAST_CALL 439 : ExpressionNode(globalData) 440 , m_element(element) 431 441 , m_elision(elision) 432 442 , m_optional(true) … … 449 459 enum Type { Constant, Getter, Setter }; 450 460 451 PropertyNode(const Identifier& name, ExpressionNode* assign, Type type) KJS_FAST_CALL 452 : m_name(name) 461 PropertyNode(JSGlobalData* globalData, const Identifier& name, ExpressionNode* assign, Type type) KJS_FAST_CALL 462 : Node(globalData) 463 , m_name(name) 453 464 , m_assign(assign) 454 465 , m_type(type) … … 470 481 class PropertyListNode : public Node { 471 482 public: 472 PropertyListNode(PropertyNode* node) KJS_FAST_CALL 473 : m_node(node) 474 { 475 } 476 477 PropertyListNode(PropertyNode* node, PropertyListNode* list) KJS_FAST_CALL 478 : m_node(node) 483 PropertyListNode(JSGlobalData* globalData, PropertyNode* node) KJS_FAST_CALL 484 : Node(globalData) 485 , m_node(node) 486 { 487 } 488 489 PropertyListNode(JSGlobalData* globalData, PropertyNode* node, PropertyListNode* list) KJS_FAST_CALL 490 : Node(globalData) 491 , m_node(node) 479 492 { 480 493 list->m_next = this; … … 495 508 class ObjectLiteralNode : public ExpressionNode { 496 509 public: 497 ObjectLiteralNode() KJS_FAST_CALL 498 { 499 } 500 501 ObjectLiteralNode(PropertyListNode* list) KJS_FAST_CALL 502 : m_list(list) 510 ObjectLiteralNode(JSGlobalData* globalData) KJS_FAST_CALL 511 : ExpressionNode(globalData) 512 { 513 } 514 515 ObjectLiteralNode(JSGlobalData* globalData, PropertyListNode* list) KJS_FAST_CALL 516 : ExpressionNode(globalData) 517 , m_list(list) 503 518 { 504 519 } … … 515 530 class BracketAccessorNode : public ExpressionNode { 516 531 public: 517 BracketAccessorNode(ExpressionNode* base, ExpressionNode* subscript, bool subscriptHasAssignments) KJS_FAST_CALL 518 : m_base(base) 532 BracketAccessorNode(JSGlobalData* globalData, ExpressionNode* base, ExpressionNode* subscript, bool subscriptHasAssignments) KJS_FAST_CALL 533 : ExpressionNode(globalData) 534 , m_base(base) 519 535 , m_subscript(subscript) 520 536 , m_subscriptHasAssignments(subscriptHasAssignments) … … 540 556 class DotAccessorNode : public ExpressionNode { 541 557 public: 542 DotAccessorNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 543 : m_base(base) 558 DotAccessorNode(JSGlobalData* globalData, ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 559 : ExpressionNode(globalData) 560 , m_base(base) 544 561 , m_ident(ident) 545 562 { … … 562 579 class ArgumentListNode : public Node { 563 580 public: 564 ArgumentListNode(ExpressionNode* expr) KJS_FAST_CALL 565 : m_expr(expr) 566 { 567 } 568 569 ArgumentListNode(ArgumentListNode* listNode, ExpressionNode* expr) KJS_FAST_CALL 570 : m_expr(expr) 581 ArgumentListNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 582 : Node(globalData) 583 , m_expr(expr) 584 { 585 } 586 587 ArgumentListNode(JSGlobalData* globalData, ArgumentListNode* listNode, ExpressionNode* expr) KJS_FAST_CALL 588 : Node(globalData) 589 , m_expr(expr) 571 590 { 572 591 listNode->m_next = this; … … 585 604 class ArgumentsNode : public Node { 586 605 public: 587 ArgumentsNode() KJS_FAST_CALL 588 { 589 } 590 591 ArgumentsNode(ArgumentListNode* listNode) KJS_FAST_CALL 592 : m_listNode(listNode) 606 ArgumentsNode(JSGlobalData* globalData) KJS_FAST_CALL 607 : Node(globalData) 608 { 609 } 610 611 ArgumentsNode(JSGlobalData* globalData, ArgumentListNode* listNode) KJS_FAST_CALL 612 : Node(globalData) 613 , m_listNode(listNode) 593 614 { 594 615 } … … 602 623 class NewExprNode : public ExpressionNode { 603 624 public: 604 NewExprNode(ExpressionNode* expr) KJS_FAST_CALL 605 : m_expr(expr) 606 { 607 } 608 609 NewExprNode(ExpressionNode* expr, ArgumentsNode* args) KJS_FAST_CALL 610 : m_expr(expr) 625 NewExprNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 626 : ExpressionNode(globalData) 627 , m_expr(expr) 628 { 629 } 630 631 NewExprNode(JSGlobalData* globalData, ExpressionNode* expr, ArgumentsNode* args) KJS_FAST_CALL 632 : ExpressionNode(globalData) 633 , m_expr(expr) 611 634 , m_args(args) 612 635 { … … 625 648 class EvalFunctionCallNode : public ExpressionNode { 626 649 public: 627 EvalFunctionCallNode(ArgumentsNode* args) KJS_FAST_CALL 628 : m_args(args) 650 EvalFunctionCallNode(JSGlobalData* globalData, ArgumentsNode* args) KJS_FAST_CALL 651 : ExpressionNode(globalData) 652 , m_args(args) 629 653 { 630 654 } … … 640 664 class FunctionCallValueNode : public ExpressionNode { 641 665 public: 642 FunctionCallValueNode(ExpressionNode* expr, ArgumentsNode* args) KJS_FAST_CALL 643 : m_expr(expr) 666 FunctionCallValueNode(JSGlobalData* globalData, ExpressionNode* expr, ArgumentsNode* args) KJS_FAST_CALL 667 : ExpressionNode(globalData) 668 , m_expr(expr) 644 669 , m_args(args) 645 670 { … … 657 682 class FunctionCallResolveNode : public ExpressionNode { 658 683 public: 659 FunctionCallResolveNode(const Identifier& ident, ArgumentsNode* args) KJS_FAST_CALL 660 : m_ident(ident) 684 FunctionCallResolveNode(JSGlobalData* globalData, const Identifier& ident, ArgumentsNode* args) KJS_FAST_CALL 685 : ExpressionNode(globalData) 686 , m_ident(ident) 661 687 , m_args(args) 662 688 { … … 684 710 class FunctionCallBracketNode : public ExpressionNode { 685 711 public: 686 FunctionCallBracketNode(ExpressionNode* base, ExpressionNode* subscript, ArgumentsNode* args) KJS_FAST_CALL 687 : m_base(base) 712 FunctionCallBracketNode(JSGlobalData* globalData, ExpressionNode* base, ExpressionNode* subscript, ArgumentsNode* args) KJS_FAST_CALL 713 : ExpressionNode(globalData) 714 , m_base(base) 688 715 , m_subscript(subscript) 689 716 , m_args(args) … … 703 730 class FunctionCallDotNode : public ExpressionNode { 704 731 public: 705 FunctionCallDotNode(ExpressionNode* base, const Identifier& ident, ArgumentsNode* args) KJS_FAST_CALL 706 : m_base(base) 732 FunctionCallDotNode(JSGlobalData* globalData, ExpressionNode* base, const Identifier& ident, ArgumentsNode* args) KJS_FAST_CALL 733 : ExpressionNode(globalData) 734 , m_base(base) 707 735 , m_ident(ident) 708 736 , m_args(args) … … 722 750 class PrePostResolveNode : public ExpressionNode { 723 751 public: 724 PrePostResolveNode( const Identifier& ident) KJS_FAST_CALL725 : ExpressionNode( NumberType)752 PrePostResolveNode(JSGlobalData* globalData, const Identifier& ident) KJS_FAST_CALL 753 : ExpressionNode(globalData, NumberType) 726 754 , m_ident(ident) 727 755 { … … 741 769 class PostIncResolveNode : public PrePostResolveNode { 742 770 public: 743 PostIncResolveNode( const Identifier& ident) KJS_FAST_CALL744 : PrePostResolveNode( ident)771 PostIncResolveNode(JSGlobalData* globalData, const Identifier& ident) KJS_FAST_CALL 772 : PrePostResolveNode(globalData, ident) 745 773 { 746 774 } … … 758 786 class PostDecResolveNode : public PrePostResolveNode { 759 787 public: 760 PostDecResolveNode( const Identifier& ident) KJS_FAST_CALL761 : PrePostResolveNode( ident)788 PostDecResolveNode(JSGlobalData* globalData, const Identifier& ident) KJS_FAST_CALL 789 : PrePostResolveNode(globalData, ident) 762 790 { 763 791 } … … 776 804 class PostfixBracketNode : public ExpressionNode { 777 805 public: 778 PostfixBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 779 : m_base(base) 806 PostfixBracketNode(JSGlobalData* globalData, ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 807 : ExpressionNode(globalData) 808 , m_base(base) 780 809 , m_subscript(subscript) 781 810 { … … 791 820 class PostIncBracketNode : public PostfixBracketNode { 792 821 public: 793 PostIncBracketNode( ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL794 : PostfixBracketNode( base, subscript)822 PostIncBracketNode(JSGlobalData* globalData, ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 823 : PostfixBracketNode(globalData, base, subscript) 795 824 { 796 825 } … … 803 832 class PostDecBracketNode : public PostfixBracketNode { 804 833 public: 805 PostDecBracketNode( ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL806 : PostfixBracketNode( base, subscript)834 PostDecBracketNode(JSGlobalData* globalData, ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 835 : PostfixBracketNode(globalData, base, subscript) 807 836 { 808 837 } … … 815 844 class PostfixDotNode : public ExpressionNode { 816 845 public: 817 PostfixDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 818 : m_base(base) 846 PostfixDotNode(JSGlobalData* globalData, ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 847 : ExpressionNode(globalData) 848 , m_base(base) 819 849 , m_ident(ident) 820 850 { … … 830 860 class PostIncDotNode : public PostfixDotNode { 831 861 public: 832 PostIncDotNode( ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL833 : PostfixDotNode( base, ident)862 PostIncDotNode(JSGlobalData* globalData, ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 863 : PostfixDotNode(globalData, base, ident) 834 864 { 835 865 } … … 842 872 class PostDecDotNode : public PostfixDotNode { 843 873 public: 844 PostDecDotNode( ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL845 : PostfixDotNode( base, ident)874 PostDecDotNode(JSGlobalData* globalData, ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 875 : PostfixDotNode(globalData, base, ident) 846 876 { 847 877 } … … 854 884 class PostfixErrorNode : public ExpressionNode { 855 885 public: 856 PostfixErrorNode(ExpressionNode* expr, Operator oper) KJS_FAST_CALL 857 : m_expr(expr) 886 PostfixErrorNode(JSGlobalData* globalData, ExpressionNode* expr, Operator oper) KJS_FAST_CALL 887 : ExpressionNode(globalData) 888 , m_expr(expr) 858 889 , m_operator(oper) 859 890 { … … 871 902 class DeleteResolveNode : public ExpressionNode { 872 903 public: 873 DeleteResolveNode(const Identifier& ident) KJS_FAST_CALL 874 : m_ident(ident) 904 DeleteResolveNode(JSGlobalData* globalData, const Identifier& ident) KJS_FAST_CALL 905 : ExpressionNode(globalData) 906 , m_ident(ident) 875 907 { 876 908 } … … 893 925 class DeleteBracketNode : public ExpressionNode { 894 926 public: 895 DeleteBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 896 : m_base(base) 927 DeleteBracketNode(JSGlobalData* globalData, ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 928 : ExpressionNode(globalData) 929 , m_base(base) 897 930 , m_subscript(subscript) 898 931 { … … 911 944 class DeleteDotNode : public ExpressionNode { 912 945 public: 913 DeleteDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 914 : m_base(base) 946 DeleteDotNode(JSGlobalData* globalData, ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 947 : ExpressionNode(globalData) 948 , m_base(base) 915 949 , m_ident(ident) 916 950 { … … 929 963 class DeleteValueNode : public ExpressionNode { 930 964 public: 931 DeleteValueNode(ExpressionNode* expr) KJS_FAST_CALL 932 : m_expr(expr) 965 DeleteValueNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 966 : ExpressionNode(globalData) 967 , m_expr(expr) 933 968 { 934 969 } … … 945 980 class VoidNode : public ExpressionNode { 946 981 public: 947 VoidNode(ExpressionNode* expr) KJS_FAST_CALL 948 : m_expr(expr) 982 VoidNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 983 : ExpressionNode(globalData) 984 , m_expr(expr) 949 985 { 950 986 } … … 961 997 class TypeOfResolveNode : public ExpressionNode { 962 998 public: 963 TypeOfResolveNode( const Identifier& ident) KJS_FAST_CALL964 : ExpressionNode( StringType)999 TypeOfResolveNode(JSGlobalData* globalData, const Identifier& ident) KJS_FAST_CALL 1000 : ExpressionNode(globalData, StringType) 965 1001 , m_ident(ident) 966 1002 { … … 988 1024 class TypeOfValueNode : public ExpressionNode { 989 1025 public: 990 TypeOfValueNode( ExpressionNode* expr) KJS_FAST_CALL991 : ExpressionNode( StringType)1026 TypeOfValueNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 1027 : ExpressionNode(globalData, StringType) 992 1028 , m_expr(expr) 993 1029 { … … 1005 1041 class PreIncResolveNode : public PrePostResolveNode { 1006 1042 public: 1007 PreIncResolveNode( const Identifier& ident) KJS_FAST_CALL1008 : PrePostResolveNode( ident)1043 PreIncResolveNode(JSGlobalData* globalData, const Identifier& ident) KJS_FAST_CALL 1044 : PrePostResolveNode(globalData, ident) 1009 1045 { 1010 1046 } … … 1023 1059 class PreDecResolveNode : public PrePostResolveNode { 1024 1060 public: 1025 PreDecResolveNode( const Identifier& ident) KJS_FAST_CALL1026 : PrePostResolveNode( ident)1061 PreDecResolveNode(JSGlobalData* globalData, const Identifier& ident) KJS_FAST_CALL 1062 : PrePostResolveNode(globalData, ident) 1027 1063 { 1028 1064 } … … 1041 1077 class PrefixBracketNode : public ExpressionNode { 1042 1078 public: 1043 PrefixBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 1044 : m_base(base) 1079 PrefixBracketNode(JSGlobalData* globalData, ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 1080 : ExpressionNode(globalData) 1081 , m_base(base) 1045 1082 , m_subscript(subscript) 1046 1083 { … … 1056 1093 class PreIncBracketNode : public PrefixBracketNode { 1057 1094 public: 1058 PreIncBracketNode( ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL1059 : PrefixBracketNode( base, subscript)1095 PreIncBracketNode(JSGlobalData* globalData, ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 1096 : PrefixBracketNode(globalData, base, subscript) 1060 1097 { 1061 1098 } … … 1068 1105 class PreDecBracketNode : public PrefixBracketNode { 1069 1106 public: 1070 PreDecBracketNode( ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL1071 : PrefixBracketNode( base, subscript)1107 PreDecBracketNode(JSGlobalData* globalData, ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 1108 : PrefixBracketNode(globalData, base, subscript) 1072 1109 { 1073 1110 } … … 1080 1117 class PrefixDotNode : public ExpressionNode { 1081 1118 public: 1082 PrefixDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 1083 : m_base(base) 1119 PrefixDotNode(JSGlobalData* globalData, ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 1120 : ExpressionNode(globalData) 1121 , m_base(base) 1084 1122 , m_ident(ident) 1085 1123 { … … 1095 1133 class PreIncDotNode : public PrefixDotNode { 1096 1134 public: 1097 PreIncDotNode( ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL1098 : PrefixDotNode( base, ident)1135 PreIncDotNode(JSGlobalData* globalData, ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 1136 : PrefixDotNode(globalData, base, ident) 1099 1137 { 1100 1138 } … … 1107 1145 class PreDecDotNode : public PrefixDotNode { 1108 1146 public: 1109 PreDecDotNode( ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL1110 : PrefixDotNode( base, ident)1147 PreDecDotNode(JSGlobalData* globalData, ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 1148 : PrefixDotNode(globalData, base, ident) 1111 1149 { 1112 1150 } … … 1119 1157 class PrefixErrorNode : public ExpressionNode { 1120 1158 public: 1121 PrefixErrorNode(ExpressionNode* expr, Operator oper) KJS_FAST_CALL 1122 : m_expr(expr) 1159 PrefixErrorNode(JSGlobalData* globalData, ExpressionNode* expr, Operator oper) KJS_FAST_CALL 1160 : ExpressionNode(globalData) 1161 , m_expr(expr) 1123 1162 , m_operator(oper) 1124 1163 { … … 1136 1175 class UnaryOpNode : public ExpressionNode { 1137 1176 public: 1138 UnaryOpNode(ExpressionNode* expr) 1139 : m_expr(expr) 1140 { 1141 } 1142 1143 UnaryOpNode(JSType type, ExpressionNode* expr) 1144 : ExpressionNode(type) 1177 UnaryOpNode(JSGlobalData* globalData, ExpressionNode* expr) 1178 : ExpressionNode(globalData) 1145 1179 , m_expr(expr) 1146 1180 { 1147 1181 } 1148 1182 1183 UnaryOpNode(JSGlobalData* globalData, JSType type, ExpressionNode* expr) 1184 : ExpressionNode(globalData, type) 1185 , m_expr(expr) 1186 { 1187 } 1188 1149 1189 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1150 1190 virtual OpcodeID opcode() const KJS_FAST_CALL = 0; … … 1156 1196 class UnaryPlusNode : public UnaryOpNode { 1157 1197 public: 1158 UnaryPlusNode( ExpressionNode* expr) KJS_FAST_CALL1159 : UnaryOpNode( NumberType, expr)1198 UnaryPlusNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 1199 : UnaryOpNode(globalData, NumberType, expr) 1160 1200 { 1161 1201 } … … 1168 1208 class NegateNode : public UnaryOpNode { 1169 1209 public: 1170 NegateNode( ExpressionNode* expr) KJS_FAST_CALL1171 : UnaryOpNode( NumberType, expr)1210 NegateNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 1211 : UnaryOpNode(globalData, NumberType, expr) 1172 1212 { 1173 1213 } … … 1180 1220 class BitwiseNotNode : public UnaryOpNode { 1181 1221 public: 1182 BitwiseNotNode( ExpressionNode* expr) KJS_FAST_CALL1183 : UnaryOpNode( NumberType, expr)1222 BitwiseNotNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 1223 : UnaryOpNode(globalData, NumberType, expr) 1184 1224 { 1185 1225 } … … 1192 1232 class LogicalNotNode : public UnaryOpNode { 1193 1233 public: 1194 LogicalNotNode( ExpressionNode* expr) KJS_FAST_CALL1195 : UnaryOpNode( BooleanType, expr)1234 LogicalNotNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 1235 : UnaryOpNode(globalData, BooleanType, expr) 1196 1236 { 1197 1237 } … … 1204 1244 class BinaryOpNode : public ExpressionNode { 1205 1245 public: 1206 BinaryOpNode(ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) 1207 : m_term1(term1) 1208 , m_term2(term2) 1209 , m_rightHasAssignments(rightHasAssignments) 1210 { 1211 } 1212 1213 BinaryOpNode(JSType type, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) 1214 : ExpressionNode(type) 1246 BinaryOpNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) 1247 : ExpressionNode(globalData) 1215 1248 , m_term1(term1) 1216 1249 , m_term2(term2) … … 1219 1252 } 1220 1253 1254 BinaryOpNode(JSGlobalData* globalData, JSType type, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) 1255 : ExpressionNode(globalData, type) 1256 , m_term1(term1) 1257 , m_term2(term2) 1258 , m_rightHasAssignments(rightHasAssignments) 1259 { 1260 } 1261 1221 1262 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1222 1263 virtual OpcodeID opcode() const KJS_FAST_CALL = 0; … … 1230 1271 class ReverseBinaryOpNode : public ExpressionNode { 1231 1272 public: 1232 ReverseBinaryOpNode(ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) 1233 : m_term1(term1) 1234 , m_term2(term2) 1235 , m_rightHasAssignments(rightHasAssignments) 1236 { 1237 } 1238 1239 ReverseBinaryOpNode(JSType type, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) 1240 : ExpressionNode(type) 1273 ReverseBinaryOpNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) 1274 : ExpressionNode(globalData) 1241 1275 , m_term1(term1) 1242 1276 , m_term2(term2) … … 1245 1279 } 1246 1280 1281 ReverseBinaryOpNode(JSGlobalData* globalData, JSType type, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) 1282 : ExpressionNode(globalData, type) 1283 , m_term1(term1) 1284 , m_term2(term2) 1285 , m_rightHasAssignments(rightHasAssignments) 1286 { 1287 } 1288 1247 1289 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1248 1290 virtual OpcodeID opcode() const KJS_FAST_CALL = 0; … … 1256 1298 class MultNode : public BinaryOpNode { 1257 1299 public: 1258 MultNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1259 : BinaryOpNode( NumberType, term1, term2, rightHasAssignments)1300 MultNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1301 : BinaryOpNode(globalData, NumberType, term1, term2, rightHasAssignments) 1260 1302 { 1261 1303 } … … 1268 1310 class DivNode : public BinaryOpNode { 1269 1311 public: 1270 DivNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1271 : BinaryOpNode( NumberType, term1, term2, rightHasAssignments)1312 DivNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1313 : BinaryOpNode(globalData, NumberType, term1, term2, rightHasAssignments) 1272 1314 { 1273 1315 } … … 1280 1322 class ModNode : public BinaryOpNode { 1281 1323 public: 1282 ModNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1283 : BinaryOpNode( NumberType, term1, term2, rightHasAssignments)1324 ModNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1325 : BinaryOpNode(globalData, NumberType, term1, term2, rightHasAssignments) 1284 1326 { 1285 1327 } … … 1292 1334 class AddNode : public BinaryOpNode { 1293 1335 public: 1294 AddNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1295 : BinaryOpNode( term1, term2, rightHasAssignments)1336 AddNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1337 : BinaryOpNode(globalData, term1, term2, rightHasAssignments) 1296 1338 { 1297 1339 } … … 1304 1346 class SubNode : public BinaryOpNode { 1305 1347 public: 1306 SubNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1307 : BinaryOpNode( term1, term2, rightHasAssignments)1348 SubNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1349 : BinaryOpNode(globalData, term1, term2, rightHasAssignments) 1308 1350 { 1309 1351 } … … 1316 1358 class LeftShiftNode : public BinaryOpNode { 1317 1359 public: 1318 LeftShiftNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1319 : BinaryOpNode( NumberType, term1, term2, rightHasAssignments)1360 LeftShiftNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1361 : BinaryOpNode(globalData, NumberType, term1, term2, rightHasAssignments) 1320 1362 { 1321 1363 } … … 1328 1370 class RightShiftNode : public BinaryOpNode { 1329 1371 public: 1330 RightShiftNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1331 : BinaryOpNode( NumberType, term1, term2, rightHasAssignments)1372 RightShiftNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1373 : BinaryOpNode(globalData, NumberType, term1, term2, rightHasAssignments) 1332 1374 { 1333 1375 } … … 1340 1382 class UnsignedRightShiftNode : public BinaryOpNode { 1341 1383 public: 1342 UnsignedRightShiftNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1343 : BinaryOpNode( NumberType, term1, term2, rightHasAssignments)1384 UnsignedRightShiftNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1385 : BinaryOpNode(globalData, NumberType, term1, term2, rightHasAssignments) 1344 1386 { 1345 1387 } … … 1352 1394 class LessNode : public BinaryOpNode { 1353 1395 public: 1354 LessNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1355 : BinaryOpNode( BooleanType, term1, term2, rightHasAssignments)1396 LessNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1397 : BinaryOpNode(globalData, BooleanType, term1, term2, rightHasAssignments) 1356 1398 { 1357 1399 } … … 1364 1406 class GreaterNode : public ReverseBinaryOpNode { 1365 1407 public: 1366 GreaterNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1367 : ReverseBinaryOpNode( BooleanType, term1, term2, rightHasAssignments)1408 GreaterNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1409 : ReverseBinaryOpNode(globalData, BooleanType, term1, term2, rightHasAssignments) 1368 1410 { 1369 1411 } … … 1376 1418 class LessEqNode : public BinaryOpNode { 1377 1419 public: 1378 LessEqNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1379 : BinaryOpNode( BooleanType, term1, term2, rightHasAssignments)1420 LessEqNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1421 : BinaryOpNode(globalData, BooleanType, term1, term2, rightHasAssignments) 1380 1422 { 1381 1423 } … … 1388 1430 class GreaterEqNode : public ReverseBinaryOpNode { 1389 1431 public: 1390 GreaterEqNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1391 : ReverseBinaryOpNode( BooleanType, term1, term2, rightHasAssignments)1432 GreaterEqNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1433 : ReverseBinaryOpNode(globalData, BooleanType, term1, term2, rightHasAssignments) 1392 1434 { 1393 1435 } … … 1400 1442 class InstanceOfNode : public BinaryOpNode { 1401 1443 public: 1402 InstanceOfNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1403 : BinaryOpNode( BooleanType, term1, term2, rightHasAssignments)1444 InstanceOfNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1445 : BinaryOpNode(globalData, BooleanType, term1, term2, rightHasAssignments) 1404 1446 { 1405 1447 } … … 1412 1454 class InNode : public BinaryOpNode { 1413 1455 public: 1414 InNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1415 : BinaryOpNode( term1, term2, rightHasAssignments)1456 InNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1457 : BinaryOpNode(globalData, term1, term2, rightHasAssignments) 1416 1458 { 1417 1459 } … … 1424 1466 class EqualNode : public BinaryOpNode { 1425 1467 public: 1426 EqualNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1427 : BinaryOpNode( BooleanType, term1, term2, rightHasAssignments)1468 EqualNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1469 : BinaryOpNode(globalData, BooleanType, term1, term2, rightHasAssignments) 1428 1470 { 1429 1471 } … … 1436 1478 class NotEqualNode : public BinaryOpNode { 1437 1479 public: 1438 NotEqualNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1439 : BinaryOpNode( BooleanType, term1, term2, rightHasAssignments)1480 NotEqualNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1481 : BinaryOpNode(globalData, BooleanType, term1, term2, rightHasAssignments) 1440 1482 { 1441 1483 } … … 1448 1490 class StrictEqualNode : public BinaryOpNode { 1449 1491 public: 1450 StrictEqualNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1451 : BinaryOpNode( BooleanType, term1, term2, rightHasAssignments)1492 StrictEqualNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1493 : BinaryOpNode(globalData, BooleanType, term1, term2, rightHasAssignments) 1452 1494 { 1453 1495 } … … 1460 1502 class NotStrictEqualNode : public BinaryOpNode { 1461 1503 public: 1462 NotStrictEqualNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1463 : BinaryOpNode( BooleanType, term1, term2, rightHasAssignments)1504 NotStrictEqualNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1505 : BinaryOpNode(globalData, BooleanType, term1, term2, rightHasAssignments) 1464 1506 { 1465 1507 } … … 1472 1514 class BitAndNode : public BinaryOpNode { 1473 1515 public: 1474 BitAndNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1475 : BinaryOpNode( NumberType, term1, term2, rightHasAssignments)1516 BitAndNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1517 : BinaryOpNode(globalData, NumberType, term1, term2, rightHasAssignments) 1476 1518 { 1477 1519 } … … 1484 1526 class BitOrNode : public BinaryOpNode { 1485 1527 public: 1486 BitOrNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1487 : BinaryOpNode( NumberType, term1, term2, rightHasAssignments)1528 BitOrNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1529 : BinaryOpNode(globalData, NumberType, term1, term2, rightHasAssignments) 1488 1530 { 1489 1531 } … … 1496 1538 class BitXOrNode : public BinaryOpNode { 1497 1539 public: 1498 BitXOrNode( ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL1499 : BinaryOpNode( NumberType, term1, term2, rightHasAssignments)1540 BitXOrNode(JSGlobalData* globalData, ExpressionNode* term1, ExpressionNode* term2, bool rightHasAssignments) KJS_FAST_CALL 1541 : BinaryOpNode(globalData, NumberType, term1, term2, rightHasAssignments) 1500 1542 { 1501 1543 } … … 1511 1553 class LogicalAndNode : public ExpressionNode { 1512 1554 public: 1513 LogicalAndNode( ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL1514 : ExpressionNode( BooleanType)1555 LogicalAndNode(JSGlobalData* globalData, ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1556 : ExpressionNode(globalData, BooleanType) 1515 1557 , m_expr1(expr1) 1516 1558 , m_expr2(expr2) … … 1529 1571 class LogicalOrNode : public ExpressionNode { 1530 1572 public: 1531 LogicalOrNode( ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL1532 : ExpressionNode( BooleanType)1573 LogicalOrNode(JSGlobalData* globalData, ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1574 : ExpressionNode(globalData, BooleanType) 1533 1575 , m_expr1(expr1) 1534 1576 , m_expr2(expr2) … … 1550 1592 class ConditionalNode : public ExpressionNode { 1551 1593 public: 1552 ConditionalNode(ExpressionNode* logical, ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1553 : m_logical(logical) 1594 ConditionalNode(JSGlobalData* globalData, ExpressionNode* logical, ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1595 : ExpressionNode(globalData) 1596 , m_logical(logical) 1554 1597 , m_expr1(expr1) 1555 1598 , m_expr2(expr2) … … 1569 1612 class ReadModifyResolveNode : public ExpressionNode { 1570 1613 public: 1571 ReadModifyResolveNode(const Identifier& ident, Operator oper, ExpressionNode* right, bool rightHasAssignments) KJS_FAST_CALL 1572 : m_ident(ident) 1614 ReadModifyResolveNode(JSGlobalData* globalData, const Identifier& ident, Operator oper, ExpressionNode* right, bool rightHasAssignments) KJS_FAST_CALL 1615 : ExpressionNode(globalData) 1616 , m_ident(ident) 1573 1617 , m_right(right) 1574 1618 , m_operator(oper) … … 1600 1644 class AssignResolveNode : public ExpressionNode { 1601 1645 public: 1602 AssignResolveNode(const Identifier& ident, ExpressionNode* right, bool rightHasAssignments) KJS_FAST_CALL 1603 : m_ident(ident) 1646 AssignResolveNode(JSGlobalData* globalData, const Identifier& ident, ExpressionNode* right, bool rightHasAssignments) KJS_FAST_CALL 1647 : ExpressionNode(globalData) 1648 , m_ident(ident) 1604 1649 , m_right(right) 1605 1650 , m_rightHasAssignments(rightHasAssignments) … … 1628 1673 class ReadModifyBracketNode : public ExpressionNode { 1629 1674 public: 1630 ReadModifyBracketNode(ExpressionNode* base, ExpressionNode* subscript, Operator oper, ExpressionNode* right, bool subscriptHasAssignments, bool rightHasAssignments) KJS_FAST_CALL 1631 : m_base(base) 1675 ReadModifyBracketNode(JSGlobalData* globalData, ExpressionNode* base, ExpressionNode* subscript, Operator oper, ExpressionNode* right, bool subscriptHasAssignments, bool rightHasAssignments) KJS_FAST_CALL 1676 : ExpressionNode(globalData) 1677 , m_base(base) 1632 1678 , m_subscript(subscript) 1633 1679 , m_right(right) … … 1654 1700 class AssignBracketNode : public ExpressionNode { 1655 1701 public: 1656 AssignBracketNode(ExpressionNode* base, ExpressionNode* subscript, ExpressionNode* right, bool subscriptHasAssignments, bool rightHasAssignments) KJS_FAST_CALL 1657 : m_base(base) 1702 AssignBracketNode(JSGlobalData* globalData, ExpressionNode* base, ExpressionNode* subscript, ExpressionNode* right, bool subscriptHasAssignments, bool rightHasAssignments) KJS_FAST_CALL 1703 : ExpressionNode(globalData) 1704 , m_base(base) 1658 1705 , m_subscript(subscript) 1659 1706 , m_right(right) … … 1678 1725 class AssignDotNode : public ExpressionNode { 1679 1726 public: 1680 AssignDotNode(ExpressionNode* base, const Identifier& ident, ExpressionNode* right, bool rightHasAssignments) KJS_FAST_CALL 1681 : m_base(base) 1727 AssignDotNode(JSGlobalData* globalData, ExpressionNode* base, const Identifier& ident, ExpressionNode* right, bool rightHasAssignments) KJS_FAST_CALL 1728 : ExpressionNode(globalData) 1729 , m_base(base) 1682 1730 , m_ident(ident) 1683 1731 , m_right(right) … … 1699 1747 class ReadModifyDotNode : public ExpressionNode { 1700 1748 public: 1701 ReadModifyDotNode(ExpressionNode* base, const Identifier& ident, Operator oper, ExpressionNode* right, bool rightHasAssignments) KJS_FAST_CALL 1702 : m_base(base) 1749 ReadModifyDotNode(JSGlobalData* globalData, ExpressionNode* base, const Identifier& ident, Operator oper, ExpressionNode* right, bool rightHasAssignments) KJS_FAST_CALL 1750 : ExpressionNode(globalData) 1751 , m_base(base) 1703 1752 , m_ident(ident) 1704 1753 , m_right(right) … … 1723 1772 class AssignErrorNode : public ExpressionNode { 1724 1773 public: 1725 AssignErrorNode(ExpressionNode* left, Operator oper, ExpressionNode* right) KJS_FAST_CALL 1726 : m_left(left) 1774 AssignErrorNode(JSGlobalData* globalData, ExpressionNode* left, Operator oper, ExpressionNode* right) KJS_FAST_CALL 1775 : ExpressionNode(globalData) 1776 , m_left(left) 1727 1777 , m_operator(oper) 1728 1778 , m_right(right) … … 1742 1792 class CommaNode : public ExpressionNode { 1743 1793 public: 1744 CommaNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1745 : m_expr1(expr1) 1794 CommaNode(JSGlobalData* globalData, ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1795 : ExpressionNode(globalData) 1796 , m_expr1(expr1) 1746 1797 , m_expr2(expr2) 1747 1798 { … … 1759 1810 class VarDeclCommaNode : public CommaNode { 1760 1811 public: 1761 VarDeclCommaNode( ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL1762 : CommaNode( expr1, expr2)1812 VarDeclCommaNode(JSGlobalData* globalData, ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1813 : CommaNode(globalData, expr1, expr2) 1763 1814 { 1764 1815 } … … 1768 1819 class ConstDeclNode : public ExpressionNode { 1769 1820 public: 1770 ConstDeclNode( const Identifier& ident, ExpressionNode* in) KJS_FAST_CALL;1821 ConstDeclNode(JSGlobalData* globalData, const Identifier& ident, ExpressionNode* in) KJS_FAST_CALL; 1771 1822 1772 1823 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1784 1835 class ConstStatementNode : public StatementNode { 1785 1836 public: 1786 ConstStatementNode(ConstDeclNode* next) KJS_FAST_CALL 1787 : m_next(next) 1837 ConstStatementNode(JSGlobalData* globalData, ConstDeclNode* next) KJS_FAST_CALL 1838 : StatementNode(globalData) 1839 , m_next(next) 1788 1840 { 1789 1841 } … … 1801 1853 class SourceElements : public ParserRefCounted { 1802 1854 public: 1855 SourceElements(JSGlobalData* globalData) : ParserRefCounted(globalData) {} 1856 1803 1857 void append(PassRefPtr<StatementNode>); 1804 1858 void releaseContentsIntoVector(StatementVector& destination) … … 1814 1868 class BlockNode : public StatementNode { 1815 1869 public: 1816 BlockNode( SourceElements* children) KJS_FAST_CALL;1870 BlockNode(JSGlobalData*, SourceElements* children) KJS_FAST_CALL; 1817 1871 1818 1872 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; … … 1827 1881 class EmptyStatementNode : public StatementNode { 1828 1882 public: 1829 EmptyStatementNode() KJS_FAST_CALL // debug 1883 EmptyStatementNode(JSGlobalData* globalData) KJS_FAST_CALL // debug 1884 : StatementNode(globalData) 1830 1885 { 1831 1886 } … … 1839 1894 class DebuggerStatementNode : public StatementNode { 1840 1895 public: 1841 DebuggerStatementNode() KJS_FAST_CALL 1896 DebuggerStatementNode(JSGlobalData* globalData) KJS_FAST_CALL 1897 : StatementNode(globalData) 1842 1898 { 1843 1899 } … … 1850 1906 class ExprStatementNode : public StatementNode { 1851 1907 public: 1852 ExprStatementNode(ExpressionNode* expr) KJS_FAST_CALL 1853 : m_expr(expr) 1908 ExprStatementNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 1909 : StatementNode(globalData) 1910 , m_expr(expr) 1854 1911 { 1855 1912 } … … 1864 1921 class VarStatementNode : public StatementNode { 1865 1922 public: 1866 VarStatementNode(ExpressionNode* expr) KJS_FAST_CALL 1867 : m_expr(expr) 1923 VarStatementNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 1924 : StatementNode(globalData) 1925 , m_expr(expr) 1868 1926 { 1869 1927 } … … 1879 1937 class IfNode : public StatementNode { 1880 1938 public: 1881 IfNode(ExpressionNode* condition, StatementNode* ifBlock) KJS_FAST_CALL 1882 : m_condition(condition) 1939 IfNode(JSGlobalData* globalData, ExpressionNode* condition, StatementNode* ifBlock) KJS_FAST_CALL 1940 : StatementNode(globalData) 1941 , m_condition(condition) 1883 1942 , m_ifBlock(ifBlock) 1884 1943 { … … 1895 1954 class IfElseNode : public IfNode { 1896 1955 public: 1897 IfElseNode( ExpressionNode* condtion, StatementNode* ifBlock, StatementNode* elseBlock) KJS_FAST_CALL1898 : IfNode( condtion, ifBlock)1956 IfElseNode(JSGlobalData* globalData, ExpressionNode* condition, StatementNode* ifBlock, StatementNode* elseBlock) KJS_FAST_CALL 1957 : IfNode(globalData, condition, ifBlock) 1899 1958 , m_elseBlock(elseBlock) 1900 1959 { … … 1910 1969 class DoWhileNode : public StatementNode { 1911 1970 public: 1912 DoWhileNode(StatementNode* statement, ExpressionNode* expr) KJS_FAST_CALL 1913 : m_statement(statement) 1971 DoWhileNode(JSGlobalData* globalData, StatementNode* statement, ExpressionNode* expr) KJS_FAST_CALL 1972 : StatementNode(globalData) 1973 , m_statement(statement) 1914 1974 , m_expr(expr) 1915 1975 { … … 1926 1986 class WhileNode : public StatementNode { 1927 1987 public: 1928 WhileNode(ExpressionNode* expr, StatementNode* statement) KJS_FAST_CALL 1929 : m_expr(expr) 1988 WhileNode(JSGlobalData* globalData, ExpressionNode* expr, StatementNode* statement) KJS_FAST_CALL 1989 : StatementNode(globalData) 1990 , m_expr(expr) 1930 1991 , m_statement(statement) 1931 1992 { … … 1942 2003 class ForNode : public StatementNode { 1943 2004 public: 1944 ForNode(ExpressionNode* expr1, ExpressionNode* expr2, ExpressionNode* expr3, StatementNode* statement, bool expr1WasVarDecl) KJS_FAST_CALL 1945 : m_expr1(expr1) 2005 ForNode(JSGlobalData* globalData, ExpressionNode* expr1, ExpressionNode* expr2, ExpressionNode* expr3, StatementNode* statement, bool expr1WasVarDecl) KJS_FAST_CALL 2006 : StatementNode(globalData) 2007 , m_expr1(expr1) 1946 2008 , m_expr2(expr2) 1947 2009 , m_expr3(expr3) … … 1965 2027 class ForInNode : public StatementNode { 1966 2028 public: 1967 ForInNode( ExpressionNode*, ExpressionNode*, StatementNode*) KJS_FAST_CALL;1968 ForInNode( const Identifier&, ExpressionNode*, ExpressionNode*, StatementNode*) KJS_FAST_CALL;2029 ForInNode(JSGlobalData*, ExpressionNode*, ExpressionNode*, StatementNode*) KJS_FAST_CALL; 2030 ForInNode(JSGlobalData*, const Identifier&, ExpressionNode*, ExpressionNode*, StatementNode*) KJS_FAST_CALL; 1969 2031 1970 2032 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; … … 1982 2044 class ContinueNode : public StatementNode { 1983 2045 public: 1984 ContinueNode() KJS_FAST_CALL 1985 { 1986 } 1987 1988 ContinueNode(const Identifier& ident) KJS_FAST_CALL 1989 : m_ident(ident) 2046 ContinueNode(JSGlobalData* globalData) KJS_FAST_CALL 2047 : StatementNode(globalData) 2048 { 2049 } 2050 2051 ContinueNode(JSGlobalData* globalData, const Identifier& ident) KJS_FAST_CALL 2052 : StatementNode(globalData) 2053 , m_ident(ident) 1990 2054 { 1991 2055 } … … 2000 2064 class BreakNode : public StatementNode { 2001 2065 public: 2002 BreakNode() KJS_FAST_CALL 2003 { 2004 } 2005 2006 BreakNode(const Identifier& ident) KJS_FAST_CALL 2007 : m_ident(ident) 2066 BreakNode(JSGlobalData* globalData) KJS_FAST_CALL 2067 : StatementNode(globalData) 2068 { 2069 } 2070 2071 BreakNode(JSGlobalData* globalData, const Identifier& ident) KJS_FAST_CALL 2072 : StatementNode(globalData) 2073 , m_ident(ident) 2008 2074 { 2009 2075 } … … 2018 2084 class ReturnNode : public StatementNode { 2019 2085 public: 2020 ReturnNode(ExpressionNode* value) KJS_FAST_CALL 2021 : m_value(value) 2086 ReturnNode(JSGlobalData* globalData, ExpressionNode* value) KJS_FAST_CALL 2087 : StatementNode(globalData) 2088 , m_value(value) 2022 2089 { 2023 2090 } … … 2033 2100 class WithNode : public StatementNode { 2034 2101 public: 2035 WithNode(ExpressionNode* expr, StatementNode* statement) KJS_FAST_CALL 2036 : m_expr(expr) 2102 WithNode(JSGlobalData* globalData, ExpressionNode* expr, StatementNode* statement) KJS_FAST_CALL 2103 : StatementNode(globalData) 2104 , m_expr(expr) 2037 2105 , m_statement(statement) 2038 2106 { … … 2049 2117 class LabelNode : public StatementNode { 2050 2118 public: 2051 LabelNode(const Identifier& label, StatementNode* statement) KJS_FAST_CALL 2052 : m_label(label) 2119 LabelNode(JSGlobalData* globalData, const Identifier& label, StatementNode* statement) KJS_FAST_CALL 2120 : StatementNode(globalData) 2121 , m_label(label) 2053 2122 , m_statement(statement) 2054 2123 { … … 2066 2135 class ThrowNode : public StatementNode { 2067 2136 public: 2068 ThrowNode(ExpressionNode* expr) KJS_FAST_CALL 2069 : m_expr(expr) 2137 ThrowNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 2138 : StatementNode(globalData) 2139 , m_expr(expr) 2070 2140 { 2071 2141 } … … 2080 2150 class TryNode : public StatementNode { 2081 2151 public: 2082 TryNode(StatementNode* tryBlock, const Identifier& exceptionIdent, StatementNode* catchBlock, StatementNode* finallyBlock) KJS_FAST_CALL 2083 : m_tryBlock(tryBlock) 2152 TryNode(JSGlobalData* globalData, StatementNode* tryBlock, const Identifier& exceptionIdent, StatementNode* catchBlock, StatementNode* finallyBlock) KJS_FAST_CALL 2153 : StatementNode(globalData) 2154 , m_tryBlock(tryBlock) 2084 2155 , m_exceptionIdent(exceptionIdent) 2085 2156 , m_catchBlock(catchBlock) … … 2101 2172 class ParameterNode : public Node { 2102 2173 public: 2103 ParameterNode(const Identifier& ident) KJS_FAST_CALL 2104 : m_ident(ident) 2105 { 2106 } 2107 2108 ParameterNode(ParameterNode* l, const Identifier& ident) KJS_FAST_CALL 2109 : m_ident(ident) 2174 ParameterNode(JSGlobalData* globalData, const Identifier& ident) KJS_FAST_CALL 2175 : Node(globalData) 2176 , m_ident(ident) 2177 { 2178 } 2179 2180 ParameterNode(JSGlobalData* globalData, ParameterNode* l, const Identifier& ident) KJS_FAST_CALL 2181 : Node(globalData) 2182 , m_ident(ident) 2110 2183 { 2111 2184 l->m_next = this; … … 2127 2200 class ScopeNode : public BlockNode { 2128 2201 public: 2129 ScopeNode( SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL;2202 ScopeNode(JSGlobalData*, SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2130 2203 2131 2204 int sourceId() const KJS_FAST_CALL { return m_sourceId; } … … 2152 2225 class ProgramNode : public ScopeNode { 2153 2226 public: 2154 static ProgramNode* create( SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL;2227 static ProgramNode* create(JSGlobalData*, SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2155 2228 2156 2229 ProgramCodeBlock& code(ScopeChainNode* scopeChain, bool canCreateGlobals) KJS_FAST_CALL … … 2162 2235 2163 2236 private: 2164 ProgramNode( SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL;2237 ProgramNode(JSGlobalData*, SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2165 2238 2166 2239 void generateCode(ScopeChainNode*, bool) KJS_FAST_CALL; … … 2175 2248 class EvalNode : public ScopeNode { 2176 2249 public: 2177 static EvalNode* create( SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL;2250 static EvalNode* create(JSGlobalData*, SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2178 2251 2179 2252 EvalCodeBlock& code(ScopeChainNode* scopeChain) KJS_FAST_CALL … … 2185 2258 2186 2259 private: 2187 EvalNode( SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL;2260 EvalNode(JSGlobalData*, SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2188 2261 2189 2262 void generateCode(ScopeChainNode*) KJS_FAST_CALL; … … 2195 2268 class FunctionBodyNode : public ScopeNode { 2196 2269 public: 2197 static FunctionBodyNode* create( SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL;2270 static FunctionBodyNode* create(JSGlobalData*, SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2198 2271 2199 2272 Vector<Identifier>& parameters() KJS_FAST_CALL { return m_parameters; } … … 2224 2297 2225 2298 protected: 2226 FunctionBodyNode( SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL;2299 FunctionBodyNode(JSGlobalData*, SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2227 2300 2228 2301 private: … … 2237 2310 class FuncExprNode : public ExpressionNode { 2238 2311 public: 2239 FuncExprNode(const Identifier& ident, FunctionBodyNode* body, const SourceRange& source, ParameterNode* parameter = 0) KJS_FAST_CALL 2240 : m_ident(ident) 2312 FuncExprNode(JSGlobalData* globalData, const Identifier& ident, FunctionBodyNode* body, const SourceRange& source, ParameterNode* parameter = 0) KJS_FAST_CALL 2313 : ExpressionNode(globalData) 2314 , m_ident(ident) 2241 2315 , m_parameter(parameter) 2242 2316 , m_body(body) … … 2266 2340 class FuncDeclNode : public StatementNode { 2267 2341 public: 2268 FuncDeclNode(const Identifier& ident, FunctionBodyNode* body, const SourceRange& source, ParameterNode* parameter = 0) KJS_FAST_CALL 2269 : m_ident(ident) 2342 FuncDeclNode(JSGlobalData* globalData, const Identifier& ident, FunctionBodyNode* body, const SourceRange& source, ParameterNode* parameter = 0) KJS_FAST_CALL 2343 : StatementNode(globalData) 2344 , m_ident(ident) 2270 2345 , m_parameter(parameter) 2271 2346 , m_body(body) … … 2293 2368 class CaseClauseNode : public Node { 2294 2369 public: 2295 CaseClauseNode(ExpressionNode* expr) KJS_FAST_CALL 2296 : m_expr(expr) 2297 { 2298 } 2299 2300 CaseClauseNode(ExpressionNode* expr, SourceElements* children) KJS_FAST_CALL 2301 : m_expr(expr) 2370 CaseClauseNode(JSGlobalData* globalData, ExpressionNode* expr) KJS_FAST_CALL 2371 : Node(globalData) 2372 , m_expr(expr) 2373 { 2374 } 2375 2376 CaseClauseNode(JSGlobalData* globalData, ExpressionNode* expr, SourceElements* children) KJS_FAST_CALL 2377 : Node(globalData) 2378 , m_expr(expr) 2302 2379 { 2303 2380 if (children) … … 2318 2395 class ClauseListNode : public Node { 2319 2396 public: 2320 ClauseListNode(CaseClauseNode* clause) KJS_FAST_CALL 2321 : m_clause(clause) 2322 { 2323 } 2324 2325 ClauseListNode(ClauseListNode* clauseList, CaseClauseNode* clause) KJS_FAST_CALL 2326 : m_clause(clause) 2397 ClauseListNode(JSGlobalData* globalData, CaseClauseNode* clause) KJS_FAST_CALL 2398 : Node(globalData) 2399 , m_clause(clause) 2400 { 2401 } 2402 2403 ClauseListNode(JSGlobalData* globalData, ClauseListNode* clauseList, CaseClauseNode* clause) KJS_FAST_CALL 2404 : Node(globalData) 2405 , m_clause(clause) 2327 2406 { 2328 2407 clauseList->m_next = this; … … 2343 2422 class CaseBlockNode : public Node { 2344 2423 public: 2345 CaseBlockNode(ClauseListNode* list1, CaseClauseNode* defaultClause, ClauseListNode* list2) KJS_FAST_CALL 2346 : m_list1(list1) 2424 CaseBlockNode(JSGlobalData* globalData, ClauseListNode* list1, CaseClauseNode* defaultClause, ClauseListNode* list2) KJS_FAST_CALL 2425 : Node(globalData) 2426 , m_list1(list1) 2347 2427 , m_defaultClause(defaultClause) 2348 2428 , m_list2(list2) … … 2363 2443 class SwitchNode : public StatementNode { 2364 2444 public: 2365 SwitchNode(ExpressionNode* expr, CaseBlockNode* block) KJS_FAST_CALL 2366 : m_expr(expr) 2445 SwitchNode(JSGlobalData* globalData, ExpressionNode* expr, CaseBlockNode* block) KJS_FAST_CALL 2446 : StatementNode(globalData) 2447 , m_expr(expr) 2367 2448 , m_block(block) 2368 2449 { … … 2380 2461 class BreakpointCheckStatement : public StatementNode { 2381 2462 public: 2382 BreakpointCheckStatement( PassRefPtr<StatementNode>) KJS_FAST_CALL;2463 BreakpointCheckStatement(JSGlobalData*, PassRefPtr<StatementNode>) KJS_FAST_CALL; 2383 2464 2384 2465 virtual void streamTo(SourceStream&) const KJS_FAST_CALL;
Note:
See TracChangeset
for help on using the changeset viewer.