Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index 2a899b921415dc0a9ca35fe86db5b960c1ac0af8..a49fef72007013a745049b5e387daad99e724684 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -1475,6 +1475,9 @@ class HGraphBuilder { |
class IfBuilder V8_FINAL { |
public: |
+ // If using this constructor, Initialize() must be called explicitly! |
+ IfBuilder(); |
+ |
explicit IfBuilder(HGraphBuilder* builder); |
IfBuilder(HGraphBuilder* builder, |
HIfContinuation* continuation); |
@@ -1483,6 +1486,8 @@ class HGraphBuilder { |
if (!finished_) End(); |
} |
+ void Initialize(HGraphBuilder* builder); |
+ |
template<class Condition> |
Condition* If(HValue *p) { |
Condition* compare = builder()->New<Condition>(p); |
@@ -1625,9 +1630,14 @@ class HGraphBuilder { |
void Return(HValue* value); |
private: |
+ void InitializeDontCreateBlocks(HGraphBuilder* builder); |
+ |
HControlInstruction* AddCompare(HControlInstruction* compare); |
- HGraphBuilder* builder() const { return builder_; } |
+ HGraphBuilder* builder() const { |
+ ASSERT(builder_ != NULL); // Have you called "Initialize"? |
+ return builder_; |
+ } |
void AddMergeAtJoinBlock(bool deopt); |