OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 6413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6424 void HEnvironment::Initialize(const HEnvironment* other) { | 6424 void HEnvironment::Initialize(const HEnvironment* other) { |
6425 closure_ = other->closure(); | 6425 closure_ = other->closure(); |
6426 values_.AddAll(other->values_); | 6426 values_.AddAll(other->values_); |
6427 assigned_variables_.AddAll(other->assigned_variables_); | 6427 assigned_variables_.AddAll(other->assigned_variables_); |
6428 parameter_count_ = other->parameter_count_; | 6428 parameter_count_ = other->parameter_count_; |
6429 local_count_ = other->local_count_; | 6429 local_count_ = other->local_count_; |
6430 if (other->outer_ != NULL) outer_ = other->outer_->Copy(); // Deep copy. | 6430 if (other->outer_ != NULL) outer_ = other->outer_->Copy(); // Deep copy. |
6431 pop_count_ = other->pop_count_; | 6431 pop_count_ = other->pop_count_; |
6432 push_count_ = other->push_count_; | 6432 push_count_ = other->push_count_; |
6433 ast_id_ = other->ast_id_; | 6433 ast_id_ = other->ast_id_; |
| 6434 CheckDepth(); |
6434 } | 6435 } |
6435 | 6436 |
6436 | 6437 |
6437 void HEnvironment::AddIncomingEdge(HBasicBlock* block, HEnvironment* other) { | 6438 void HEnvironment::AddIncomingEdge(HBasicBlock* block, HEnvironment* other) { |
6438 ASSERT(!block->IsLoopHeader()); | 6439 ASSERT(!block->IsLoopHeader()); |
6439 ASSERT(values_.length() == other->values_.length()); | 6440 ASSERT(values_.length() == other->values_.length()); |
6440 | 6441 |
6441 int length = values_.length(); | 6442 int length = values_.length(); |
6442 for (int i = 0; i < length; ++i) { | 6443 for (int i = 0; i < length; ++i) { |
6443 HValue* value = values_[i]; | 6444 HValue* value = values_[i]; |
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6899 } | 6900 } |
6900 } | 6901 } |
6901 | 6902 |
6902 #ifdef DEBUG | 6903 #ifdef DEBUG |
6903 if (graph_ != NULL) graph_->Verify(false); // No full verify. | 6904 if (graph_ != NULL) graph_->Verify(false); // No full verify. |
6904 if (allocator_ != NULL) allocator_->Verify(); | 6905 if (allocator_ != NULL) allocator_->Verify(); |
6905 #endif | 6906 #endif |
6906 } | 6907 } |
6907 | 6908 |
6908 } } // namespace v8::internal | 6909 } } // namespace v8::internal |
OLD | NEW |