| Index: src/hydrogen.h
|
| diff --git a/src/hydrogen.h b/src/hydrogen.h
|
| index 0072c77cc24926b49a4576f3f0edc54d93ac52f5..6dea1a6807479cc66e6970d070b1e51361626c7f 100644
|
| --- a/src/hydrogen.h
|
| +++ b/src/hydrogen.h
|
| @@ -108,7 +108,7 @@ class HBasicBlock: public ZoneObject {
|
| bool Dominates(HBasicBlock* other) const;
|
| int LoopNestingDepth() const;
|
|
|
| - void SetInitialEnvironment(HEnvironment* env);
|
| + void SetInitialEnvironment(HEnvironment* env, BailoutId previous_id);
|
| void ClearEnvironment() { last_environment_ = NULL; }
|
| bool HasEnvironment() const { return last_environment_ != NULL; }
|
| void UpdateEnvironment(HEnvironment* env) { last_environment_ = env; }
|
| @@ -483,6 +483,8 @@ class HEnvironment: public ZoneObject {
|
|
|
| BailoutId ast_id() const { return ast_id_; }
|
| void set_ast_id(BailoutId id) { ast_id_ = id; }
|
| + BailoutId previous_ast_id() const { return previous_ast_id_; }
|
| + void set_previous_ast_id(BailoutId id) { previous_ast_id_ = id; }
|
|
|
| HEnterInlined* entry() const { return entry_; }
|
| void set_entry(HEnterInlined* entry) { entry_ = entry; }
|
| @@ -644,6 +646,7 @@ class HEnvironment: public ZoneObject {
|
| int pop_count_;
|
| int push_count_;
|
| BailoutId ast_id_;
|
| + BailoutId previous_ast_id_;
|
| Zone* zone_;
|
| };
|
|
|
| @@ -891,8 +894,9 @@ class HGraphBuilder {
|
| protected:
|
| virtual bool BuildGraph() = 0;
|
|
|
| - HBasicBlock* CreateBasicBlock(HEnvironment* env);
|
| - HBasicBlock* CreateLoopHeaderBlock();
|
| + HBasicBlock* CreateBasicBlock(HEnvironment* envy,
|
| + BailoutId previous_ast_id);
|
| + HBasicBlock* CreateLoopHeaderBlock(BailoutId previous_ast_id);
|
|
|
| // Building common constructs
|
| HInstruction* BuildExternalArrayElementAccess(
|
| @@ -940,7 +944,7 @@ class HGraphBuilder {
|
|
|
| class CheckBuilder {
|
| public:
|
| - CheckBuilder(HGraphBuilder* builder, BailoutId id);
|
| + explicit CheckBuilder(HGraphBuilder* builder);
|
| ~CheckBuilder() {
|
| if (!finished_) End();
|
| }
|
| @@ -962,7 +966,7 @@ class HGraphBuilder {
|
|
|
| class IfBuilder {
|
| public:
|
| - IfBuilder(HGraphBuilder* builder, BailoutId id);
|
| + explicit IfBuilder(HGraphBuilder* builder);
|
| ~IfBuilder() {
|
| if (!finished_) End();
|
| }
|
| @@ -1001,8 +1005,7 @@ class HGraphBuilder {
|
|
|
| LoopBuilder(HGraphBuilder* builder,
|
| HValue* context,
|
| - Direction direction,
|
| - BailoutId id);
|
| + Direction direction);
|
| ~LoopBuilder() {
|
| ASSERT(finished_);
|
| }
|
| @@ -1037,22 +1040,19 @@ class HGraphBuilder {
|
|
|
| HValue* BuildAllocateElements(HValue* context,
|
| ElementsKind kind,
|
| - HValue* capacity,
|
| - BailoutId ast_id);
|
| + HValue* capacity);
|
|
|
| HValue* BuildGrowElementsCapacity(HValue* object,
|
| HValue* elements,
|
| ElementsKind kind,
|
| HValue* length,
|
| - HValue* new_capacity,
|
| - BailoutId ast_id);
|
| + HValue* new_capacity);
|
|
|
| void BuildFillElementsWithHole(HValue* context,
|
| HValue* elements,
|
| ElementsKind elements_kind,
|
| HValue* from,
|
| - HValue* to,
|
| - BailoutId ast_id);
|
| + HValue* to);
|
|
|
| void BuildCopyElements(HValue* context,
|
| HValue* from_elements,
|
| @@ -1060,8 +1060,7 @@ class HGraphBuilder {
|
| HValue* to_elements,
|
| ElementsKind to_elements_kind,
|
| HValue* length,
|
| - HValue* capacity,
|
| - BailoutId ast_id);
|
| + HValue* capacity);
|
|
|
| private:
|
| HGraphBuilder();
|
|
|