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

Side by Side Diff: src/hydrogen.h

Issue 16925008: Generate StoreGlobal stubs with Hydrogen (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix numeric constant compares Created 7 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
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 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 HConstant* GetConstantUndefined() const { return undefined_constant_.get(); } 313 HConstant* GetConstantUndefined() const { return undefined_constant_.get(); }
314 HConstant* GetConstant0(); 314 HConstant* GetConstant0();
315 HConstant* GetConstant1(); 315 HConstant* GetConstant1();
316 HConstant* GetConstantMinus1(); 316 HConstant* GetConstantMinus1();
317 HConstant* GetConstantTrue(); 317 HConstant* GetConstantTrue();
318 HConstant* GetConstantFalse(); 318 HConstant* GetConstantFalse();
319 HConstant* GetConstantHole(); 319 HConstant* GetConstantHole();
320 HConstant* GetConstantNull(); 320 HConstant* GetConstantNull();
321 HConstant* GetInvalidContext(); 321 HConstant* GetInvalidContext();
322 322
323 bool IsStandardConstant(HConstant* constant);
324
323 HBasicBlock* CreateBasicBlock(); 325 HBasicBlock* CreateBasicBlock();
324 HArgumentsObject* GetArgumentsObject() const { 326 HArgumentsObject* GetArgumentsObject() const {
325 return arguments_object_.get(); 327 return arguments_object_.get();
326 } 328 }
327 329
328 void SetArgumentsObject(HArgumentsObject* object) { 330 void SetArgumentsObject(HArgumentsObject* object) {
329 arguments_object_.set(object); 331 arguments_object_.set(object);
330 } 332 }
331 333
332 int GetMaximumValueID() const { return values_.length(); } 334 int GetMaximumValueID() const { return values_.length(); }
(...skipping 1139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1472 explicit HOptimizedGraphBuilder(CompilationInfo* info); 1474 explicit HOptimizedGraphBuilder(CompilationInfo* info);
1473 1475
1474 virtual bool BuildGraph(); 1476 virtual bool BuildGraph();
1475 1477
1476 // Simple accessors. 1478 // Simple accessors.
1477 BreakAndContinueScope* break_scope() const { return break_scope_; } 1479 BreakAndContinueScope* break_scope() const { return break_scope_; }
1478 void set_break_scope(BreakAndContinueScope* head) { break_scope_ = head; } 1480 void set_break_scope(BreakAndContinueScope* head) { break_scope_ = head; }
1479 1481
1480 bool inline_bailout() { return inline_bailout_; } 1482 bool inline_bailout() { return inline_bailout_; }
1481 1483
1482 void AddSoftDeoptimize(); 1484 enum SoftDeoptimizeMode {
1485 MUST_EMIT_SOFT_DEOPT,
1486 CAN_OMIT_SOFT_DEOPT
1487 };
1488
1489 void AddSoftDeoptimize(SoftDeoptimizeMode mode = CAN_OMIT_SOFT_DEOPT);
1483 1490
1484 void Bailout(const char* reason); 1491 void Bailout(const char* reason);
1485 1492
1486 HBasicBlock* CreateJoin(HBasicBlock* first, 1493 HBasicBlock* CreateJoin(HBasicBlock* first,
1487 HBasicBlock* second, 1494 HBasicBlock* second,
1488 BailoutId join_id); 1495 BailoutId join_id);
1489 1496
1490 FunctionState* function_state() const { return function_state_; } 1497 FunctionState* function_state() const { return function_state_; }
1491 1498
1492 void VisitDeclarations(ZoneList<Declaration*>* declarations); 1499 void VisitDeclarations(ZoneList<Declaration*>* declarations);
(...skipping 589 matching lines...) Expand 10 before | Expand all | Expand 10 after
2082 EmbeddedVector<char, 64> filename_; 2089 EmbeddedVector<char, 64> filename_;
2083 HeapStringAllocator string_allocator_; 2090 HeapStringAllocator string_allocator_;
2084 StringStream trace_; 2091 StringStream trace_;
2085 int indent_; 2092 int indent_;
2086 }; 2093 };
2087 2094
2088 2095
2089 } } // namespace v8::internal 2096 } } // namespace v8::internal
2090 2097
2091 #endif // V8_HYDROGEN_H_ 2098 #endif // V8_HYDROGEN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698