OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
670 #undef INLINE_FUNCTION_GENERATOR_DECLARATION | 670 #undef INLINE_FUNCTION_GENERATOR_DECLARATION |
671 | 671 |
672 void Bailout(const char* reason); | 672 void Bailout(const char* reason); |
673 | 673 |
674 void PreProcessOsrEntry(IterationStatement* statement); | 674 void PreProcessOsrEntry(IterationStatement* statement); |
675 | 675 |
676 HBasicBlock* CreateJoin(HBasicBlock* first, | 676 HBasicBlock* CreateJoin(HBasicBlock* first, |
677 HBasicBlock* second, | 677 HBasicBlock* second, |
678 int join_id); | 678 int join_id); |
679 HBasicBlock* CreateWhile(IterationStatement* statement, | 679 HBasicBlock* CreateWhile(IterationStatement* statement, |
680 HBasicBlock* condition_entry, | 680 HBasicBlock* loop_entry, |
681 HBasicBlock* exit_block, | 681 HBasicBlock* cond_false, |
682 HBasicBlock* body_exit, | 682 HBasicBlock* body_exit, |
683 HBasicBlock* break_block, | 683 HBasicBlock* break_block); |
684 HBasicBlock* loop_entry, | |
685 HBasicBlock* loop_exit); | |
686 HBasicBlock* CreateDoWhile(IterationStatement* statement, | 684 HBasicBlock* CreateDoWhile(IterationStatement* statement, |
687 HBasicBlock* body_entry, | 685 HBasicBlock* body_entry, |
688 HBasicBlock* go_back, | 686 HBasicBlock* go_back, |
689 HBasicBlock* exit_block, | 687 HBasicBlock* exit_block, |
690 HBasicBlock* break_block); | 688 HBasicBlock* break_block); |
691 HBasicBlock* CreateEndless(IterationStatement* statement, | 689 HBasicBlock* CreateEndless(IterationStatement* statement, |
692 HBasicBlock* body_entry, | 690 HBasicBlock* body_entry, |
693 HBasicBlock* body_exit, | 691 HBasicBlock* body_exit, |
694 HBasicBlock* break_block); | 692 HBasicBlock* break_block); |
695 HBasicBlock* CreatePeeledWhile(IterationStatement* stmt, | |
696 HBasicBlock* condition_entry, | |
697 HBasicBlock* exit_block, | |
698 HBasicBlock* body_exit, | |
699 HBasicBlock* break_block); | |
700 HBasicBlock* JoinContinue(IterationStatement* statement, | 693 HBasicBlock* JoinContinue(IterationStatement* statement, |
701 HBasicBlock* exit_block, | 694 HBasicBlock* exit_block, |
702 HBasicBlock* continue_block); | 695 HBasicBlock* continue_block); |
703 | 696 |
704 | 697 |
705 void AddToSubgraph(HSubgraph* graph, ZoneList<Statement*>* stmts); | 698 void AddToSubgraph(HSubgraph* graph, ZoneList<Statement*>* stmts); |
706 void AddToSubgraph(HSubgraph* graph, Statement* stmt); | 699 void AddToSubgraph(HSubgraph* graph, Statement* stmt); |
707 void AddToSubgraph(HSubgraph* graph, Expression* expr); | 700 void AddToSubgraph(HSubgraph* graph, Expression* expr); |
708 | 701 |
709 HValue* Top() const { return environment()->Top(); } | 702 HValue* Top() const { return environment()->Top(); } |
(...skipping 29 matching lines...) Expand all Loading... |
739 virtual void VisitStatements(ZoneList<Statement*>* statements); | 732 virtual void VisitStatements(ZoneList<Statement*>* statements); |
740 | 733 |
741 #define DECLARE_VISIT(type) virtual void Visit##type(type* node); | 734 #define DECLARE_VISIT(type) virtual void Visit##type(type* node); |
742 AST_NODE_LIST(DECLARE_VISIT) | 735 AST_NODE_LIST(DECLARE_VISIT) |
743 #undef DECLARE_VISIT | 736 #undef DECLARE_VISIT |
744 | 737 |
745 HBasicBlock* CreateBasicBlock(HEnvironment* env); | 738 HBasicBlock* CreateBasicBlock(HEnvironment* env); |
746 HSubgraph* CreateEmptySubgraph(); | 739 HSubgraph* CreateEmptySubgraph(); |
747 HSubgraph* CreateGotoSubgraph(HEnvironment* env); | 740 HSubgraph* CreateGotoSubgraph(HEnvironment* env); |
748 HSubgraph* CreateBranchSubgraph(HEnvironment* env); | 741 HSubgraph* CreateBranchSubgraph(HEnvironment* env); |
749 HSubgraph* CreateLoopHeaderSubgraph(HEnvironment* env); | 742 HBasicBlock* CreateLoopHeader(); |
750 HSubgraph* CreateInlinedSubgraph(HEnvironment* outer, | 743 HSubgraph* CreateInlinedSubgraph(HEnvironment* outer, |
751 Handle<JSFunction> target, | 744 Handle<JSFunction> target, |
752 FunctionLiteral* function); | 745 FunctionLiteral* function); |
753 | 746 |
754 // Helpers for flow graph construction. | 747 // Helpers for flow graph construction. |
755 void LookupGlobalPropertyCell(Variable* var, | 748 void LookupGlobalPropertyCell(Variable* var, |
756 LookupResult* lookup, | 749 LookupResult* lookup, |
757 bool is_store); | 750 bool is_store); |
758 | 751 |
759 bool TryArgumentsAccess(Property* expr); | 752 bool TryArgumentsAccess(Property* expr); |
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1089 const char* filename_; | 1082 const char* filename_; |
1090 HeapStringAllocator string_allocator_; | 1083 HeapStringAllocator string_allocator_; |
1091 StringStream trace_; | 1084 StringStream trace_; |
1092 int indent_; | 1085 int indent_; |
1093 }; | 1086 }; |
1094 | 1087 |
1095 | 1088 |
1096 } } // namespace v8::internal | 1089 } } // namespace v8::internal |
1097 | 1090 |
1098 #endif // V8_HYDROGEN_H_ | 1091 #endif // V8_HYDROGEN_H_ |
OLD | NEW |