| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 705 dominated_index_++; | 705 dominated_index_++; |
| 706 if (dominated_index_ == length_ - 1) { | 706 if (dominated_index_ == length_ - 1) { |
| 707 // No need to copy the map for the last child in the dominator tree. | 707 // No need to copy the map for the last child in the dominator tree. |
| 708 Initialize(block_->dominated_blocks()->at(dominated_index_), | 708 Initialize(block_->dominated_blocks()->at(dominated_index_), |
| 709 map(), | 709 map(), |
| 710 dominators(), | 710 dominators(), |
| 711 false, | 711 false, |
| 712 zone); | 712 zone); |
| 713 return this; | 713 return this; |
| 714 } else if (dominated_index_ < length_) { | 714 } else if (dominated_index_ < length_) { |
| 715 return push(zone, | 715 return push(zone, block_->dominated_blocks()->at(dominated_index_)); |
| 716 block_->dominated_blocks()->at(dominated_index_), | |
| 717 dominators()); | |
| 718 } else { | 716 } else { |
| 719 return NULL; | 717 return NULL; |
| 720 } | 718 } |
| 721 } | 719 } |
| 722 | 720 |
| 723 GvnBasicBlockState* push(Zone* zone, | 721 GvnBasicBlockState* push(Zone* zone, HBasicBlock* block) { |
| 724 HBasicBlock* block, | |
| 725 HSideEffectMap* dominators) { | |
| 726 if (next_ == NULL) { | 722 if (next_ == NULL) { |
| 727 next_ = | 723 next_ = |
| 728 new(zone) GvnBasicBlockState(this, block, map(), dominators, zone); | 724 new(zone) GvnBasicBlockState(this, block, map(), dominators(), zone); |
| 729 } else { | 725 } else { |
| 730 next_->Initialize(block, map(), dominators, true, zone); | 726 next_->Initialize(block, map(), dominators(), true, zone); |
| 731 } | 727 } |
| 732 return next_; | 728 return next_; |
| 733 } | 729 } |
| 734 GvnBasicBlockState* pop() { | 730 GvnBasicBlockState* pop() { |
| 735 GvnBasicBlockState* result = previous_; | 731 GvnBasicBlockState* result = previous_; |
| 736 while (result != NULL && result->is_done()) { | 732 while (result != NULL && result->is_done()) { |
| 737 TRACE_GVN_2("Backtracking from block B%d to block b%d\n", | 733 TRACE_GVN_2("Backtracking from block B%d to block b%d\n", |
| 738 block()->block_id(), | 734 block()->block_id(), |
| 739 previous_->block()->block_id()) | 735 previous_->block()->block_id()) |
| 740 result = result->previous_; | 736 result = result->previous_; |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 850 dominated); | 846 dominated); |
| 851 successor_map->Kill(side_effects_on_all_paths); | 847 successor_map->Kill(side_effects_on_all_paths); |
| 852 successor_dominators->Kill(side_effects_on_all_paths); | 848 successor_dominators->Kill(side_effects_on_all_paths); |
| 853 } | 849 } |
| 854 } | 850 } |
| 855 current = next; | 851 current = next; |
| 856 } | 852 } |
| 857 } | 853 } |
| 858 | 854 |
| 859 } } // namespace v8::internal | 855 } } // namespace v8::internal |
| OLD | NEW |