OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 762 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
773 void Bailout(const char* reason); | 773 void Bailout(const char* reason); |
774 | 774 |
775 HBasicBlock* CreateJoin(HBasicBlock* first, | 775 HBasicBlock* CreateJoin(HBasicBlock* first, |
776 HBasicBlock* second, | 776 HBasicBlock* second, |
777 int join_id); | 777 int join_id); |
778 | 778 |
779 TypeFeedbackOracle* oracle() const { return function_state()->oracle(); } | 779 TypeFeedbackOracle* oracle() const { return function_state()->oracle(); } |
780 | 780 |
781 FunctionState* function_state() const { return function_state_; } | 781 FunctionState* function_state() const { return function_state_; } |
782 | 782 |
| 783 void VisitDeclarations(ZoneList<Declaration*>* declarations); |
| 784 |
783 private: | 785 private: |
784 // Type of a member function that generates inline code for a native function. | 786 // Type of a member function that generates inline code for a native function. |
785 typedef void (HGraphBuilder::*InlineFunctionGenerator)(CallRuntime* call); | 787 typedef void (HGraphBuilder::*InlineFunctionGenerator)(CallRuntime* call); |
786 | 788 |
787 // Forward declarations for inner scope classes. | 789 // Forward declarations for inner scope classes. |
788 class SubgraphScope; | 790 class SubgraphScope; |
789 | 791 |
790 static const InlineFunctionGenerator kInlineFunctionGenerators[]; | 792 static const InlineFunctionGenerator kInlineFunctionGenerators[]; |
791 | 793 |
792 static const int kMaxCallPolymorphism = 4; | 794 static const int kMaxCallPolymorphism = 4; |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
834 // Generators for inline runtime functions. | 836 // Generators for inline runtime functions. |
835 #define INLINE_FUNCTION_GENERATOR_DECLARATION(Name, argc, ressize) \ | 837 #define INLINE_FUNCTION_GENERATOR_DECLARATION(Name, argc, ressize) \ |
836 void Generate##Name(CallRuntime* call); | 838 void Generate##Name(CallRuntime* call); |
837 | 839 |
838 INLINE_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION) | 840 INLINE_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION) |
839 INLINE_RUNTIME_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION) | 841 INLINE_RUNTIME_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION) |
840 #undef INLINE_FUNCTION_GENERATOR_DECLARATION | 842 #undef INLINE_FUNCTION_GENERATOR_DECLARATION |
841 | 843 |
842 void HandleVariableDeclaration(VariableProxy* proxy, | 844 void HandleVariableDeclaration(VariableProxy* proxy, |
843 VariableMode mode, | 845 VariableMode mode, |
844 FunctionLiteral* function); | 846 FunctionLiteral* function, |
| 847 int* global_count); |
845 | 848 |
846 void VisitDelete(UnaryOperation* expr); | 849 void VisitDelete(UnaryOperation* expr); |
847 void VisitVoid(UnaryOperation* expr); | 850 void VisitVoid(UnaryOperation* expr); |
848 void VisitTypeof(UnaryOperation* expr); | 851 void VisitTypeof(UnaryOperation* expr); |
849 void VisitAdd(UnaryOperation* expr); | 852 void VisitAdd(UnaryOperation* expr); |
850 void VisitSub(UnaryOperation* expr); | 853 void VisitSub(UnaryOperation* expr); |
851 void VisitBitNot(UnaryOperation* expr); | 854 void VisitBitNot(UnaryOperation* expr); |
852 void VisitNot(UnaryOperation* expr); | 855 void VisitNot(UnaryOperation* expr); |
853 | 856 |
854 void VisitComma(BinaryOperation* expr); | 857 void VisitComma(BinaryOperation* expr); |
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1300 const char* filename_; | 1303 const char* filename_; |
1301 HeapStringAllocator string_allocator_; | 1304 HeapStringAllocator string_allocator_; |
1302 StringStream trace_; | 1305 StringStream trace_; |
1303 int indent_; | 1306 int indent_; |
1304 }; | 1307 }; |
1305 | 1308 |
1306 | 1309 |
1307 } } // namespace v8::internal | 1310 } } // namespace v8::internal |
1308 | 1311 |
1309 #endif // V8_HYDROGEN_H_ | 1312 #endif // V8_HYDROGEN_H_ |
OLD | NEW |