Changeset 29825 in webkit for trunk/JavaScriptCore/kjs/nodes.h
- Timestamp:
- Jan 27, 2008, 4:14:24 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.h
r29818 r29825 207 207 int lastLine() const KJS_FAST_CALL { return m_lastLine; } 208 208 virtual JSValue* execute(ExecState *exec) KJS_FAST_CALL = 0; 209 void pushLabel(const Identifier &id) KJS_FAST_CALL { ls.push(id); }209 void pushLabel(const Identifier& ident) KJS_FAST_CALL { m_labelStack.push(ident); } 210 210 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 211 211 virtual bool isEmptyStatement() const KJS_FAST_CALL { return false; } 212 212 protected: 213 LabelStack ls;213 LabelStack m_labelStack; 214 214 private: 215 215 int m_lastLine; … … 316 316 class ResolveNode : public ExpressionNode { 317 317 public: 318 ResolveNode(const Identifier &s) KJS_FAST_CALL319 : ident(s)318 ResolveNode(const Identifier& ident) KJS_FAST_CALL 319 : m_ident(ident) 320 320 { 321 321 } … … 324 324 ResolveNode(PlacementNewAdoptType) KJS_FAST_CALL 325 325 : ExpressionNode(PlacementNewAdopt) 326 , ident(PlacementNewAdopt)326 , m_ident(PlacementNewAdopt) 327 327 { 328 328 } … … 340 340 virtual bool isLocation() const KJS_FAST_CALL { return true; } 341 341 virtual bool isResolveNode() const KJS_FAST_CALL { return true; } 342 const Identifier& identifier() const KJS_FAST_CALL { return ident; }342 const Identifier& identifier() const KJS_FAST_CALL { return m_ident; } 343 343 344 344 protected: 345 345 ALWAYS_INLINE JSValue* inlineEvaluate(ExecState*); 346 Identifier ident;347 size_t index; // Used by LocalVarAccessNode.346 Identifier m_ident; 347 size_t m_index; // Used by LocalVarAccessNode. 348 348 }; 349 349 … … 355 355 { 356 356 ASSERT(i != missingSymbolMarker()); 357 index = i;357 m_index = i; 358 358 } 359 359 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 368 368 class ElementNode : public Node { 369 369 public: 370 ElementNode(int e, ExpressionNode* n) KJS_FAST_CALL : elision(e), node(n) { } 371 ElementNode(ElementNode* l, int e, ExpressionNode* n) KJS_FAST_CALL 372 : elision(e), node(n) { l->next = this; } 370 ElementNode(int elision, ExpressionNode* node) KJS_FAST_CALL 371 : m_elision(elision), m_node(node) { } 372 ElementNode(ElementNode* l, int elision, ExpressionNode* node) KJS_FAST_CALL 373 : m_elision(elision), m_node(node) { l->m_next = this; } 373 374 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 374 375 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 375 376 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 376 377 377 PassRefPtr<ElementNode> releaseNext() KJS_FAST_CALL { return next.release(); }378 PassRefPtr<ElementNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 378 379 379 380 JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 381 382 private: 382 383 friend class ArrayNode; 383 ListRefPtr<ElementNode> next;384 int elision;385 RefPtr<ExpressionNode> node;384 ListRefPtr<ElementNode> m_next; 385 int m_elision; 386 RefPtr<ExpressionNode> m_node; 386 387 }; 387 388 388 389 class ArrayNode : public ExpressionNode { 389 390 public: 390 ArrayNode(int e) KJS_FAST_CALL : elision(e), opt(true) { } 391 ArrayNode(ElementNode* ele) KJS_FAST_CALL 392 : element(ele), elision(0), opt(false) { } 393 ArrayNode(int eli, ElementNode* ele) KJS_FAST_CALL 394 : element(ele), elision(eli), opt(true) { } 391 ArrayNode(int e) KJS_FAST_CALL 392 : m_elision(e), m_opt(true) { } 393 ArrayNode(ElementNode* element) KJS_FAST_CALL 394 : m_element(element), m_elision(0), m_opt(false) { } 395 ArrayNode(int elision, ElementNode* element) KJS_FAST_CALL 396 : m_element(element), m_elision(elision), m_opt(true) { } 395 397 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 396 398 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 398 400 virtual Precedence precedence() const { return PrecPrimary; } 399 401 private: 400 RefPtr<ElementNode> element;401 int elision;402 bool opt;402 RefPtr<ElementNode> m_element; 403 int m_elision; 404 bool m_opt; 403 405 }; 404 406 … … 407 409 enum Type { Constant, Getter, Setter }; 408 410 PropertyNode(const Identifier& n, ExpressionNode* a, Type t) KJS_FAST_CALL 409 : m_name(n), assign(a),type(t) { }411 : m_name(n), m_assign(a), m_type(t) { } 410 412 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 411 413 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 418 420 friend class PropertyListNode; 419 421 Identifier m_name; 420 RefPtr<ExpressionNode> assign;421 Type type;422 RefPtr<ExpressionNode> m_assign; 423 Type m_type; 422 424 }; 423 425 424 426 class PropertyListNode : public Node { 425 427 public: 426 PropertyListNode(PropertyNode* n ) KJS_FAST_CALL427 : node(n) { }428 PropertyListNode(PropertyNode* n , PropertyListNode* l) KJS_FAST_CALL429 : node(n) { l->next = this; }428 PropertyListNode(PropertyNode* node) KJS_FAST_CALL 429 : m_node(node) { } 430 PropertyListNode(PropertyNode* node, PropertyListNode* list) KJS_FAST_CALL 431 : m_node(node) { list->m_next = this; } 430 432 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 431 433 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 433 435 434 436 JSValue* evaluate(ExecState*) KJS_FAST_CALL; 435 PassRefPtr<PropertyListNode> releaseNext() KJS_FAST_CALL { return next.release(); }437 PassRefPtr<PropertyListNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 436 438 437 439 private: 438 440 friend class ObjectLiteralNode; 439 RefPtr<PropertyNode> node;440 ListRefPtr<PropertyListNode> next;441 RefPtr<PropertyNode> m_node; 442 ListRefPtr<PropertyListNode> m_next; 441 443 }; 442 444 … … 444 446 public: 445 447 ObjectLiteralNode() KJS_FAST_CALL { } 446 ObjectLiteralNode(PropertyListNode* l ) KJS_FAST_CALL : list(l) { }448 ObjectLiteralNode(PropertyListNode* list) KJS_FAST_CALL : m_list(list) { } 447 449 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 448 450 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 451 453 virtual bool needsParensIfLeftmost() const { return true; } 452 454 private: 453 RefPtr<PropertyListNode> list;455 RefPtr<PropertyListNode> m_list; 454 456 }; 455 457 456 458 class BracketAccessorNode : public ExpressionNode { 457 459 public: 458 BracketAccessorNode(ExpressionNode* e1, ExpressionNode* e2) KJS_FAST_CALL : expr1(e1), expr2(e2) {} 460 BracketAccessorNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 461 : m_base(base), m_subscript(subscript) { } 459 462 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 460 463 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 468 471 virtual bool isLocation() const KJS_FAST_CALL { return true; } 469 472 virtual bool isBracketAccessorNode() const KJS_FAST_CALL { return true; } 470 ExpressionNode* base() KJS_FAST_CALL { return expr1.get(); }471 ExpressionNode* subscript() KJS_FAST_CALL { return expr2.get(); }473 ExpressionNode* base() KJS_FAST_CALL { return m_base.get(); } 474 ExpressionNode* subscript() KJS_FAST_CALL { return m_subscript.get(); } 472 475 473 476 private: 474 477 ALWAYS_INLINE JSValue* inlineEvaluate(ExecState*); 475 RefPtr<ExpressionNode> expr1;476 RefPtr<ExpressionNode> expr2;478 RefPtr<ExpressionNode> m_base; 479 RefPtr<ExpressionNode> m_subscript; 477 480 }; 478 481 479 482 class DotAccessorNode : public ExpressionNode { 480 483 public: 481 DotAccessorNode(ExpressionNode* e, const Identifier& s) KJS_FAST_CALL : expr(e), ident(s) { }484 DotAccessorNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL : m_base(base), m_ident(ident) { } 482 485 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 483 486 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 491 494 virtual bool isLocation() const KJS_FAST_CALL { return true; } 492 495 virtual bool isDotAccessorNode() const KJS_FAST_CALL { return true; } 493 ExpressionNode* base() const KJS_FAST_CALL { return expr.get(); }494 const Identifier& identifier() const KJS_FAST_CALL { return ident; }496 ExpressionNode* base() const KJS_FAST_CALL { return m_base.get(); } 497 const Identifier& identifier() const KJS_FAST_CALL { return m_ident; } 495 498 496 499 private: 497 500 ALWAYS_INLINE JSValue* inlineEvaluate(ExecState*); 498 RefPtr<ExpressionNode> expr;499 Identifier ident;501 RefPtr<ExpressionNode> m_base; 502 Identifier m_ident; 500 503 }; 501 504 502 505 class ArgumentListNode : public Node { 503 506 public: 504 ArgumentListNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) { } 505 ArgumentListNode(ArgumentListNode* l, ExpressionNode* e) KJS_FAST_CALL 506 : expr(e) { l->next = this; } 507 ArgumentListNode(ExpressionNode* expr) KJS_FAST_CALL 508 : m_expr(expr) { } 509 ArgumentListNode(ArgumentListNode* listNode, ExpressionNode* expr) KJS_FAST_CALL 510 : m_expr(expr) { listNode->m_next = this; } 507 511 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 508 512 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 510 514 511 515 void evaluateList(ExecState*, List&) KJS_FAST_CALL; 512 PassRefPtr<ArgumentListNode> releaseNext() KJS_FAST_CALL { return next.release(); }516 PassRefPtr<ArgumentListNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 513 517 514 518 private: 515 519 friend class ArgumentsNode; 516 ListRefPtr<ArgumentListNode> next;517 RefPtr<ExpressionNode> expr;520 ListRefPtr<ArgumentListNode> m_next; 521 RefPtr<ExpressionNode> m_expr; 518 522 }; 519 523 … … 521 525 public: 522 526 ArgumentsNode() KJS_FAST_CALL { } 523 ArgumentsNode(ArgumentListNode* l ) KJS_FAST_CALL524 : listNode(l) { }527 ArgumentsNode(ArgumentListNode* listNode) KJS_FAST_CALL 528 : m_listNode(listNode) { } 525 529 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 526 530 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 527 531 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 528 532 529 void evaluateList(ExecState* exec, List& list) KJS_FAST_CALL { if ( listNode)listNode->evaluateList(exec, list); }530 531 private: 532 RefPtr<ArgumentListNode> listNode;533 void evaluateList(ExecState* exec, List& list) KJS_FAST_CALL { if (m_listNode) m_listNode->evaluateList(exec, list); } 534 535 private: 536 RefPtr<ArgumentListNode> m_listNode; 533 537 }; 534 538 535 539 class NewExprNode : public ExpressionNode { 536 540 public: 537 NewExprNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) {} 538 NewExprNode(ExpressionNode* e, ArgumentsNode* a) KJS_FAST_CALL : expr(e), args(a) {} 541 NewExprNode(ExpressionNode* expr) KJS_FAST_CALL 542 : m_expr(expr) { } 543 NewExprNode(ExpressionNode* expr, ArgumentsNode* args) KJS_FAST_CALL 544 : m_expr(expr), m_args(args) { } 539 545 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 540 546 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 547 553 private: 548 554 ALWAYS_INLINE JSValue* inlineEvaluate(ExecState*); 549 RefPtr<ExpressionNode> expr;550 RefPtr<ArgumentsNode> args;555 RefPtr<ExpressionNode> m_expr; 556 RefPtr<ArgumentsNode> m_args; 551 557 }; 552 558 553 559 class FunctionCallValueNode : public ExpressionNode { 554 560 public: 555 FunctionCallValueNode(ExpressionNode* e, ArgumentsNode* a) KJS_FAST_CALL : expr(e), args(a) {} 561 FunctionCallValueNode(ExpressionNode* expr, ArgumentsNode* args) KJS_FAST_CALL 562 : m_expr(expr), m_args(args) { } 556 563 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 557 564 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 559 566 virtual Precedence precedence() const { return PrecCall; } 560 567 private: 561 RefPtr<ExpressionNode> expr;562 RefPtr<ArgumentsNode> args;568 RefPtr<ExpressionNode> m_expr; 569 RefPtr<ArgumentsNode> m_args; 563 570 }; 564 571 565 572 class FunctionCallResolveNode : public ExpressionNode { 566 573 public: 567 FunctionCallResolveNode(const Identifier& i , ArgumentsNode* a) KJS_FAST_CALL568 : ident(i)569 , args(a)574 FunctionCallResolveNode(const Identifier& ident, ArgumentsNode* args) KJS_FAST_CALL 575 : m_ident(ident) 576 , m_args(args) 570 577 { 571 578 } … … 573 580 FunctionCallResolveNode(PlacementNewAdoptType) KJS_FAST_CALL 574 581 : ExpressionNode(PlacementNewAdopt) 575 , ident(PlacementNewAdopt)576 , args(PlacementNewAdopt)582 , m_ident(PlacementNewAdopt) 583 , m_args(PlacementNewAdopt) 577 584 { 578 585 } … … 589 596 protected: 590 597 ALWAYS_INLINE JSValue* inlineEvaluate(ExecState*); 591 Identifier ident;592 RefPtr<ArgumentsNode> args;593 size_t index; // Used by LocalVarFunctionCallNode.598 Identifier m_ident; 599 RefPtr<ArgumentsNode> m_args; 600 size_t m_index; // Used by LocalVarFunctionCallNode. 594 601 }; 595 602 … … 600 607 { 601 608 ASSERT(i != missingSymbolMarker()); 602 index = i;609 m_index = i; 603 610 } 604 611 … … 614 621 class FunctionCallBracketNode : public ExpressionNode { 615 622 public: 616 FunctionCallBracketNode(ExpressionNode* b, ExpressionNode* s, ArgumentsNode* a) KJS_FAST_CALL : base(b), subscript(s), args(a) {} 623 FunctionCallBracketNode(ExpressionNode* base, ExpressionNode* subscript, ArgumentsNode* args) KJS_FAST_CALL 624 : m_base(base), m_subscript(subscript), m_args(args) { } 617 625 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 618 626 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 620 628 virtual Precedence precedence() const { return PrecCall; } 621 629 protected: 622 RefPtr<ExpressionNode> base;623 RefPtr<ExpressionNode> subscript;624 RefPtr<ArgumentsNode> args;630 RefPtr<ExpressionNode> m_base; 631 RefPtr<ExpressionNode> m_subscript; 632 RefPtr<ArgumentsNode> m_args; 625 633 }; 626 634 627 635 class FunctionCallDotNode : public ExpressionNode { 628 636 public: 629 FunctionCallDotNode(ExpressionNode* b, const Identifier& i, ArgumentsNode* a) KJS_FAST_CALL : base(b), ident(i), args(a) {} 637 FunctionCallDotNode(ExpressionNode* base, const Identifier& ident, ArgumentsNode* args) KJS_FAST_CALL 638 : m_base(base), m_ident(ident), m_args(args) { } 630 639 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 631 640 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 638 647 private: 639 648 ALWAYS_INLINE JSValue* inlineEvaluate(ExecState*); 640 RefPtr<ExpressionNode> base;641 Identifier ident;642 RefPtr<ArgumentsNode> args;649 RefPtr<ExpressionNode> m_base; 650 Identifier m_ident; 651 RefPtr<ArgumentsNode> m_args; 643 652 }; 644 653 … … 746 755 class PostfixBracketNode : public ExpressionNode { 747 756 public: 748 PostfixBracketNode(ExpressionNode* b, ExpressionNode* s) KJS_FAST_CALL : m_base(b), m_subscript(s) {} 757 PostfixBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 758 : m_base(base), m_subscript(subscript) { } 749 759 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 750 760 virtual Precedence precedence() const { return PrecPostfix; } … … 756 766 class PostIncBracketNode : public PostfixBracketNode { 757 767 public: 758 PostIncBracketNode(ExpressionNode* b, ExpressionNode* s) KJS_FAST_CALL : PostfixBracketNode(b, s) {} 768 PostIncBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 769 : PostfixBracketNode(base, subscript) { } 759 770 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 760 771 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 763 774 class PostDecBracketNode : public PostfixBracketNode { 764 775 public: 765 PostDecBracketNode(ExpressionNode* b, ExpressionNode* s) KJS_FAST_CALL : PostfixBracketNode(b, s) {} 776 PostDecBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 777 : PostfixBracketNode(base, subscript) { } 766 778 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 767 779 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 770 782 class PostfixDotNode : public ExpressionNode { 771 783 public: 772 PostfixDotNode(ExpressionNode* b, const Identifier& i) KJS_FAST_CALL : m_base(b), m_ident(i) {} 784 PostfixDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 785 : m_base(base), m_ident(ident) { } 773 786 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 774 787 virtual Precedence precedence() const { return PrecPostfix; } … … 780 793 class PostIncDotNode : public PostfixDotNode { 781 794 public: 782 PostIncDotNode(ExpressionNode* b, const Identifier& i) KJS_FAST_CALL : PostfixDotNode(b, i) {} 795 PostIncDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 796 : PostfixDotNode(base, ident) { } 783 797 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 784 798 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 787 801 class PostDecDotNode : public PostfixDotNode { 788 802 public: 789 PostDecDotNode(ExpressionNode* b, const Identifier& i) KJS_FAST_CALL : PostfixDotNode(b, i) {} 803 PostDecDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 804 : PostfixDotNode(base, ident) { } 790 805 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 791 806 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 794 809 class PostfixErrorNode : public ExpressionNode { 795 810 public: 796 PostfixErrorNode(ExpressionNode* e, Operator o) KJS_FAST_CALL : m_expr(e), m_oper(o) {} 811 PostfixErrorNode(ExpressionNode* expr, Operator oper) KJS_FAST_CALL 812 : m_expr(expr), m_oper(oper) { } 797 813 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 798 814 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 805 821 class DeleteResolveNode : public ExpressionNode { 806 822 public: 807 DeleteResolveNode(const Identifier& i) KJS_FAST_CALL : m_ident(i) {} 823 DeleteResolveNode(const Identifier& ident) KJS_FAST_CALL 824 : m_ident(ident) 825 { 826 } 808 827 DeleteResolveNode(PlacementNewAdoptType) KJS_FAST_CALL 809 828 : ExpressionNode(PlacementNewAdopt) … … 832 851 class DeleteBracketNode : public ExpressionNode { 833 852 public: 834 DeleteBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL : m_base(base), m_subscript(subscript) {} 853 DeleteBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 854 : m_base(base), m_subscript(subscript) { } 835 855 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 836 856 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 844 864 class DeleteDotNode : public ExpressionNode { 845 865 public: 846 DeleteDotNode(ExpressionNode* base, const Identifier& i) KJS_FAST_CALL : m_base(base), m_ident(i) {} 866 DeleteDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 867 : m_base(base), m_ident(ident) { } 847 868 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 848 869 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 856 877 class DeleteValueNode : public ExpressionNode { 857 878 public: 858 DeleteValueNode(ExpressionNode* e) KJS_FAST_CALL : m_expr(e) {} 879 DeleteValueNode(ExpressionNode* expr) KJS_FAST_CALL 880 : m_expr(expr) { } 859 881 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 860 882 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 867 889 class VoidNode : public ExpressionNode { 868 890 public: 869 VoidNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) {} 891 VoidNode(ExpressionNode* expr) KJS_FAST_CALL 892 : m_expr(expr) { } 870 893 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 871 894 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 873 896 virtual Precedence precedence() const { return PrecUnary; } 874 897 private: 875 RefPtr<ExpressionNode> expr;898 RefPtr<ExpressionNode> m_expr; 876 899 }; 877 900 878 901 class TypeOfResolveNode : public ExpressionNode { 879 902 public: 880 TypeOfResolveNode(const Identifier &s) KJS_FAST_CALL 881 : ExpressionNode(StringType), m_ident(s) {} 903 TypeOfResolveNode(const Identifier& ident) KJS_FAST_CALL 904 : ExpressionNode(StringType) 905 , m_ident(ident) 906 { 907 } 882 908 883 909 TypeOfResolveNode(PlacementNewAdoptType) KJS_FAST_CALL … … 927 953 class PreIncResolveNode : public PrePostResolveNode { 928 954 public: 929 PreIncResolveNode(const Identifier &s) KJS_FAST_CALL930 : PrePostResolveNode( s)955 PreIncResolveNode(const Identifier& ident) KJS_FAST_CALL 956 : PrePostResolveNode(ident) 931 957 { 932 958 } … … 969 995 class PreDecResolveNode : public PrePostResolveNode { 970 996 public: 971 PreDecResolveNode(const Identifier &s) KJS_FAST_CALL972 : PrePostResolveNode( s)997 PreDecResolveNode(const Identifier& ident) KJS_FAST_CALL 998 : PrePostResolveNode(ident) 973 999 { 974 1000 } … … 1011 1037 class PrefixBracketNode : public ExpressionNode { 1012 1038 public: 1013 PrefixBracketNode(ExpressionNode* b, ExpressionNode* s) KJS_FAST_CALL : m_base(b), m_subscript(s) {} 1014 1039 PrefixBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 1040 : m_base(base), m_subscript(subscript) { } 1041 1015 1042 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1016 1043 virtual Precedence precedence() const { return PrecUnary; } … … 1022 1049 class PreIncBracketNode : public PrefixBracketNode { 1023 1050 public: 1024 PreIncBracketNode(ExpressionNode* b, ExpressionNode* s) KJS_FAST_CALL : PrefixBracketNode(b, s) {} 1051 PreIncBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 1052 : PrefixBracketNode(base, subscript) { } 1025 1053 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1026 1054 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1029 1057 class PreDecBracketNode : public PrefixBracketNode { 1030 1058 public: 1031 PreDecBracketNode(ExpressionNode* b, ExpressionNode* s) KJS_FAST_CALL : PrefixBracketNode(b, s) {} 1059 PreDecBracketNode(ExpressionNode* base, ExpressionNode* subscript) KJS_FAST_CALL 1060 : PrefixBracketNode(base, subscript) { } 1032 1061 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1033 1062 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1036 1065 class PrefixDotNode : public ExpressionNode { 1037 1066 public: 1038 PrefixDotNode(ExpressionNode* b, const Identifier& i) KJS_FAST_CALL : m_base(b), m_ident(i) {} 1067 PrefixDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 1068 : m_base(base), m_ident(ident) { } 1039 1069 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1040 1070 virtual Precedence precedence() const { return PrecPostfix; } … … 1046 1076 class PreIncDotNode : public PrefixDotNode { 1047 1077 public: 1048 PreIncDotNode(ExpressionNode* b, const Identifier& i) KJS_FAST_CALL : PrefixDotNode(b, i) {} 1078 PreIncDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 1079 : PrefixDotNode(base, ident) { } 1049 1080 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1050 1081 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1053 1084 class PreDecDotNode : public PrefixDotNode { 1054 1085 public: 1055 PreDecDotNode(ExpressionNode* b, const Identifier& i) KJS_FAST_CALL : PrefixDotNode(b, i) {} 1086 PreDecDotNode(ExpressionNode* base, const Identifier& ident) KJS_FAST_CALL 1087 : PrefixDotNode(base, ident) { } 1056 1088 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1057 1089 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1060 1092 class PrefixErrorNode : public ExpressionNode { 1061 1093 public: 1062 PrefixErrorNode(ExpressionNode* e, Operator o) KJS_FAST_CALL : m_expr(e), m_oper(o) {} 1094 PrefixErrorNode(ExpressionNode* expr, Operator oper) KJS_FAST_CALL 1095 : m_expr(expr), m_oper(oper) { } 1063 1096 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1064 1097 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1071 1104 class UnaryPlusNode : public ExpressionNode { 1072 1105 public: 1073 UnaryPlusNode(ExpressionNode* e) KJS_FAST_CALL : ExpressionNode(NumberType), m_expr(e) {} 1106 UnaryPlusNode(ExpressionNode* expr) KJS_FAST_CALL 1107 : ExpressionNode(NumberType), m_expr(expr) { } 1074 1108 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1075 1109 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1086 1120 class NegateNode : public ExpressionNode { 1087 1121 public: 1088 NegateNode(ExpressionNode* e) KJS_FAST_CALL : ExpressionNode(NumberType), expr(e) {} 1122 NegateNode(ExpressionNode* expr) KJS_FAST_CALL 1123 : ExpressionNode(NumberType), m_expr(expr) { } 1089 1124 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1090 1125 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1093 1128 virtual Precedence precedence() const { return PrecUnary; } 1094 1129 private: 1095 RefPtr<ExpressionNode> expr;1130 RefPtr<ExpressionNode> m_expr; 1096 1131 }; 1097 1132 1098 1133 class BitwiseNotNode : public ExpressionNode { 1099 1134 public: 1100 BitwiseNotNode(ExpressionNode* e) KJS_FAST_CALL : ExpressionNode(NumberType), expr(e) {} 1135 BitwiseNotNode(ExpressionNode* expr) KJS_FAST_CALL 1136 : ExpressionNode(NumberType), m_expr(expr) { } 1101 1137 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1102 1138 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1109 1145 private: 1110 1146 ALWAYS_INLINE int32_t inlineEvaluateToInt32(ExecState*); 1111 RefPtr<ExpressionNode> expr;1147 RefPtr<ExpressionNode> m_expr; 1112 1148 }; 1113 1149 1114 1150 class LogicalNotNode : public ExpressionNode { 1115 1151 public: 1116 LogicalNotNode(ExpressionNode* e) KJS_FAST_CALL : ExpressionNode(BooleanType), expr(e) {} 1152 LogicalNotNode(ExpressionNode* expr) KJS_FAST_CALL 1153 : ExpressionNode(BooleanType), m_expr(expr) { } 1117 1154 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1118 1155 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1121 1158 virtual Precedence precedence() const { return PrecUnary; } 1122 1159 private: 1123 RefPtr<ExpressionNode> expr;1160 RefPtr<ExpressionNode> m_expr; 1124 1161 }; 1125 1162 1126 1163 class MultNode : public ExpressionNode { 1127 1164 public: 1128 MultNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : ExpressionNode(NumberType), term1(t1), term2(t2) {} 1165 MultNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1166 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1129 1167 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1130 1168 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1137 1175 private: 1138 1176 ALWAYS_INLINE double inlineEvaluateToNumber(ExecState*); 1139 RefPtr<ExpressionNode> term1;1140 RefPtr<ExpressionNode> term2;1177 RefPtr<ExpressionNode> m_term1; 1178 RefPtr<ExpressionNode> m_term2; 1141 1179 }; 1142 1180 1143 1181 class DivNode : public ExpressionNode { 1144 1182 public: 1145 DivNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : ExpressionNode(NumberType), term1(t1), term2(t2) {} 1183 DivNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1184 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1146 1185 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1147 1186 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1153 1192 private: 1154 1193 ALWAYS_INLINE double inlineEvaluateToNumber(ExecState*); 1155 RefPtr<ExpressionNode> term1;1156 RefPtr<ExpressionNode> term2;1194 RefPtr<ExpressionNode> m_term1; 1195 RefPtr<ExpressionNode> m_term2; 1157 1196 }; 1158 1197 1159 1198 class ModNode : public ExpressionNode { 1160 1199 public: 1161 ModNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : ExpressionNode(NumberType), term1(t1), term2(t2) {} 1200 ModNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1201 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1162 1202 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1163 1203 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1170 1210 private: 1171 1211 ALWAYS_INLINE double inlineEvaluateToNumber(ExecState*); 1172 RefPtr<ExpressionNode> term1;1173 RefPtr<ExpressionNode> term2;1212 RefPtr<ExpressionNode> m_term1; 1213 RefPtr<ExpressionNode> m_term2; 1174 1214 }; 1175 1215 1176 1216 class AddNode : public ExpressionNode { 1177 1217 public: 1178 AddNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : term1(t1), term2(t2) {} 1218 AddNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1219 : m_term1(term1), m_term2(term2) { } 1179 1220 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1180 1221 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1185 1226 virtual Precedence precedence() const { return PrecAdditive; } 1186 1227 protected: 1187 AddNode(ExpressionNode* t1, ExpressionNode* t2, JSType expectedReturn) KJS_FAST_CALL : ExpressionNode(expectedReturn), term1(t1), term2(t2) {} 1188 RefPtr<ExpressionNode> term1; 1189 RefPtr<ExpressionNode> term2; 1228 AddNode(ExpressionNode* term1, ExpressionNode* term2, JSType expectedReturn) KJS_FAST_CALL 1229 : ExpressionNode(expectedReturn), m_term1(term1), m_term2(term2) { } 1230 RefPtr<ExpressionNode> m_term1; 1231 RefPtr<ExpressionNode> m_term2; 1190 1232 private: 1191 1233 ALWAYS_INLINE double inlineEvaluateToNumber(ExecState*); … … 1194 1236 class AddNumbersNode : public AddNode { 1195 1237 public: 1196 AddNumbersNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : AddNode(t1, t2, NumberType) {} 1238 AddNumbersNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1239 : AddNode(term1, term2, NumberType) { } 1197 1240 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1198 1241 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; … … 1205 1248 class AddStringLeftNode : public AddNode { 1206 1249 public: 1207 AddStringLeftNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : AddNode(t1, t2, StringType) {} 1250 AddStringLeftNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1251 : AddNode(term1, term2, StringType) { } 1208 1252 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1209 1253 }; … … 1211 1255 class AddStringRightNode : public AddNode { 1212 1256 public: 1213 AddStringRightNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : AddNode(t1, t2, StringType) {} 1257 AddStringRightNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1258 : AddNode(term1, term2, StringType) { } 1214 1259 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1215 1260 }; … … 1217 1262 class AddStringsNode : public AddNode { 1218 1263 public: 1219 AddStringsNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : AddNode(t1, t2, StringType) {} 1264 AddStringsNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1265 : AddNode(term1, term2, StringType) { } 1220 1266 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1221 1267 }; … … 1223 1269 class SubNode : public ExpressionNode { 1224 1270 public: 1225 SubNode(ExpressionNode* t1, ExpressionNode* t2) KJS_FAST_CALL : ExpressionNode(NumberType), term1(t1), term2(t2) {} 1271 SubNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1272 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1226 1273 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1227 1274 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1233 1280 private: 1234 1281 ALWAYS_INLINE double inlineEvaluateToNumber(ExecState*); 1235 RefPtr<ExpressionNode> term1;1236 RefPtr<ExpressionNode> term2;1282 RefPtr<ExpressionNode> m_term1; 1283 RefPtr<ExpressionNode> m_term2; 1237 1284 }; 1238 1285 1239 1286 class LeftShiftNode : public ExpressionNode { 1240 1287 public: 1241 LeftShiftNode(ExpressionNode* t 1, ExpressionNode* t2) KJS_FAST_CALL1242 : ExpressionNode(NumberType), term1(t1), term2(t2) {}1288 LeftShiftNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1289 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1243 1290 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1244 1291 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1250 1297 private: 1251 1298 ALWAYS_INLINE int32_t inlineEvaluateToInt32(ExecState*); 1252 RefPtr<ExpressionNode> term1;1253 RefPtr<ExpressionNode> term2;1299 RefPtr<ExpressionNode> m_term1; 1300 RefPtr<ExpressionNode> m_term2; 1254 1301 }; 1255 1302 1256 1303 class RightShiftNode : public ExpressionNode { 1257 1304 public: 1258 RightShiftNode(ExpressionNode* t 1, ExpressionNode* t2) KJS_FAST_CALL1259 : ExpressionNode(NumberType), term1(t1), term2(t2) {}1305 RightShiftNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1306 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1260 1307 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1261 1308 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1267 1314 private: 1268 1315 ALWAYS_INLINE int32_t inlineEvaluateToInt32(ExecState*); 1269 RefPtr<ExpressionNode> term1;1270 RefPtr<ExpressionNode> term2;1316 RefPtr<ExpressionNode> m_term1; 1317 RefPtr<ExpressionNode> m_term2; 1271 1318 }; 1272 1319 1273 1320 class UnsignedRightShiftNode : public ExpressionNode { 1274 1321 public: 1275 UnsignedRightShiftNode(ExpressionNode* t 1, ExpressionNode* t2) KJS_FAST_CALL1276 : ExpressionNode(NumberType), term1(t1), term2(t2) {}1322 UnsignedRightShiftNode(ExpressionNode* term1, ExpressionNode* term2) KJS_FAST_CALL 1323 : ExpressionNode(NumberType), m_term1(term1), m_term2(term2) { } 1277 1324 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1278 1325 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1284 1331 private: 1285 1332 ALWAYS_INLINE uint32_t inlineEvaluateToUInt32(ExecState*); 1286 RefPtr<ExpressionNode> term1;1287 RefPtr<ExpressionNode> term2;1333 RefPtr<ExpressionNode> m_term1; 1334 RefPtr<ExpressionNode> m_term2; 1288 1335 }; 1289 1336 1290 1337 class LessNode : public ExpressionNode { 1291 1338 public: 1292 LessNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1293 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1339 LessNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1340 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) {} 1294 1341 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1295 1342 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1300 1347 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1301 1348 protected: 1302 RefPtr<ExpressionNode> expr1;1303 RefPtr<ExpressionNode> expr2;1349 RefPtr<ExpressionNode> m_expr1; 1350 RefPtr<ExpressionNode> m_expr2; 1304 1351 }; 1305 1352 1306 1353 class LessNumbersNode : public LessNode { 1307 1354 public: 1308 LessNumbersNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1309 : LessNode(e 1, e2) {}1355 LessNumbersNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1356 : LessNode(expr1, expr2) { } 1310 1357 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1311 1358 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; … … 1316 1363 class LessStringsNode : public LessNode { 1317 1364 public: 1318 LessStringsNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1319 : LessNode(e 1, e2) {}1365 LessStringsNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1366 : LessNode(expr1, expr2) { } 1320 1367 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1321 1368 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; … … 1327 1374 public: 1328 1375 GreaterNode(ExpressionNode* e1, ExpressionNode* e2) KJS_FAST_CALL : 1329 expr1(e1),expr2(e2) {}1376 m_expr1(e1), m_expr2(e2) {} 1330 1377 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1331 1378 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1335 1382 private: 1336 1383 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1337 RefPtr<ExpressionNode> expr1;1338 RefPtr<ExpressionNode> expr2;1384 RefPtr<ExpressionNode> m_expr1; 1385 RefPtr<ExpressionNode> m_expr2; 1339 1386 }; 1340 1387 1341 1388 class LessEqNode : public ExpressionNode { 1342 1389 public: 1343 LessEqNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL :1344 expr1(e1), expr2(e2) {}1390 LessEqNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1391 : m_expr1(expr1), m_expr2(expr2) { } 1345 1392 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1346 1393 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1350 1397 private: 1351 1398 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1352 RefPtr<ExpressionNode> expr1;1353 RefPtr<ExpressionNode> expr2;1399 RefPtr<ExpressionNode> m_expr1; 1400 RefPtr<ExpressionNode> m_expr2; 1354 1401 }; 1355 1402 1356 1403 class GreaterEqNode : public ExpressionNode { 1357 1404 public: 1358 GreaterEqNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL :1359 expr1(e1), expr2(e2) {}1405 GreaterEqNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1406 : m_expr1(expr1), m_expr2(expr2) { } 1360 1407 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1361 1408 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1365 1412 private: 1366 1413 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1367 RefPtr<ExpressionNode> expr1;1368 RefPtr<ExpressionNode> expr2;1414 RefPtr<ExpressionNode> m_expr1; 1415 RefPtr<ExpressionNode> m_expr2; 1369 1416 }; 1370 1417 1371 1418 class InstanceOfNode : public ExpressionNode { 1372 1419 public: 1373 InstanceOfNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1374 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1420 InstanceOfNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1421 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1375 1422 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1376 1423 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1379 1426 virtual Precedence precedence() const { return PrecRelational; } 1380 1427 private: 1381 RefPtr<ExpressionNode> expr1;1382 RefPtr<ExpressionNode> expr2;1428 RefPtr<ExpressionNode> m_expr1; 1429 RefPtr<ExpressionNode> m_expr2; 1383 1430 }; 1384 1431 1385 1432 class InNode : public ExpressionNode { 1386 1433 public: 1387 InNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL :1388 expr1(e1), expr2(e2) {}1434 InNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1435 : m_expr1(expr1), m_expr2(expr2) { } 1389 1436 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1390 1437 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1393 1440 virtual Precedence precedence() const { return PrecRelational; } 1394 1441 private: 1395 RefPtr<ExpressionNode> expr1;1396 RefPtr<ExpressionNode> expr2;1442 RefPtr<ExpressionNode> m_expr1; 1443 RefPtr<ExpressionNode> m_expr2; 1397 1444 }; 1398 1445 1399 1446 class EqualNode : public ExpressionNode { 1400 1447 public: 1401 EqualNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1402 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1448 EqualNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1449 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1403 1450 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1404 1451 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1408 1455 private: 1409 1456 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1410 RefPtr<ExpressionNode> expr1;1411 RefPtr<ExpressionNode> expr2;1457 RefPtr<ExpressionNode> m_expr1; 1458 RefPtr<ExpressionNode> m_expr2; 1412 1459 }; 1413 1460 1414 1461 class NotEqualNode : public ExpressionNode { 1415 1462 public: 1416 NotEqualNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1417 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1463 NotEqualNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1464 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1418 1465 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1419 1466 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1423 1470 private: 1424 1471 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1425 RefPtr<ExpressionNode> expr1;1426 RefPtr<ExpressionNode> expr2;1472 RefPtr<ExpressionNode> m_expr1; 1473 RefPtr<ExpressionNode> m_expr2; 1427 1474 }; 1428 1475 1429 1476 class StrictEqualNode : public ExpressionNode { 1430 1477 public: 1431 StrictEqualNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1432 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1478 StrictEqualNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1479 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1433 1480 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1434 1481 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1438 1485 private: 1439 1486 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1440 RefPtr<ExpressionNode> expr1;1441 RefPtr<ExpressionNode> expr2;1487 RefPtr<ExpressionNode> m_expr1; 1488 RefPtr<ExpressionNode> m_expr2; 1442 1489 }; 1443 1490 1444 1491 class NotStrictEqualNode : public ExpressionNode { 1445 1492 public: 1446 NotStrictEqualNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1447 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1493 NotStrictEqualNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1494 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1448 1495 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1449 1496 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1453 1500 private: 1454 1501 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1455 RefPtr<ExpressionNode> expr1;1456 RefPtr<ExpressionNode> expr2;1502 RefPtr<ExpressionNode> m_expr1; 1503 RefPtr<ExpressionNode> m_expr2; 1457 1504 }; 1458 1505 1459 1506 class BitAndNode : public ExpressionNode { 1460 1507 public: 1461 BitAndNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1462 : ExpressionNode(NumberType), expr1(e1), expr2(e2) {}1508 BitAndNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1509 : ExpressionNode(NumberType), m_expr1(expr1), m_expr2(expr2) { } 1463 1510 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1464 1511 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1471 1518 private: 1472 1519 ALWAYS_INLINE int32_t inlineEvaluateToInt32(ExecState*); 1473 RefPtr<ExpressionNode> expr1;1474 RefPtr<ExpressionNode> expr2;1520 RefPtr<ExpressionNode> m_expr1; 1521 RefPtr<ExpressionNode> m_expr2; 1475 1522 }; 1476 1523 1477 1524 class BitOrNode : public ExpressionNode { 1478 1525 public: 1479 BitOrNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1480 : ExpressionNode(NumberType), expr1(e1), expr2(e2) {}1526 BitOrNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1527 : ExpressionNode(NumberType), m_expr1(expr1), m_expr2(expr2) { } 1481 1528 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1482 1529 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1489 1536 private: 1490 1537 ALWAYS_INLINE int32_t inlineEvaluateToInt32(ExecState*); 1491 RefPtr<ExpressionNode> expr1;1492 RefPtr<ExpressionNode> expr2;1493 }; 1494 1495 1496 public: 1497 BitXOrNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1498 : ExpressionNode(NumberType), expr1(e1), expr2(e2) {}1538 RefPtr<ExpressionNode> m_expr1; 1539 RefPtr<ExpressionNode> m_expr2; 1540 }; 1541 1542 class BitXOrNode : public ExpressionNode { 1543 public: 1544 BitXOrNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1545 : ExpressionNode(NumberType), m_expr1(expr1), m_expr2(expr2) { } 1499 1546 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1500 1547 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1507 1554 private: 1508 1555 ALWAYS_INLINE int32_t inlineEvaluateToInt32(ExecState*); 1509 RefPtr<ExpressionNode> expr1;1510 RefPtr<ExpressionNode> expr2;1556 RefPtr<ExpressionNode> m_expr1; 1557 RefPtr<ExpressionNode> m_expr2; 1511 1558 }; 1512 1559 1513 1560 /** 1514 * expr1 && expr2, expr1 ||expr21561 * m_expr1 && m_expr2, m_expr1 || m_expr2 1515 1562 */ 1516 1563 class LogicalAndNode : public ExpressionNode { 1517 1564 public: 1518 LogicalAndNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1519 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1565 LogicalAndNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1566 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1520 1567 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1521 1568 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1525 1572 private: 1526 1573 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1527 RefPtr<ExpressionNode> expr1;1528 RefPtr<ExpressionNode> expr2;1574 RefPtr<ExpressionNode> m_expr1; 1575 RefPtr<ExpressionNode> m_expr2; 1529 1576 }; 1530 1577 1531 1578 class LogicalOrNode : public ExpressionNode { 1532 1579 public: 1533 LogicalOrNode(ExpressionNode* e 1, ExpressionNode* e2) KJS_FAST_CALL1534 : ExpressionNode(BooleanType), expr1(e1), expr2(e2) {}1580 LogicalOrNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1581 : ExpressionNode(BooleanType), m_expr1(expr1), m_expr2(expr2) { } 1535 1582 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1536 1583 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1540 1587 private: 1541 1588 ALWAYS_INLINE bool inlineEvaluateToBoolean(ExecState*); 1542 RefPtr<ExpressionNode> expr1;1543 RefPtr<ExpressionNode> expr2;1589 RefPtr<ExpressionNode> m_expr1; 1590 RefPtr<ExpressionNode> m_expr2; 1544 1591 }; 1545 1592 1546 1593 /** 1547 * The ternary operator, " logical ? expr1 :expr2"1594 * The ternary operator, "m_logical ? m_expr1 : m_expr2" 1548 1595 */ 1549 1550 public: 1551 ConditionalNode(ExpressionNode* l, ExpressionNode* e1, ExpressionNode* e2) KJS_FAST_CALL :1552 logical(l), expr1(e1), expr2(e2) {}1596 class ConditionalNode : public ExpressionNode { 1597 public: 1598 ConditionalNode(ExpressionNode* logical, ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1599 : m_logical(logical), m_expr1(expr1), m_expr2(expr2) { } 1553 1600 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1554 1601 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1560 1607 virtual Precedence precedence() const { return PrecConditional; } 1561 1608 private: 1562 RefPtr<ExpressionNode> logical;1563 RefPtr<ExpressionNode> expr1;1564 RefPtr<ExpressionNode> expr2;1565 }; 1566 1567 1568 public: 1569 ReadModifyResolveNode(const Identifier &ident, Operator oper, ExpressionNode* right) KJS_FAST_CALL1609 RefPtr<ExpressionNode> m_logical; 1610 RefPtr<ExpressionNode> m_expr1; 1611 RefPtr<ExpressionNode> m_expr2; 1612 }; 1613 1614 class ReadModifyResolveNode : public ExpressionNode { 1615 public: 1616 ReadModifyResolveNode(const Identifier& ident, Operator oper, ExpressionNode* right) KJS_FAST_CALL 1570 1617 : m_ident(ident) 1571 1618 , m_oper(oper) 1572 1619 , m_right(right) 1573 1574 1620 { 1621 } 1575 1622 1576 1623 ReadModifyResolveNode(PlacementNewAdoptType) KJS_FAST_CALL … … 1615 1662 }; 1616 1663 1617 1618 public: 1619 AssignResolveNode(const Identifier &ident, ExpressionNode*right) KJS_FAST_CALL1664 class AssignResolveNode : public ExpressionNode { 1665 public: 1666 AssignResolveNode(const Identifier& ident, ExpressionNode* right) KJS_FAST_CALL 1620 1667 : m_ident(ident) 1621 1668 , m_right(right) … … 1661 1708 }; 1662 1709 1663 1664 public: 1665 ReadModifyBracketNode(ExpressionNode* base, ExpressionNode* subscript, Operator oper, ExpressionNode*right) KJS_FAST_CALL1666 : m_base(base), m_subscript(subscript), m_oper(oper), m_right(right) { }1710 class ReadModifyBracketNode : public ExpressionNode { 1711 public: 1712 ReadModifyBracketNode(ExpressionNode* base, ExpressionNode* subscript, Operator oper, ExpressionNode* right) KJS_FAST_CALL 1713 : m_base(base), m_subscript(subscript), m_oper(oper), m_right(right) { } 1667 1714 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1668 1715 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1676 1723 }; 1677 1724 1678 1679 public: 1680 AssignBracketNode(ExpressionNode* base, ExpressionNode* subscript, ExpressionNode*right) KJS_FAST_CALL1681 : m_base(base), m_subscript(subscript), m_right(right) { }1725 class AssignBracketNode : public ExpressionNode { 1726 public: 1727 AssignBracketNode(ExpressionNode* base, ExpressionNode* subscript, ExpressionNode* right) KJS_FAST_CALL 1728 : m_base(base), m_subscript(subscript), m_right(right) { } 1682 1729 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1683 1730 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1690 1737 }; 1691 1738 1692 1693 public: 1694 AssignDotNode(ExpressionNode* base, const Identifier& ident, ExpressionNode*right) KJS_FAST_CALL1695 : m_base(base), m_ident(ident), m_right(right) { }1739 class AssignDotNode : public ExpressionNode { 1740 public: 1741 AssignDotNode(ExpressionNode* base, const Identifier& ident, ExpressionNode* right) KJS_FAST_CALL 1742 : m_base(base), m_ident(ident), m_right(right) { } 1696 1743 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1697 1744 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1704 1751 }; 1705 1752 1706 1707 public: 1708 ReadModifyDotNode(ExpressionNode* base, const Identifier& ident, Operator oper, ExpressionNode*right) KJS_FAST_CALL1709 : m_base(base), m_ident(ident), m_oper(oper), m_right(right) { }1753 class ReadModifyDotNode : public ExpressionNode { 1754 public: 1755 ReadModifyDotNode(ExpressionNode* base, const Identifier& ident, Operator oper, ExpressionNode* right) KJS_FAST_CALL 1756 : m_base(base), m_ident(ident), m_oper(oper), m_right(right) { } 1710 1757 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1711 1758 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1719 1766 }; 1720 1767 1721 1768 class AssignErrorNode : public ExpressionNode { 1722 1769 public: 1723 1770 AssignErrorNode(ExpressionNode* left, Operator oper, ExpressionNode* right) KJS_FAST_CALL 1724 : m_left(left), m_oper(oper), m_right(right) { }1771 : m_left(left), m_oper(oper), m_right(right) { } 1725 1772 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1726 1773 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 1732 1779 }; 1733 1780 1734 class CommaNode : public ExpressionNode { 1735 public: 1736 CommaNode(ExpressionNode* e1, ExpressionNode* e2) KJS_FAST_CALL : expr1(e1), expr2(e2) 1737 { 1738 e1->optimizeForUnnecessaryResult(); 1781 class CommaNode : public ExpressionNode { 1782 public: 1783 CommaNode(ExpressionNode* expr1, ExpressionNode* expr2) KJS_FAST_CALL 1784 : m_expr1(expr1) 1785 , m_expr2(expr2) 1786 { 1787 m_expr1->optimizeForUnnecessaryResult(); 1739 1788 } 1740 1789 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; … … 1743 1792 virtual Precedence precedence() const { return PrecExpression; } 1744 1793 private: 1745 RefPtr<ExpressionNode> expr1;1746 RefPtr<ExpressionNode> expr2;1794 RefPtr<ExpressionNode> m_expr1; 1795 RefPtr<ExpressionNode> m_expr2; 1747 1796 }; 1748 1797 1749 1798 class ConstDeclNode : public ExpressionNode { 1750 1799 public: 1751 ConstDeclNode(const Identifier& id , ExpressionNode* in) KJS_FAST_CALL;1800 ConstDeclNode(const Identifier& ident, ExpressionNode* in) KJS_FAST_CALL; 1752 1801 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1753 1802 virtual KJS::JSValue* evaluate(ExecState*) KJS_FAST_CALL; … … 1755 1804 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1756 1805 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 1757 PassRefPtr<ConstDeclNode> releaseNext() KJS_FAST_CALL { return next.release(); }1758 1759 Identifier ident;1760 ListRefPtr<ConstDeclNode> next;1761 RefPtr<ExpressionNode> init;1806 PassRefPtr<ConstDeclNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 1807 1808 Identifier m_ident; 1809 ListRefPtr<ConstDeclNode> m_next; 1810 RefPtr<ExpressionNode> m_init; 1762 1811 private: 1763 1812 void handleSlowCase(ExecState*, const ScopeChain&, JSValue*) KJS_FAST_CALL NEVER_INLINE; … … 1766 1815 class ConstStatementNode : public StatementNode { 1767 1816 public: 1768 ConstStatementNode(ConstDeclNode* l) KJS_FAST_CALL : next(l) { } 1817 ConstStatementNode(ConstDeclNode* next) KJS_FAST_CALL 1818 : m_next(next) { } 1769 1819 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1770 1820 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1771 1821 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1772 1822 private: 1773 RefPtr<ConstDeclNode> next;1823 RefPtr<ConstDeclNode> m_next; 1774 1824 }; 1775 1825 … … 1808 1858 class ExprStatementNode : public StatementNode { 1809 1859 public: 1810 ExprStatementNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) { } 1860 ExprStatementNode(ExpressionNode* expr) KJS_FAST_CALL 1861 : m_expr(expr) { } 1811 1862 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1812 1863 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1813 1864 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1814 1865 private: 1815 RefPtr<ExpressionNode> expr;1866 RefPtr<ExpressionNode> m_expr; 1816 1867 }; 1817 1868 1818 1869 class VarStatementNode : public StatementNode { 1819 1870 public: 1820 VarStatementNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) { }1871 VarStatementNode(ExpressionNode* e) KJS_FAST_CALL : m_expr(e) { } 1821 1872 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1822 1873 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1823 1874 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1824 1875 private: 1825 RefPtr<ExpressionNode> expr;1876 RefPtr<ExpressionNode> m_expr; 1826 1877 }; 1827 1878 1828 1879 class IfNode : public StatementNode { 1829 1880 public: 1830 IfNode(ExpressionNode* e, StatementNode *s) KJS_FAST_CALL1831 : m_condition( e), m_ifBlock(s) { }1881 IfNode(ExpressionNode* condition, StatementNode* ifBlock) KJS_FAST_CALL 1882 : m_condition(condition), m_ifBlock(ifBlock) { } 1832 1883 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1833 1884 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; … … 1840 1891 class IfElseNode : public IfNode { 1841 1892 public: 1842 IfElseNode(ExpressionNode* e, StatementNode* ifBlock, StatementNode* elseBlock) KJS_FAST_CALL1843 : IfNode( e, ifBlock), m_elseBlock(elseBlock) { }1893 IfElseNode(ExpressionNode* condtion, StatementNode* ifBlock, StatementNode* elseBlock) KJS_FAST_CALL 1894 : IfNode(condtion, ifBlock), m_elseBlock(elseBlock) { } 1844 1895 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1845 1896 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; … … 1851 1902 class DoWhileNode : public StatementNode { 1852 1903 public: 1853 DoWhileNode(StatementNode *s, ExpressionNode* e) KJS_FAST_CALL : statement(s), expr(e) { } 1904 DoWhileNode(StatementNode* statement, ExpressionNode* expr) KJS_FAST_CALL 1905 : m_statement(statement), m_expr(expr) { } 1854 1906 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1855 1907 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1856 1908 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1857 1909 private: 1858 RefPtr<StatementNode> statement;1859 RefPtr<ExpressionNode> expr;1910 RefPtr<StatementNode> m_statement; 1911 RefPtr<ExpressionNode> m_expr; 1860 1912 }; 1861 1913 1862 1914 class WhileNode : public StatementNode { 1863 1915 public: 1864 WhileNode(ExpressionNode* e, StatementNode *s) KJS_FAST_CALL : expr(e), statement(s) { } 1916 WhileNode(ExpressionNode* expr, StatementNode* statement) KJS_FAST_CALL 1917 : m_expr(expr), m_statement(statement) { } 1865 1918 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1866 1919 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1867 1920 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1868 1921 private: 1869 RefPtr<ExpressionNode> expr;1870 RefPtr<StatementNode> statement;1922 RefPtr<ExpressionNode> m_expr; 1923 RefPtr<StatementNode> m_statement; 1871 1924 }; 1872 1925 1873 1926 class ForNode : public StatementNode { 1874 1927 public: 1875 ForNode(ExpressionNode* e 1, ExpressionNode* e2, ExpressionNode* e3, StatementNode* s, bool e1WasVarDecl) KJS_FAST_CALL1876 : expr1(e1 ? e1 : new PlaceholderTrueNode)1877 , expr2(e2 ? e2 : new PlaceholderTrueNode)1878 , expr3(e3 ? e3 : new PlaceholderTrueNode)1879 , statement(s)1880 , expr1WasVarDecl(e1 && e1WasVarDecl)1881 { 1882 ASSERT( expr1);1883 ASSERT( expr2);1884 ASSERT( expr3);1928 ForNode(ExpressionNode* expr1, ExpressionNode* expr2, ExpressionNode* expr3, StatementNode* statement, bool expr1WasVarDecl) KJS_FAST_CALL 1929 : m_expr1(expr1 ? expr1 : new PlaceholderTrueNode) 1930 , m_expr2(expr2 ? expr2 : new PlaceholderTrueNode) 1931 , m_expr3(expr3 ? expr3 : new PlaceholderTrueNode) 1932 , m_statement(statement) 1933 , m_expr1WasVarDecl(expr1 && expr1WasVarDecl) 1934 { 1935 ASSERT(m_expr1); 1936 ASSERT(m_expr2); 1937 ASSERT(m_expr3); 1885 1938 ASSERT(statement); 1886 1939 1887 expr1->optimizeForUnnecessaryResult();1888 expr3->optimizeForUnnecessaryResult();1940 m_expr1->optimizeForUnnecessaryResult(); 1941 m_expr3->optimizeForUnnecessaryResult(); 1889 1942 } 1890 1943 … … 1893 1946 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1894 1947 private: 1895 RefPtr<ExpressionNode> expr1;1896 RefPtr<ExpressionNode> expr2;1897 RefPtr<ExpressionNode> expr3;1898 RefPtr<StatementNode> statement;1899 bool expr1WasVarDecl;1948 RefPtr<ExpressionNode> m_expr1; 1949 RefPtr<ExpressionNode> m_expr2; 1950 RefPtr<ExpressionNode> m_expr3; 1951 RefPtr<StatementNode> m_statement; 1952 bool m_expr1WasVarDecl; 1900 1953 }; 1901 1954 1902 1955 class ForInNode : public StatementNode { 1903 1956 public: 1904 ForInNode(ExpressionNode* l, ExpressionNode* e, StatementNode *s) KJS_FAST_CALL;1905 ForInNode(const Identifier &i, ExpressionNode *in, ExpressionNode* e, StatementNode *s) KJS_FAST_CALL;1957 ForInNode(ExpressionNode*, ExpressionNode*, StatementNode*) KJS_FAST_CALL; 1958 ForInNode(const Identifier&, ExpressionNode*, ExpressionNode*, StatementNode*) KJS_FAST_CALL; 1906 1959 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1907 1960 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1908 1961 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1909 1962 private: 1910 Identifier ident;1911 RefPtr<ExpressionNode> init;1912 RefPtr<ExpressionNode> lexpr;1913 RefPtr<ExpressionNode> expr;1914 RefPtr<StatementNode> statement;1915 bool identIsVarDecl;1963 Identifier m_ident; 1964 RefPtr<ExpressionNode> m_init; 1965 RefPtr<ExpressionNode> m_lexpr; 1966 RefPtr<ExpressionNode> m_expr; 1967 RefPtr<StatementNode> m_statement; 1968 bool m_identIsVarDecl; 1916 1969 }; 1917 1970 … … 1919 1972 public: 1920 1973 ContinueNode() KJS_FAST_CALL { } 1921 ContinueNode(const Identifier &i) KJS_FAST_CALL : ident(i) { } 1974 ContinueNode(const Identifier& ident) KJS_FAST_CALL 1975 : m_ident(ident) { } 1922 1976 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1923 1977 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1924 1978 private: 1925 Identifier ident;1979 Identifier m_ident; 1926 1980 }; 1927 1981 … … 1929 1983 public: 1930 1984 BreakNode() KJS_FAST_CALL { } 1931 BreakNode(const Identifier &i) KJS_FAST_CALL : ident(i) { } 1985 BreakNode(const Identifier& ident) KJS_FAST_CALL 1986 : m_ident(ident) { } 1932 1987 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1933 1988 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1934 1989 private: 1935 Identifier ident;1990 Identifier m_ident; 1936 1991 }; 1937 1992 1938 1993 class ReturnNode : public StatementNode { 1939 1994 public: 1940 ReturnNode(ExpressionNode* v) KJS_FAST_CALL : value(v) {} 1995 ReturnNode(ExpressionNode* value) KJS_FAST_CALL 1996 : m_value(value) { } 1941 1997 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1942 1998 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1943 1999 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1944 2000 private: 1945 RefPtr<ExpressionNode> value;2001 RefPtr<ExpressionNode> m_value; 1946 2002 }; 1947 2003 1948 2004 class WithNode : public StatementNode { 1949 2005 public: 1950 WithNode(ExpressionNode* e, StatementNode* s) KJS_FAST_CALL : expr(e), statement(s) { } 2006 WithNode(ExpressionNode* expr, StatementNode* statement) KJS_FAST_CALL 2007 : m_expr(expr), m_statement(statement) { } 1951 2008 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1952 2009 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1953 2010 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1954 2011 private: 1955 RefPtr<ExpressionNode> expr;1956 RefPtr<StatementNode> statement;2012 RefPtr<ExpressionNode> m_expr; 2013 RefPtr<StatementNode> m_statement; 1957 2014 }; 1958 2015 1959 2016 class LabelNode : public StatementNode { 1960 2017 public: 1961 LabelNode(const Identifier &l, StatementNode *s) KJS_FAST_CALL : label(l), statement(s) { } 2018 LabelNode(const Identifier& label, StatementNode* statement) KJS_FAST_CALL 2019 : m_label(label), m_statement(statement) { } 1962 2020 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1963 2021 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1964 2022 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1965 2023 private: 1966 Identifier label;1967 RefPtr<StatementNode> statement;2024 Identifier m_label; 2025 RefPtr<StatementNode> m_statement; 1968 2026 }; 1969 2027 1970 2028 class ThrowNode : public StatementNode { 1971 2029 public: 1972 ThrowNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) {} 2030 ThrowNode(ExpressionNode* expr) KJS_FAST_CALL 2031 : m_expr(expr) { } 1973 2032 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1974 2033 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1975 2034 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1976 2035 private: 1977 RefPtr<ExpressionNode> expr;2036 RefPtr<ExpressionNode> m_expr; 1978 2037 }; 1979 2038 1980 2039 class TryNode : public StatementNode { 1981 2040 public: 1982 TryNode(StatementNode *b, const Identifier &e, StatementNode *c, StatementNode *f) KJS_FAST_CALL1983 : tryBlock(b), exceptionIdent(e), catchBlock(c), finallyBlock(f) { }2041 TryNode(StatementNode* tryBlock, const Identifier& exceptionIdent, StatementNode* catchBlock, StatementNode* finallyBlock) KJS_FAST_CALL 2042 : m_tryBlock(tryBlock), m_exceptionIdent(exceptionIdent), m_catchBlock(catchBlock), m_finallyBlock(finallyBlock) { } 1984 2043 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1985 2044 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 1986 2045 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1987 2046 private: 1988 RefPtr<StatementNode> tryBlock; 1989 Identifier exceptionIdent; 1990 RefPtr<StatementNode> catchBlock; 1991 RefPtr<StatementNode> finallyBlock; 1992 }; 1993 1994 class ParameterNode : public Node { 1995 public: 1996 ParameterNode(const Identifier& i) KJS_FAST_CALL : id(i) { } 1997 ParameterNode(ParameterNode* l, const Identifier& i) KJS_FAST_CALL 1998 : id(i) { l->next = this; } 1999 Identifier ident() KJS_FAST_CALL { return id; } 2000 ParameterNode *nextParam() KJS_FAST_CALL { return next.get(); } 2001 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2002 PassRefPtr<ParameterNode> releaseNext() KJS_FAST_CALL { return next.release(); } 2047 RefPtr<StatementNode> m_tryBlock; 2048 Identifier m_exceptionIdent; 2049 RefPtr<StatementNode> m_catchBlock; 2050 RefPtr<StatementNode> m_finallyBlock; 2051 }; 2052 2053 class ParameterNode : public Node { 2054 public: 2055 ParameterNode(const Identifier& ident) KJS_FAST_CALL 2056 : m_ident(ident) { } 2057 ParameterNode(ParameterNode* l, const Identifier& ident) KJS_FAST_CALL 2058 : m_ident(ident) { l->m_next = this; } 2059 Identifier ident() KJS_FAST_CALL { return m_ident; } 2060 ParameterNode *nextParam() KJS_FAST_CALL { return m_next.get(); } 2061 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2062 PassRefPtr<ParameterNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 2003 2063 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 2004 2064 private: 2005 2065 friend class FuncDeclNode; 2006 2066 friend class FuncExprNode; 2007 Identifier id;2008 ListRefPtr<ParameterNode> next;2067 Identifier m_ident; 2068 ListRefPtr<ParameterNode> m_next; 2009 2069 }; 2010 2070 … … 2077 2137 class FuncExprNode : public ExpressionNode { 2078 2138 public: 2079 FuncExprNode(const Identifier& i , FunctionBodyNode* b, ParameterNode* p= 0) KJS_FAST_CALL2080 : ident(i), param(p), body(b) { addParams(); }2139 FuncExprNode(const Identifier& ident, FunctionBodyNode* body, ParameterNode* parameter = 0) KJS_FAST_CALL 2140 : m_ident(ident), m_parameter(parameter), m_body(body) { addParams(); } 2081 2141 virtual JSValue *evaluate(ExecState*) KJS_FAST_CALL; 2082 2142 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 2087 2147 // Used for streamTo 2088 2148 friend class PropertyNode; 2089 Identifier ident;2090 RefPtr<ParameterNode> param;2091 RefPtr<FunctionBodyNode> body;2149 Identifier m_ident; 2150 RefPtr<ParameterNode> m_parameter; 2151 RefPtr<FunctionBodyNode> m_body; 2092 2152 }; 2093 2153 2094 2154 class FuncDeclNode : public StatementNode { 2095 2155 public: 2096 FuncDeclNode(const Identifier& i , FunctionBodyNode* b) KJS_FAST_CALL2097 : ident(i), body(b) { addParams(); }2098 FuncDeclNode(const Identifier& i , ParameterNode* p, FunctionBodyNode* b) KJS_FAST_CALL2099 : ident(i), param(p), body(b) { addParams(); }2156 FuncDeclNode(const Identifier& ident, FunctionBodyNode* body) KJS_FAST_CALL 2157 : m_ident(ident), m_body(body) { addParams(); } 2158 FuncDeclNode(const Identifier& ident, ParameterNode* parameter, FunctionBodyNode* body) KJS_FAST_CALL 2159 : m_ident(ident), m_parameter(parameter), m_body(body) { addParams(); } 2100 2160 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2101 2161 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2102 2162 ALWAYS_INLINE FunctionImp* makeFunction(ExecState*) KJS_FAST_CALL; 2103 Identifier ident;2163 Identifier m_ident; 2104 2164 private: 2105 2165 void addParams() KJS_FAST_CALL; 2106 RefPtr<ParameterNode> param; 2107 RefPtr<FunctionBodyNode> body; 2108 }; 2109 2110 class CaseClauseNode : public Node { 2111 public: 2112 CaseClauseNode(ExpressionNode* e) KJS_FAST_CALL : expr(e) { } 2166 RefPtr<ParameterNode> m_parameter; 2167 RefPtr<FunctionBodyNode> m_body; 2168 }; 2169 2170 class CaseClauseNode : public Node { 2171 public: 2172 CaseClauseNode(ExpressionNode* e) KJS_FAST_CALL 2173 : m_expr(e) { } 2113 2174 CaseClauseNode(ExpressionNode* e, SourceElements* children) KJS_FAST_CALL 2114 :expr(e) { if (children) children->releaseContentsIntoVector(m_children); }2175 : m_expr(e) { if (children) children->releaseContentsIntoVector(m_children); } 2115 2176 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2116 2177 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 2121 2182 2122 2183 private: 2123 RefPtr<ExpressionNode> expr;2184 RefPtr<ExpressionNode> m_expr; 2124 2185 StatementVector m_children; 2125 2186 }; 2126 2187 2127 class ClauseListNode : public Node { 2128 public: 2129 ClauseListNode(CaseClauseNode* c) KJS_FAST_CALL : clause(c) { } 2130 ClauseListNode(ClauseListNode* n, CaseClauseNode* c) KJS_FAST_CALL 2131 : clause(c) { n->next = this; } 2188 class ClauseListNode : public Node { 2189 public: 2190 ClauseListNode(CaseClauseNode* clause) KJS_FAST_CALL 2191 : m_clause(clause) { } 2192 ClauseListNode(ClauseListNode* clauseList, CaseClauseNode* clause) KJS_FAST_CALL 2193 : m_clause(clause) { clauseList->m_next = this; } 2132 2194 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2133 CaseClauseNode* getClause() const KJS_FAST_CALL { return clause.get(); }2134 ClauseListNode* getNext() const KJS_FAST_CALL { return next.get(); }2195 CaseClauseNode* getClause() const KJS_FAST_CALL { return m_clause.get(); } 2196 ClauseListNode* getNext() const KJS_FAST_CALL { return m_next.get(); } 2135 2197 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2136 PassRefPtr<ClauseListNode> releaseNext() KJS_FAST_CALL { return next.release(); }2198 PassRefPtr<ClauseListNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 2137 2199 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 2138 2200 private: 2139 2201 friend class CaseBlockNode; 2140 RefPtr<CaseClauseNode> clause;2141 ListRefPtr<ClauseListNode> next;2202 RefPtr<CaseClauseNode> m_clause; 2203 ListRefPtr<ClauseListNode> m_next; 2142 2204 }; 2143 2205 2144 2145 public: 2146 CaseBlockNode(ClauseListNode* l 1, CaseClauseNode* d, ClauseListNode* l2) KJS_FAST_CALL;2206 class CaseBlockNode : public Node { 2207 public: 2208 CaseBlockNode(ClauseListNode* list1, CaseClauseNode* defaultClause, ClauseListNode* list2) KJS_FAST_CALL; 2147 2209 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2148 2210 JSValue* executeBlock(ExecState*, JSValue *input) KJS_FAST_CALL; … … 2150 2212 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 2151 2213 private: 2152 RefPtr<ClauseListNode> list1;2153 RefPtr<CaseClauseNode> def;2154 RefPtr<ClauseListNode> list2;2214 RefPtr<ClauseListNode> m_list1; 2215 RefPtr<CaseClauseNode> m_defaultClause; 2216 RefPtr<ClauseListNode> m_list2; 2155 2217 }; 2156 2218 2157 2219 class SwitchNode : public StatementNode { 2158 2220 public: 2159 SwitchNode(ExpressionNode* e, CaseBlockNode *b) KJS_FAST_CALL : expr(e), block(b) { } 2221 SwitchNode(ExpressionNode* expr, CaseBlockNode* block) KJS_FAST_CALL 2222 : m_expr(expr), m_block(block) { } 2160 2223 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2161 2224 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2162 2225 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2163 2226 private: 2164 RefPtr<ExpressionNode> expr;2165 RefPtr<CaseBlockNode> block;2227 RefPtr<ExpressionNode> m_expr; 2228 RefPtr<CaseBlockNode> m_block; 2166 2229 }; 2167 2230 … … 2206 2269 }; 2207 2270 2208 } // namespace 2209 2210 #endif 2271 } // namespace KJS 2272 2273 #endif // NODES_H_
Note:
See TracChangeset
for help on using the changeset viewer.