OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/compiler/escape-analysis.h" | 5 #include "src/compiler/escape-analysis.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "src/base/flags.h" | 9 #include "src/base/flags.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
(...skipping 1136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1147 if (virtual_states_[node->id()]) { | 1147 if (virtual_states_[node->id()]) { |
1148 virtual_states_[node->id()]->UpdateFrom(virtual_states_[effect->id()], | 1148 virtual_states_[node->id()]->UpdateFrom(virtual_states_[effect->id()], |
1149 zone()); | 1149 zone()); |
1150 } else { | 1150 } else { |
1151 virtual_states_[node->id()] = virtual_states_[effect->id()]; | 1151 virtual_states_[node->id()] = virtual_states_[effect->id()]; |
1152 TRACE("Forwarding object state %p from %s#%d to %s#%d", | 1152 TRACE("Forwarding object state %p from %s#%d to %s#%d", |
1153 static_cast<void*>(virtual_states_[effect->id()]), | 1153 static_cast<void*>(virtual_states_[effect->id()]), |
1154 effect->op()->mnemonic(), effect->id(), node->op()->mnemonic(), | 1154 effect->op()->mnemonic(), effect->id(), node->op()->mnemonic(), |
1155 node->id()); | 1155 node->id()); |
1156 if (status_analysis_->IsEffectBranchPoint(effect) || | 1156 if (status_analysis_->IsEffectBranchPoint(effect) || |
1157 OperatorProperties::GetFrameStateInputCount(node->op()) > 0) { | 1157 OperatorProperties::HasFrameStateInput(node->op())) { |
1158 virtual_states_[node->id()]->SetCopyRequired(); | 1158 virtual_states_[node->id()]->SetCopyRequired(); |
1159 TRACE(", effect input %s#%d is branch point", effect->op()->mnemonic(), | 1159 TRACE(", effect input %s#%d is branch point", effect->op()->mnemonic(), |
1160 effect->id()); | 1160 effect->id()); |
1161 } | 1161 } |
1162 TRACE("\n"); | 1162 TRACE("\n"); |
1163 } | 1163 } |
1164 } | 1164 } |
1165 | 1165 |
1166 void EscapeAnalysis::ProcessStart(Node* node) { | 1166 void EscapeAnalysis::ProcessStart(Node* node) { |
1167 DCHECK_EQ(node->opcode(), IrOpcode::kStart); | 1167 DCHECK_EQ(node->opcode(), IrOpcode::kStart); |
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1605 } | 1605 } |
1606 } | 1606 } |
1607 return false; | 1607 return false; |
1608 } | 1608 } |
1609 | 1609 |
1610 Graph* EscapeAnalysis::graph() const { return status_analysis_->graph(); } | 1610 Graph* EscapeAnalysis::graph() const { return status_analysis_->graph(); } |
1611 | 1611 |
1612 } // namespace compiler | 1612 } // namespace compiler |
1613 } // namespace internal | 1613 } // namespace internal |
1614 } // namespace v8 | 1614 } // namespace v8 |
OLD | NEW |