| 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 |