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

Side by Side Diff: src/hydrogen.h

Issue 10544196: Defer creating Handles for HConstants to the code generation phase. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Review. Created 8 years, 5 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 | « no previous file | src/hydrogen.cc » ('j') | src/hydrogen.cc » ('J')
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 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 bool CheckConstPhiUses(); 280 bool CheckConstPhiUses();
281 281
282 void CollectPhis(); 282 void CollectPhis();
283 283
284 Handle<Code> Compile(); 284 Handle<Code> Compile();
285 285
286 void set_undefined_constant(HConstant* constant) { 286 void set_undefined_constant(HConstant* constant) {
287 undefined_constant_.set(constant); 287 undefined_constant_.set(constant);
288 } 288 }
289 HConstant* GetConstantUndefined() const { return undefined_constant_.get(); } 289 HConstant* GetConstantUndefined() const { return undefined_constant_.get(); }
290 HConstant* GetConstantInt32(SetOncePointer<HConstant>* pointer,
Michael Starzinger 2012/07/10 12:05:51 This should be moved into the private section righ
sanjoy 2012/07/10 19:25:17 Done.
291 int32_t integer_value);
290 HConstant* GetConstant1(); 292 HConstant* GetConstant1();
291 HConstant* GetConstantMinus1(); 293 HConstant* GetConstantMinus1();
292 HConstant* GetConstantTrue(); 294 HConstant* GetConstantTrue();
293 HConstant* GetConstantFalse(); 295 HConstant* GetConstantFalse();
294 HConstant* GetConstantHole(); 296 HConstant* GetConstantHole();
295 297
296 HBasicBlock* CreateBasicBlock(); 298 HBasicBlock* CreateBasicBlock();
297 HArgumentsObject* GetArgumentsObject() const { 299 HArgumentsObject* GetArgumentsObject() const {
298 return arguments_object_.get(); 300 return arguments_object_.get();
299 } 301 }
(...skipping 888 matching lines...) Expand 10 before | Expand all | Expand 10 after
1188 HGraph* graph_; 1190 HGraph* graph_;
1189 HBasicBlock* current_block_; 1191 HBasicBlock* current_block_;
1190 1192
1191 int inlined_count_; 1193 int inlined_count_;
1192 ZoneList<Handle<Object> > globals_; 1194 ZoneList<Handle<Object> > globals_;
1193 1195
1194 Zone* zone_; 1196 Zone* zone_;
1195 1197
1196 bool inline_bailout_; 1198 bool inline_bailout_;
1197 1199
1200 HConstant* constant_undefined_;
Michael Starzinger 2012/07/10 12:05:51 I don't think this change is actually needed.
sanjoy 2012/07/10 19:25:17 Done.
1201 HConstant* constant_null_;
1202
1198 friend class FunctionState; // Pushes and pops the state stack. 1203 friend class FunctionState; // Pushes and pops the state stack.
1199 friend class AstContext; // Pushes and pops the AST context stack. 1204 friend class AstContext; // Pushes and pops the AST context stack.
1200 1205
1201 DISALLOW_COPY_AND_ASSIGN(HGraphBuilder); 1206 DISALLOW_COPY_AND_ASSIGN(HGraphBuilder);
1202 }; 1207 };
1203 1208
1204 1209
1205 Zone* AstContext::zone() const { return owner_->zone(); } 1210 Zone* AstContext::zone() const { return owner_->zone(); }
1206 1211
1207 1212
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
1440 const char* filename_; 1445 const char* filename_;
1441 HeapStringAllocator string_allocator_; 1446 HeapStringAllocator string_allocator_;
1442 StringStream trace_; 1447 StringStream trace_;
1443 int indent_; 1448 int indent_;
1444 }; 1449 };
1445 1450
1446 1451
1447 } } // namespace v8::internal 1452 } } // namespace v8::internal
1448 1453
1449 #endif // V8_HYDROGEN_H_ 1454 #endif // V8_HYDROGEN_H_
OLDNEW
« no previous file with comments | « no previous file | src/hydrogen.cc » ('j') | src/hydrogen.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698