OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/graph-inl.h" | 5 #include "src/compiler/graph-inl.h" |
6 #include "src/compiler/js-operator.h" | 6 #include "src/compiler/js-operator.h" |
7 #include "src/compiler/node.h" | 7 #include "src/compiler/node.h" |
8 #include "src/compiler/node-properties-inl.h" | 8 #include "src/compiler/node-properties-inl.h" |
9 #include "src/compiler/node-properties.h" | 9 #include "src/compiler/node-properties.h" |
10 #include "src/compiler/simplified-operator.h" | 10 #include "src/compiler/simplified-operator.h" |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 redo(NodeSet::key_compare(), NodeSet::allocator_type(typer->zone())) {} | 122 redo(NodeSet::key_compare(), NodeSet::allocator_type(typer->zone())) {} |
123 | 123 |
124 GenericGraphVisit::Control Post(Node* node) { | 124 GenericGraphVisit::Control Post(Node* node) { |
125 if (OperatorProperties::HasValueOutput(node->op())) { | 125 if (OperatorProperties::HasValueOutput(node->op())) { |
126 Bounds bounds = TypeNode(node); | 126 Bounds bounds = TypeNode(node); |
127 NodeProperties::SetBounds(node, bounds); | 127 NodeProperties::SetBounds(node, bounds); |
128 // Remember incompletely typed nodes for least fixpoint iteration. | 128 // Remember incompletely typed nodes for least fixpoint iteration. |
129 int arity = OperatorProperties::GetValueInputCount(node->op()); | 129 int arity = OperatorProperties::GetValueInputCount(node->op()); |
130 for (int i = 0; i < arity; ++i) { | 130 for (int i = 0; i < arity; ++i) { |
131 // TODO(rossberg): change once IsTyped is available. | 131 // TODO(rossberg): change once IsTyped is available. |
132 // if (!NodeProperties::IsTyped(NodeProperties::GetValueInput(node, i)))
{ | 132 // if (!NodeProperties::IsTyped(NodeProperties::GetValueInput(node, i))) |
133 if (OperandType(node, i).upper->Is(Type::None())) { | 133 if (OperandType(node, i).upper->Is(Type::None())) { |
134 redo.insert(node); | 134 redo.insert(node); |
135 break; | 135 break; |
136 } | 136 } |
137 } | 137 } |
138 } | 138 } |
139 return GenericGraphVisit::CONTINUE; | 139 return GenericGraphVisit::CONTINUE; |
140 } | 140 } |
141 | 141 |
142 NodeSet redo; | 142 NodeSet redo; |
(...skipping 741 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
884 } | 884 } |
885 | 885 |
886 | 886 |
887 void Typer::DecorateGraph(Graph* graph) { | 887 void Typer::DecorateGraph(Graph* graph) { |
888 graph->AddDecorator(new (zone()) TyperDecorator(this)); | 888 graph->AddDecorator(new (zone()) TyperDecorator(this)); |
889 } | 889 } |
890 | 890 |
891 } | 891 } |
892 } | 892 } |
893 } // namespace v8::internal::compiler | 893 } // namespace v8::internal::compiler |
OLD | NEW |