Index: src/compiler/escape-analysis.cc |
diff --git a/src/compiler/escape-analysis.cc b/src/compiler/escape-analysis.cc |
index 451471247da9c0730d1e8a72d2f0fa1b54783470..2d6aa6bc56506d07c7feb8c3302e49173028843f 100644 |
--- a/src/compiler/escape-analysis.cc |
+++ b/src/compiler/escape-analysis.cc |
@@ -1529,33 +1529,30 @@ void EscapeAnalysis::ProcessCheckMaps(Node* node) { |
DCHECK_EQ(node->opcode(), IrOpcode::kCheckMaps); |
ForwardVirtualState(node); |
Node* checked = ResolveReplacement(NodeProperties::GetValueInput(node, 0)); |
- if (FLAG_turbo_experimental) { |
Tobias Tebbi
2017/04/06 13:45:17
Why doesn't it ignore whitespace? This CL really j
|
- VirtualState* state = virtual_states_[node->id()]; |
- if (VirtualObject* object = GetVirtualObject(state, checked)) { |
- if (!object->IsTracked()) { |
- if (status_analysis_->SetEscaped(node)) { |
- TRACE( |
- "Setting #%d (%s) to escaped because checked object #%i is not " |
- "tracked\n", |
- node->id(), node->op()->mnemonic(), object->id()); |
- } |
- return; |
+ VirtualState* state = virtual_states_[node->id()]; |
+ if (VirtualObject* object = GetVirtualObject(state, checked)) { |
+ if (!object->IsTracked()) { |
+ if (status_analysis_->SetEscaped(node)) { |
+ TRACE( |
+ "Setting #%d (%s) to escaped because checked object #%i is not " |
+ "tracked\n", |
+ node->id(), node->op()->mnemonic(), object->id()); |
} |
- CheckMapsParameters params = CheckMapsParametersOf(node->op()); |
+ return; |
+ } |
+ CheckMapsParameters params = CheckMapsParametersOf(node->op()); |
- Node* value = object->GetField(HeapObject::kMapOffset / kPointerSize); |
- if (value) { |
- value = ResolveReplacement(value); |
- // TODO(tebbi): We want to extend this beyond constant folding with a |
- // CheckMapsValue operator that takes the load-eliminated map value as |
- // input. |
- if (value->opcode() == IrOpcode::kHeapConstant && |
- params.maps().contains(ZoneHandleSet<Map>( |
- Handle<Map>::cast(OpParameter<Handle<HeapObject>>(value))))) { |
- TRACE("CheckMaps #%i seems to be redundant (until now).\n", |
- node->id()); |
- return; |
- } |
+ Node* value = object->GetField(HeapObject::kMapOffset / kPointerSize); |
+ if (value) { |
+ value = ResolveReplacement(value); |
+ // TODO(tebbi): We want to extend this beyond constant folding with a |
+ // CheckMapsValue operator that takes the load-eliminated map value as |
+ // input. |
+ if (value->opcode() == IrOpcode::kHeapConstant && |
+ params.maps().contains(ZoneHandleSet<Map>( |
+ Handle<Map>::cast(OpParameter<Handle<HeapObject>>(value))))) { |
+ TRACE("CheckMaps #%i seems to be redundant (until now).\n", node->id()); |
+ return; |
} |
} |
} |