| Index: src/hydrogen.h
|
| diff --git a/src/hydrogen.h b/src/hydrogen.h
|
| index 0a8a10edeee9ed558701841256f8ef62a59ebbf9..a9829a004f2c00f69bd19de4a4f310133177a8c4 100644
|
| --- a/src/hydrogen.h
|
| +++ b/src/hydrogen.h
|
| @@ -920,10 +920,30 @@ class HGraphBuilder {
|
| HInstruction* BuildStoreMap(HValue* object, HValue* map, BailoutId id);
|
| HInstruction* BuildStoreMap(HValue* object, Handle<Map> map, BailoutId id);
|
|
|
| + class CheckBuilder {
|
| + public:
|
| + CheckBuilder(HGraphBuilder* builder, BailoutId id);
|
| + ~CheckBuilder() {
|
| + if (!finished_) End();
|
| + }
|
| +
|
| + void CheckNotUndefined(HValue* value);
|
| + void CheckIntegerEq(HValue* left, HValue* right);
|
| + void End();
|
| +
|
| + private:
|
| + Zone* zone() { return builder_->zone(); }
|
| +
|
| + HGraphBuilder* builder_;
|
| + bool finished_;
|
| + HBasicBlock* failure_block_;
|
| + HBasicBlock* merge_block_;
|
| + BailoutId id_;
|
| + };
|
| +
|
| class IfBuilder {
|
| public:
|
| - IfBuilder(HGraphBuilder* builder,
|
| - BailoutId id = BailoutId::StubEntry());
|
| + IfBuilder(HGraphBuilder* builder, BailoutId id);
|
| ~IfBuilder() {
|
| if (!finished_) End();
|
| }
|
| @@ -937,6 +957,8 @@ class HGraphBuilder {
|
| void End();
|
|
|
| private:
|
| + Zone* zone() { return builder_->zone(); }
|
| +
|
| HGraphBuilder* builder_;
|
| bool finished_;
|
| HBasicBlock* first_true_block_;
|
| @@ -944,8 +966,6 @@ class HGraphBuilder {
|
| HBasicBlock* first_false_block_;
|
| HBasicBlock* merge_block_;
|
| BailoutId id_;
|
| -
|
| - Zone* zone() { return builder_->zone(); }
|
| };
|
|
|
| class LoopBuilder {
|
| @@ -960,7 +980,7 @@ class HGraphBuilder {
|
| LoopBuilder(HGraphBuilder* builder,
|
| HValue* context,
|
| Direction direction,
|
| - BailoutId id = BailoutId::StubEntry());
|
| + BailoutId id);
|
| ~LoopBuilder() {
|
| ASSERT(finished_);
|
| }
|
| @@ -973,6 +993,8 @@ class HGraphBuilder {
|
| void EndBody();
|
|
|
| private:
|
| + Zone* zone() { return builder_->zone(); }
|
| +
|
| HGraphBuilder* builder_;
|
| HValue* context_;
|
| HInstruction* increment_;
|
| @@ -983,8 +1005,6 @@ class HGraphBuilder {
|
| Direction direction_;
|
| BailoutId id_;
|
| bool finished_;
|
| -
|
| - Zone* zone() { return builder_->zone(); }
|
| };
|
|
|
| HValue* BuildAllocateElements(HContext* context,
|
|
|