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

Side by Side Diff: src/hydrogen.h

Issue 9704054: Refactoring of code generation for declarations, in preparation for modules. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed Florian's comments. Created 8 years, 8 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
« no previous file with comments | « src/full-codegen.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 851 matching lines...) Expand 10 before | Expand all | Expand 10 after
862 } 862 }
863 863
864 // Generators for inline runtime functions. 864 // Generators for inline runtime functions.
865 #define INLINE_FUNCTION_GENERATOR_DECLARATION(Name, argc, ressize) \ 865 #define INLINE_FUNCTION_GENERATOR_DECLARATION(Name, argc, ressize) \
866 void Generate##Name(CallRuntime* call); 866 void Generate##Name(CallRuntime* call);
867 867
868 INLINE_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION) 868 INLINE_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION)
869 INLINE_RUNTIME_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION) 869 INLINE_RUNTIME_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION)
870 #undef INLINE_FUNCTION_GENERATOR_DECLARATION 870 #undef INLINE_FUNCTION_GENERATOR_DECLARATION
871 871
872 void HandleDeclaration(VariableProxy* proxy,
873 VariableMode mode,
874 FunctionLiteral* function,
875 int* global_count);
876
877 void VisitDelete(UnaryOperation* expr); 872 void VisitDelete(UnaryOperation* expr);
878 void VisitVoid(UnaryOperation* expr); 873 void VisitVoid(UnaryOperation* expr);
879 void VisitTypeof(UnaryOperation* expr); 874 void VisitTypeof(UnaryOperation* expr);
880 void VisitAdd(UnaryOperation* expr); 875 void VisitAdd(UnaryOperation* expr);
881 void VisitSub(UnaryOperation* expr); 876 void VisitSub(UnaryOperation* expr);
882 void VisitBitNot(UnaryOperation* expr); 877 void VisitBitNot(UnaryOperation* expr);
883 void VisitNot(UnaryOperation* expr); 878 void VisitNot(UnaryOperation* expr);
884 879
885 void VisitComma(BinaryOperation* expr); 880 void VisitComma(BinaryOperation* expr);
886 void VisitLogicalExpression(BinaryOperation* expr); 881 void VisitLogicalExpression(BinaryOperation* expr);
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 // visiting statements. 1106 // visiting statements.
1112 AstContext* ast_context_; 1107 AstContext* ast_context_;
1113 1108
1114 // A stack of breakable statements entered. 1109 // A stack of breakable statements entered.
1115 BreakAndContinueScope* break_scope_; 1110 BreakAndContinueScope* break_scope_;
1116 1111
1117 HGraph* graph_; 1112 HGraph* graph_;
1118 HBasicBlock* current_block_; 1113 HBasicBlock* current_block_;
1119 1114
1120 int inlined_count_; 1115 int inlined_count_;
1116 int global_count_;
1121 1117
1122 Zone* zone_; 1118 Zone* zone_;
1123 1119
1124 bool inline_bailout_; 1120 bool inline_bailout_;
1125 1121
1126 friend class FunctionState; // Pushes and pops the state stack. 1122 friend class FunctionState; // Pushes and pops the state stack.
1127 friend class AstContext; // Pushes and pops the AST context stack. 1123 friend class AstContext; // Pushes and pops the AST context stack.
1128 1124
1129 DISALLOW_COPY_AND_ASSIGN(HGraphBuilder); 1125 DISALLOW_COPY_AND_ASSIGN(HGraphBuilder);
1130 }; 1126 };
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
1343 const char* filename_; 1339 const char* filename_;
1344 HeapStringAllocator string_allocator_; 1340 HeapStringAllocator string_allocator_;
1345 StringStream trace_; 1341 StringStream trace_;
1346 int indent_; 1342 int indent_;
1347 }; 1343 };
1348 1344
1349 1345
1350 } } // namespace v8::internal 1346 } } // namespace v8::internal
1351 1347
1352 #endif // V8_HYDROGEN_H_ 1348 #endif // V8_HYDROGEN_H_
OLDNEW
« no previous file with comments | « src/full-codegen.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698