Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(322)

Side by Side Diff: src/hydrogen.h

Issue 9187005: Enable optimization of top-level code. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: fixed problem with eval code, addressed comments Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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_
OLDNEW
« src/compiler.cc ('K') | « src/full-codegen.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698