Commit 1df5fed5 authored by bmeurer's avatar bmeurer Committed by Commit bot

[turbofan] Cleanup the NodeProperties.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/883613006

Cr-Commit-Position: refs/heads/master@{#26316}
parent d0f3e530
...@@ -595,7 +595,6 @@ source_set("v8_base") { ...@@ -595,7 +595,6 @@ source_set("v8_base") {
"src/compiler/node-marker.h", "src/compiler/node-marker.h",
"src/compiler/node-matchers.h", "src/compiler/node-matchers.h",
"src/compiler/node-properties.cc", "src/compiler/node-properties.cc",
"src/compiler/node-properties-inl.h",
"src/compiler/node-properties.h", "src/compiler/node-properties.h",
"src/compiler/node.cc", "src/compiler/node.cc",
"src/compiler/node.h", "src/compiler/node.h",
......
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
#include "src/compiler/code-generator-impl.h" #include "src/compiler/code-generator-impl.h"
#include "src/compiler/gap-resolver.h" #include "src/compiler/gap-resolver.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h"
#include "src/compiler/osr.h" #include "src/compiler/osr.h"
#include "src/scopes.h" #include "src/scopes.h"
......
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
#include "src/compiler/code-generator-impl.h" #include "src/compiler/code-generator-impl.h"
#include "src/compiler/gap-resolver.h" #include "src/compiler/gap-resolver.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h"
#include "src/compiler/osr.h" #include "src/compiler/osr.h"
#include "src/scopes.h" #include "src/scopes.h"
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
#include "src/compiler/control-builders.h" #include "src/compiler/control-builders.h"
#include "src/compiler/machine-operator.h" #include "src/compiler/machine-operator.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h"
#include "src/compiler/node-properties.h" #include "src/compiler/node-properties.h"
#include "src/compiler/operator-properties.h"
#include "src/full-codegen.h" #include "src/full-codegen.h"
#include "src/parser.h" #include "src/parser.h"
#include "src/scopes.h" #include "src/scopes.h"
......
...@@ -9,7 +9,8 @@ ...@@ -9,7 +9,8 @@
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/linkage.h" #include "src/compiler/linkage.h"
#include "src/compiler/machine-operator.h" #include "src/compiler/machine-operator.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/operator-properties.h"
namespace v8 { namespace v8 {
namespace internal { namespace internal {
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/node-marker.h" #include "src/compiler/node-marker.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/zone-containers.h" #include "src/zone-containers.h"
namespace v8 { namespace v8 {
...@@ -133,7 +133,7 @@ class ControlReducerImpl { ...@@ -133,7 +133,7 @@ class ControlReducerImpl {
pop = false; // restart traversing successors of this node. pop = false; // restart traversing successors of this node.
break; break;
} }
if (IrOpcode::IsControlOpcode(succ->opcode()) && if (NodeProperties::IsControl(succ) &&
!marked.IsReachableFromStart(succ)) { !marked.IsReachableFromStart(succ)) {
// {succ} is a control node and not yet reached from start. // {succ} is a control node and not yet reached from start.
marked.Push(succ); marked.Push(succ);
...@@ -157,7 +157,7 @@ class ControlReducerImpl { ...@@ -157,7 +157,7 @@ class ControlReducerImpl {
// Any control nodes not reachable from start are dead, even loops. // Any control nodes not reachable from start are dead, even loops.
for (size_t i = 0; i < nodes.size(); i++) { for (size_t i = 0; i < nodes.size(); i++) {
Node* node = nodes[i]; Node* node = nodes[i];
if (IrOpcode::IsControlOpcode(node->opcode()) && if (NodeProperties::IsControl(node) &&
!marked.IsReachableFromStart(node)) { !marked.IsReachableFromStart(node)) {
ReplaceNode(node, dead()); // uses will be added to revisit queue. ReplaceNode(node, dead()); // uses will be added to revisit queue.
} }
...@@ -502,7 +502,7 @@ class ControlReducerImpl { ...@@ -502,7 +502,7 @@ class ControlReducerImpl {
// Gather phis and effect phis to be edited. // Gather phis and effect phis to be edited.
ZoneVector<Node*> phis(zone_); ZoneVector<Node*> phis(zone_);
for (Node* const use : node->uses()) { for (Node* const use : node->uses()) {
if (IrOpcode::IsPhiOpcode(use->opcode())) phis.push_back(use); if (NodeProperties::IsPhi(use)) phis.push_back(use);
} }
if (live == 1) { if (live == 1) {
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
#include "src/compiler/graph-visualizer.h" #include "src/compiler/graph-visualizer.h"
#include "src/compiler/node.h" #include "src/compiler/node.h"
#include "src/compiler/node-properties.h" #include "src/compiler/node-properties.h"
#include "src/compiler/node-properties-inl.h"
#include "src/compiler/operator-properties.h" #include "src/compiler/operator-properties.h"
namespace v8 { namespace v8 {
......
...@@ -12,9 +12,9 @@ ...@@ -12,9 +12,9 @@
#include "src/compiler/graph.h" #include "src/compiler/graph.h"
#include "src/compiler/node.h" #include "src/compiler/node.h"
#include "src/compiler/node-properties.h" #include "src/compiler/node-properties.h"
#include "src/compiler/node-properties-inl.h"
#include "src/compiler/opcodes.h" #include "src/compiler/opcodes.h"
#include "src/compiler/operator.h" #include "src/compiler/operator.h"
#include "src/compiler/operator-properties.h"
#include "src/compiler/register-allocator.h" #include "src/compiler/register-allocator.h"
#include "src/compiler/schedule.h" #include "src/compiler/schedule.h"
#include "src/compiler/scheduler.h" #include "src/compiler/scheduler.h"
...@@ -274,7 +274,7 @@ void GraphVisualizer::PrintNode(Node* node, bool gray) { ...@@ -274,7 +274,7 @@ void GraphVisualizer::PrintNode(Node* node, bool gray) {
static bool IsLikelyBackEdge(Node* from, int index, Node* to) { static bool IsLikelyBackEdge(Node* from, int index, Node* to) {
if (IrOpcode::IsPhiOpcode(from->opcode())) { if (NodeProperties::IsPhi(from)) {
Node* control = NodeProperties::GetControlInput(from, 0); Node* control = NodeProperties::GetControlInput(from, 0);
return control != NULL && control->opcode() != IrOpcode::kMerge && return control != NULL && control->opcode() != IrOpcode::kMerge &&
control != to && index != 0; control != to && index != 0;
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include "src/compiler/code-generator-impl.h" #include "src/compiler/code-generator-impl.h"
#include "src/compiler/gap-resolver.h" #include "src/compiler/gap-resolver.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h"
#include "src/compiler/osr.h" #include "src/compiler/osr.h"
#include "src/ia32/assembler-ia32.h" #include "src/ia32/assembler-ia32.h"
#include "src/ia32/macro-assembler-ia32.h" #include "src/ia32/macro-assembler-ia32.h"
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "src/compiler/instruction-selector-impl.h" #include "src/compiler/instruction-selector-impl.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
namespace v8 { namespace v8 {
namespace internal { namespace internal {
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#include "src/compiler/instruction-selector-impl.h" #include "src/compiler/instruction-selector-impl.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/pipeline.h" #include "src/compiler/pipeline.h"
namespace v8 { namespace v8 {
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#include "src/compiler/js-builtin-reducer.h" #include "src/compiler/js-builtin-reducer.h"
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/types.h" #include "src/types.h"
namespace v8 { namespace v8 {
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include "src/compiler/common-operator.h" #include "src/compiler/common-operator.h"
#include "src/compiler/js-operator.h" #include "src/compiler/js-operator.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
namespace v8 { namespace v8 {
namespace internal { namespace internal {
......
...@@ -9,7 +9,8 @@ ...@@ -9,7 +9,8 @@
#include "src/compiler/machine-operator.h" #include "src/compiler/machine-operator.h"
#include "src/compiler/node-aux-data-inl.h" #include "src/compiler/node-aux-data-inl.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/operator-properties.h"
#include "src/unique.h" #include "src/unique.h"
namespace v8 { namespace v8 {
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "src/code-stubs.h" #include "src/code-stubs.h"
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/typer.h" #include "src/compiler/typer.h"
namespace v8 { namespace v8 {
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
#include "src/compiler/js-operator.h" #include "src/compiler/js-operator.h"
#include "src/compiler/node-aux-data-inl.h" #include "src/compiler/node-aux-data-inl.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/simplified-operator.h" #include "src/compiler/simplified-operator.h"
#include "src/compiler/typer.h" #include "src/compiler/typer.h"
#include "src/full-codegen.h" #include "src/full-codegen.h"
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#include "src/compiler/access-builder.h" #include "src/compiler/access-builder.h"
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
namespace v8 { namespace v8 {
namespace internal { namespace internal {
......
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
#include "src/compiler/js-typed-lowering.h" #include "src/compiler/js-typed-lowering.h"
#include "src/compiler/node-aux-data-inl.h" #include "src/compiler/node-aux-data-inl.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/operator-properties.h"
#include "src/types.h" #include "src/types.h"
namespace v8 { namespace v8 {
...@@ -854,8 +855,7 @@ Reduction JSTypedLowering::ReduceJSStoreContext(Node* node) { ...@@ -854,8 +855,7 @@ Reduction JSTypedLowering::ReduceJSStoreContext(Node* node) {
Reduction JSTypedLowering::Reduce(Node* node) { Reduction JSTypedLowering::Reduce(Node* node) {
// Check if the output type is a singleton. In that case we already know the // Check if the output type is a singleton. In that case we already know the
// result value and can simply replace the node if it's eliminable. // result value and can simply replace the node if it's eliminable.
if (!IrOpcode::IsConstantOpcode(node->opcode()) && if (!NodeProperties::IsConstant(node) && NodeProperties::IsTyped(node) &&
NodeProperties::IsTyped(node) &&
node->op()->HasProperty(Operator::kEliminatable)) { node->op()->HasProperty(Operator::kEliminatable)) {
Type* upper = NodeProperties::GetBounds(node).upper; Type* upper = NodeProperties::GetBounds(node).upper;
if (upper->IsConstant()) { if (upper->IsConstant()) {
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "src/compiler/load-elimination.h" #include "src/compiler/load-elimination.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/simplified-operator.h" #include "src/compiler/simplified-operator.h"
namespace v8 { namespace v8 {
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include "src/compiler/graph.h" #include "src/compiler/graph.h"
#include "src/compiler/node.h" #include "src/compiler/node.h"
#include "src/compiler/node-marker.h" #include "src/compiler/node-marker.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/zone.h" #include "src/zone.h"
namespace v8 { namespace v8 {
...@@ -196,7 +196,7 @@ class LoopFinderImpl { ...@@ -196,7 +196,7 @@ class LoopFinderImpl {
if (node->opcode() == IrOpcode::kLoop) { if (node->opcode() == IrOpcode::kLoop) {
// found the loop node first. // found the loop node first.
loop_num = CreateLoopInfo(node); loop_num = CreateLoopInfo(node);
} else if (IrOpcode::IsPhiOpcode(node->opcode())) { } else if (NodeProperties::IsPhi(node)) {
// found a phi first. // found a phi first.
Node* merge = node->InputAt(node->InputCount() - 1); Node* merge = node->InputAt(node->InputCount() - 1);
if (merge->opcode() == IrOpcode::kLoop) { if (merge->opcode() == IrOpcode::kLoop) {
...@@ -234,7 +234,7 @@ class LoopFinderImpl { ...@@ -234,7 +234,7 @@ class LoopFinderImpl {
// Setup loop mark for phis attached to loop header. // Setup loop mark for phis attached to loop header.
for (Node* use : node->uses()) { for (Node* use : node->uses()) {
if (IrOpcode::IsPhiOpcode(use->opcode())) { if (NodeProperties::IsPhi(use)) {
SetBackwardMark(use, loop_num); SetBackwardMark(use, loop_num);
loop_tree_->node_to_loop_num_[use->id()] = loop_num; loop_tree_->node_to_loop_num_[use->id()] = loop_num;
} }
...@@ -289,7 +289,7 @@ class LoopFinderImpl { ...@@ -289,7 +289,7 @@ class LoopFinderImpl {
bool IsBackedge(Node* use, Edge& edge) { bool IsBackedge(Node* use, Edge& edge) {
if (LoopNum(use) <= 0) return false; if (LoopNum(use) <= 0) return false;
if (edge.index() == kAssumedLoopEntryIndex) return false; if (edge.index() == kAssumedLoopEntryIndex) return false;
if (IrOpcode::IsPhiOpcode(use->opcode())) { if (NodeProperties::IsPhi(use)) {
return !NodeProperties::IsControlEdge(edge); return !NodeProperties::IsControlEdge(edge);
} }
return true; return true;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include "src/compiler/loop-peeling.h" #include "src/compiler/loop-peeling.h"
#include "src/compiler/node.h" #include "src/compiler/node.h"
#include "src/compiler/node-marker.h" #include "src/compiler/node-marker.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/zone.h" #include "src/zone.h"
// Loop peeling is an optimization that copies the body of a loop, creating // Loop peeling is an optimization that copies the body of a loop, creating
...@@ -276,7 +276,7 @@ PeeledIteration* LoopPeeler::Peel(Graph* graph, CommonOperatorBuilder* common, ...@@ -276,7 +276,7 @@ PeeledIteration* LoopPeeler::Peel(Graph* graph, CommonOperatorBuilder* common,
if (end != NULL) { if (end != NULL) {
exits.push_back(end); exits.push_back(end);
for (Node* use : end->uses()) { for (Node* use : end->uses()) {
if (IrOpcode::IsPhiOpcode(use->opcode())) exits.push_back(use); if (NodeProperties::IsPhi(use)) exits.push_back(use);
} }
} }
} }
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
#include "src/compiler/code-generator-impl.h" #include "src/compiler/code-generator-impl.h"
#include "src/compiler/gap-resolver.h" #include "src/compiler/gap-resolver.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h"
#include "src/compiler/osr.h" #include "src/compiler/osr.h"
#include "src/mips/macro-assembler-mips.h" #include "src/mips/macro-assembler-mips.h"
#include "src/scopes.h" #include "src/scopes.h"
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
#include "src/compiler/code-generator-impl.h" #include "src/compiler/code-generator-impl.h"
#include "src/compiler/gap-resolver.h" #include "src/compiler/gap-resolver.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h"
#include "src/compiler/osr.h" #include "src/compiler/osr.h"
#include "src/mips/macro-assembler-mips.h" #include "src/mips/macro-assembler-mips.h"
#include "src/scopes.h" #include "src/scopes.h"
......
// Copyright 2013 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef V8_COMPILER_NODE_PROPERTIES_INL_H_
#define V8_COMPILER_NODE_PROPERTIES_INL_H_
#include "src/v8.h"
#include "src/compiler/common-operator.h"
#include "src/compiler/node-properties.h"
#include "src/compiler/opcodes.h"
#include "src/compiler/operator.h"
#include "src/compiler/operator-properties.h"
namespace v8 {
namespace internal {
namespace compiler {
// -----------------------------------------------------------------------------
// Input layout.
// Inputs are always arranged in order as follows:
// 0 [ values, context, effects, control ] node->InputCount()
inline int NodeProperties::FirstValueIndex(Node* node) { return 0; }
inline int NodeProperties::FirstContextIndex(Node* node) {
return PastValueIndex(node);
}
inline int NodeProperties::FirstFrameStateIndex(Node* node) {
return PastContextIndex(node);
}
inline int NodeProperties::FirstEffectIndex(Node* node) {
return PastFrameStateIndex(node);
}
inline int NodeProperties::FirstControlIndex(Node* node) {
return PastEffectIndex(node);
}
inline int NodeProperties::PastValueIndex(Node* node) {
return FirstValueIndex(node) + node->op()->ValueInputCount();
}
inline int NodeProperties::PastContextIndex(Node* node) {
return FirstContextIndex(node) +
OperatorProperties::GetContextInputCount(node->op());
}
inline int NodeProperties::PastFrameStateIndex(Node* node) {
return FirstFrameStateIndex(node) +
OperatorProperties::GetFrameStateInputCount(node->op());
}
inline int NodeProperties::PastEffectIndex(Node* node) {
return FirstEffectIndex(node) + node->op()->EffectInputCount();
}
inline int NodeProperties::PastControlIndex(Node* node) {
return FirstControlIndex(node) + node->op()->ControlInputCount();
}
// -----------------------------------------------------------------------------
// Input accessors.
inline Node* NodeProperties::GetValueInput(Node* node, int index) {
DCHECK(0 <= index && index < node->op()->ValueInputCount());
return node->InputAt(FirstValueIndex(node) + index);
}
inline Node* NodeProperties::GetContextInput(Node* node) {
DCHECK(OperatorProperties::HasContextInput(node->op()));
return node->InputAt(FirstContextIndex(node));
}
inline Node* NodeProperties::GetFrameStateInput(Node* node) {
DCHECK(OperatorProperties::HasFrameStateInput(node->op()));
return node->InputAt(FirstFrameStateIndex(node));
}
inline Node* NodeProperties::GetEffectInput(Node* node, int index) {
DCHECK(0 <= index && index < node->op()->EffectInputCount());
return node->InputAt(FirstEffectIndex(node) + index);
}
inline Node* NodeProperties::GetControlInput(Node* node, int index) {
DCHECK(0 <= index && index < node->op()->ControlInputCount());
return node->InputAt(FirstControlIndex(node) + index);
}
inline int NodeProperties::GetFrameStateIndex(Node* node) {
DCHECK(OperatorProperties::HasFrameStateInput(node->op()));
return FirstFrameStateIndex(node);
}
// -----------------------------------------------------------------------------
// Edge kinds.
inline bool NodeProperties::IsInputRange(Edge edge, int first, int num) {
// TODO(titzer): edge.index() is linear time;
// edges maybe need to be marked as value/effect/control.
if (num == 0) return false;
int index = edge.index();
return first <= index && index < first + num;
}
inline bool NodeProperties::IsValueEdge(Edge edge) {
Node* node = edge.from();
return IsInputRange(edge, FirstValueIndex(node),
node->op()->ValueInputCount());
}
inline bool NodeProperties::IsContextEdge(Edge edge) {
Node* node = edge.from();
return IsInputRange(edge, FirstContextIndex(node),
OperatorProperties::GetContextInputCount(node->op()));
}
inline bool NodeProperties::IsEffectEdge(Edge edge) {
Node* node = edge.from();
return IsInputRange(edge, FirstEffectIndex(node),
node->op()->EffectInputCount());
}
inline bool NodeProperties::IsControlEdge(Edge edge) {
Node* node = edge.from();
return IsInputRange(edge, FirstControlIndex(node),
node->op()->ControlInputCount());
}
// -----------------------------------------------------------------------------
// Miscellaneous predicates.
inline bool NodeProperties::IsControl(Node* node) {
return IrOpcode::IsControlOpcode(node->opcode());
}
// -----------------------------------------------------------------------------
// Miscellaneous mutators.
inline void NodeProperties::ReplaceContextInput(Node* node, Node* context) {
node->ReplaceInput(FirstContextIndex(node), context);
}
inline void NodeProperties::ReplaceControlInput(Node* node, Node* control) {
node->ReplaceInput(FirstControlIndex(node), control);
}
inline void NodeProperties::ReplaceEffectInput(Node* node, Node* effect,
int index) {
DCHECK(index < node->op()->EffectInputCount());
return node->ReplaceInput(FirstEffectIndex(node) + index, effect);
}
inline void NodeProperties::ReplaceFrameStateInput(Node* node,
Node* frame_state) {
DCHECK(OperatorProperties::HasFrameStateInput(node->op()));
node->ReplaceInput(FirstFrameStateIndex(node), frame_state);
}
inline void NodeProperties::RemoveNonValueInputs(Node* node) {
node->TrimInputCount(node->op()->ValueInputCount());
}
// Replace value uses of {node} with {value} and effect uses of {node} with
// {effect}. If {effect == NULL}, then use the effect input to {node}.
inline void NodeProperties::ReplaceWithValue(Node* node, Node* value,
Node* effect) {
DCHECK(node->op()->ControlOutputCount() == 0);
if (effect == NULL && node->op()->EffectInputCount() > 0) {
effect = NodeProperties::GetEffectInput(node);
}
// Requires distinguishing between value and effect edges.
for (Edge edge : node->use_edges()) {
if (NodeProperties::IsEffectEdge(edge)) {
DCHECK_NE(NULL, effect);
edge.UpdateTo(effect);
} else {
edge.UpdateTo(value);
}
}
}
// -----------------------------------------------------------------------------
// Type Bounds.
inline bool NodeProperties::IsTyped(Node* node) {
Bounds bounds = node->bounds();
DCHECK((bounds.lower == NULL) == (bounds.upper == NULL));
return bounds.upper != NULL;
}
inline Bounds NodeProperties::GetBounds(Node* node) {
DCHECK(IsTyped(node));
return node->bounds();
}
inline void NodeProperties::RemoveBounds(Node* node) {
Bounds empty;
node->set_bounds(empty);
}
inline void NodeProperties::SetBounds(Node* node, Bounds b) {
DCHECK(b.lower != NULL && b.upper != NULL);
node->set_bounds(b);
}
inline bool NodeProperties::AllValueInputsAreTyped(Node* node) {
int input_count = node->op()->ValueInputCount();
for (int i = 0; i < input_count; ++i) {
if (!IsTyped(GetValueInput(node, i))) return false;
}
return true;
}
}
}
} // namespace v8::internal::compiler
#endif // V8_COMPILER_NODE_PROPERTIES_INL_H_
...@@ -2,13 +2,174 @@ ...@@ -2,13 +2,174 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "src/compiler/common-operator.h"
#include "src/compiler/node-properties.h" #include "src/compiler/node-properties.h"
#include "src/compiler/common-operator.h"
#include "src/compiler/operator-properties.h"
namespace v8 { namespace v8 {
namespace internal { namespace internal {
namespace compiler { namespace compiler {
// static
int NodeProperties::PastValueIndex(Node* node) {
return FirstValueIndex(node) + node->op()->ValueInputCount();
}
// static
int NodeProperties::PastContextIndex(Node* node) {
return FirstContextIndex(node) +
OperatorProperties::GetContextInputCount(node->op());
}
// static
int NodeProperties::PastFrameStateIndex(Node* node) {
return FirstFrameStateIndex(node) +
OperatorProperties::GetFrameStateInputCount(node->op());
}
// static
int NodeProperties::PastEffectIndex(Node* node) {
return FirstEffectIndex(node) + node->op()->EffectInputCount();
}
// static
int NodeProperties::PastControlIndex(Node* node) {
return FirstControlIndex(node) + node->op()->ControlInputCount();
}
// static
Node* NodeProperties::GetValueInput(Node* node, int index) {
DCHECK(0 <= index && index < node->op()->ValueInputCount());
return node->InputAt(FirstValueIndex(node) + index);
}
// static
Node* NodeProperties::GetContextInput(Node* node) {
DCHECK(OperatorProperties::HasContextInput(node->op()));
return node->InputAt(FirstContextIndex(node));
}
// static
Node* NodeProperties::GetFrameStateInput(Node* node) {
DCHECK(OperatorProperties::HasFrameStateInput(node->op()));
return node->InputAt(FirstFrameStateIndex(node));
}
// static
Node* NodeProperties::GetEffectInput(Node* node, int index) {
DCHECK(0 <= index && index < node->op()->EffectInputCount());
return node->InputAt(FirstEffectIndex(node) + index);
}
// static
Node* NodeProperties::GetControlInput(Node* node, int index) {
DCHECK(0 <= index && index < node->op()->ControlInputCount());
return node->InputAt(FirstControlIndex(node) + index);
}
// static
bool NodeProperties::IsValueEdge(Edge edge) {
Node* const node = edge.from();
return IsInputRange(edge, FirstValueIndex(node),
node->op()->ValueInputCount());
}
// static
bool NodeProperties::IsContextEdge(Edge edge) {
Node* const node = edge.from();
return IsInputRange(edge, FirstContextIndex(node),
OperatorProperties::GetContextInputCount(node->op()));
}
// static
bool NodeProperties::IsFrameStateEdge(Edge edge) {
Node* const node = edge.from();
return IsInputRange(edge, FirstFrameStateIndex(node),
OperatorProperties::GetFrameStateInputCount(node->op()));
}
// static
bool NodeProperties::IsEffectEdge(Edge edge) {
Node* const node = edge.from();
return IsInputRange(edge, FirstEffectIndex(node),
node->op()->EffectInputCount());
}
// static
bool NodeProperties::IsControlEdge(Edge edge) {
Node* const node = edge.from();
return IsInputRange(edge, FirstControlIndex(node),
node->op()->ControlInputCount());
}
// static
void NodeProperties::ReplaceContextInput(Node* node, Node* context) {
node->ReplaceInput(FirstContextIndex(node), context);
}
// static
void NodeProperties::ReplaceControlInput(Node* node, Node* control) {
node->ReplaceInput(FirstControlIndex(node), control);
}
// static
void NodeProperties::ReplaceEffectInput(Node* node, Node* effect, int index) {
DCHECK(index < node->op()->EffectInputCount());
return node->ReplaceInput(FirstEffectIndex(node) + index, effect);
}
// static
void NodeProperties::ReplaceFrameStateInput(Node* node, Node* frame_state) {
DCHECK(OperatorProperties::HasFrameStateInput(node->op()));
node->ReplaceInput(FirstFrameStateIndex(node), frame_state);
}
// static
void NodeProperties::RemoveNonValueInputs(Node* node) {
node->TrimInputCount(node->op()->ValueInputCount());
}
// static
void NodeProperties::ReplaceWithValue(Node* node, Node* value, Node* effect) {
DCHECK(node->op()->ControlOutputCount() == 0);
if (!effect && node->op()->EffectInputCount() > 0) {
effect = NodeProperties::GetEffectInput(node);
}
// Requires distinguishing between value and effect edges.
for (Edge edge : node->use_edges()) {
if (IsEffectEdge(edge)) {
DCHECK_NOT_NULL(effect);
edge.UpdateTo(effect);
} else {
edge.UpdateTo(value);
}
}
}
// static
Node* NodeProperties::FindProjection(Node* node, size_t projection_index) { Node* NodeProperties::FindProjection(Node* node, size_t projection_index) {
for (auto use : node->uses()) { for (auto use : node->uses()) {
if (use->opcode() == IrOpcode::kProjection && if (use->opcode() == IrOpcode::kProjection &&
...@@ -19,6 +180,24 @@ Node* NodeProperties::FindProjection(Node* node, size_t projection_index) { ...@@ -19,6 +180,24 @@ Node* NodeProperties::FindProjection(Node* node, size_t projection_index) {
return nullptr; return nullptr;
} }
// static
bool NodeProperties::AllValueInputsAreTyped(Node* node) {
int input_count = node->op()->ValueInputCount();
for (int index = 0; index < input_count; ++index) {
if (!IsTyped(GetValueInput(node, index))) return false;
}
return true;
}
// static
bool NodeProperties::IsInputRange(Edge edge, int first, int num) {
if (num == 0) return false;
int const index = edge.index();
return first <= index && index < first + num;
}
} // namespace compiler } // namespace compiler
} // namespace internal } // namespace internal
} // namespace v8 } // namespace v8
...@@ -15,51 +15,103 @@ namespace compiler { ...@@ -15,51 +15,103 @@ namespace compiler {
class Operator; class Operator;
// A facade that simplifies access to the different kinds of inputs to a node. // A facade that simplifies access to the different kinds of inputs to a node.
class NodeProperties { class NodeProperties FINAL {
public: public:
static inline Node* GetValueInput(Node* node, int index); // ---------------------------------------------------------------------------
static inline Node* GetContextInput(Node* node); // Input layout.
static inline Node* GetFrameStateInput(Node* node); // Inputs are always arranged in order as follows:
static inline Node* GetEffectInput(Node* node, int index = 0); // 0 [ values, context, frame state, effects, control ] node->InputCount()
static inline Node* GetControlInput(Node* node, int index = 0);
static int FirstValueIndex(Node* node) { return 0; }
static inline int GetFrameStateIndex(Node* node); static int FirstContextIndex(Node* node) { return PastValueIndex(node); }
static int FirstFrameStateIndex(Node* node) { return PastContextIndex(node); }
static inline bool IsValueEdge(Edge edge); static int FirstEffectIndex(Node* node) { return PastFrameStateIndex(node); }
static inline bool IsContextEdge(Edge edge); static int FirstControlIndex(Node* node) { return PastEffectIndex(node); }
static inline bool IsEffectEdge(Edge edge); static int PastValueIndex(Node* node);
static inline bool IsControlEdge(Edge edge); static int PastContextIndex(Node* node);
static int PastFrameStateIndex(Node* node);
static inline bool IsControl(Node* node); static int PastEffectIndex(Node* node);
static int PastControlIndex(Node* node);
static inline void ReplaceContextInput(Node* node, Node* context);
static inline void ReplaceControlInput(Node* node, Node* control);
static inline void ReplaceEffectInput(Node* node, Node* effect, // ---------------------------------------------------------------------------
int index = 0); // Input accessors.
static inline void ReplaceFrameStateInput(Node* node, Node* frame_state);
static inline void RemoveNonValueInputs(Node* node); static Node* GetValueInput(Node* node, int index);
static inline void ReplaceWithValue(Node* node, Node* value, static Node* GetContextInput(Node* node);
Node* effect = nullptr); static Node* GetFrameStateInput(Node* node);
static Node* GetEffectInput(Node* node, int index = 0);
static Node* GetControlInput(Node* node, int index = 0);
// ---------------------------------------------------------------------------
// Edge kinds.
static bool IsValueEdge(Edge edge);
static bool IsContextEdge(Edge edge);
static bool IsFrameStateEdge(Edge edge);
static bool IsEffectEdge(Edge edge);
static bool IsControlEdge(Edge edge);
// ---------------------------------------------------------------------------
// Miscellaneous predicates.
static bool IsCommon(Node* node) {
return IrOpcode::IsCommonOpcode(node->opcode());
}
static bool IsControl(Node* node) {
return IrOpcode::IsControlOpcode(node->opcode());
}
static bool IsConstant(Node* node) {
return IrOpcode::IsConstantOpcode(node->opcode());
}
static bool IsPhi(Node* node) {
return IrOpcode::IsPhiOpcode(node->opcode());
}
// ---------------------------------------------------------------------------
// Miscellaneous mutators.
static void ReplaceContextInput(Node* node, Node* context);
static void ReplaceControlInput(Node* node, Node* control);
static void ReplaceEffectInput(Node* node, Node* effect, int index = 0);
static void ReplaceFrameStateInput(Node* node, Node* frame_state);
static void RemoveNonValueInputs(Node* node);
// Replace value uses of {node} with {value} and effect uses of {node} with
// {effect}. If {effect == NULL}, then use the effect input to {node}.
static void ReplaceWithValue(Node* node, Node* value, Node* effect = nullptr);
// ---------------------------------------------------------------------------
// Miscellaneous utilities.
static Node* FindProjection(Node* node, size_t projection_index); static Node* FindProjection(Node* node, size_t projection_index);
static inline bool IsTyped(Node* node);
static inline Bounds GetBounds(Node* node);
static inline void SetBounds(Node* node, Bounds bounds);
static inline void RemoveBounds(Node* node);
static inline bool AllValueInputsAreTyped(Node* node);
static inline int FirstValueIndex(Node* node);
static inline int FirstContextIndex(Node* node);
static inline int FirstFrameStateIndex(Node* node);
static inline int FirstEffectIndex(Node* node);
static inline int FirstControlIndex(Node* node);
static inline int PastValueIndex(Node* node);
static inline int PastContextIndex(Node* node);
static inline int PastFrameStateIndex(Node* node);
static inline int PastEffectIndex(Node* node);
static inline int PastControlIndex(Node* node);
// ---------------------------------------------------------------------------
// Type Bounds.
static bool IsTyped(Node* node) {
Bounds const bounds = node->bounds();
DCHECK(!bounds.lower == !bounds.upper);
return bounds.upper;
}
static Bounds GetBounds(Node* node) {
DCHECK(IsTyped(node));
return node->bounds();
}
static void SetBounds(Node* node, Bounds bounds) {
DCHECK_NOT_NULL(bounds.lower);
DCHECK_NOT_NULL(bounds.upper);
node->set_bounds(bounds);
}
static void RemoveBounds(Node* node) { node->set_bounds(Bounds()); }
static bool AllValueInputsAreTyped(Node* node);
private:
static inline bool IsInputRange(Edge edge, int first, int count); static inline bool IsInputRange(Edge edge, int first, int count);
}; };
......
...@@ -10,7 +10,6 @@ ...@@ -10,7 +10,6 @@
#include "src/base/bits.h" #include "src/base/bits.h"
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/machine-operator.h" #include "src/compiler/machine-operator.h"
#include "src/compiler/node-properties-inl.h"
#include "src/compiler/simplified-operator.h" #include "src/compiler/simplified-operator.h"
namespace v8 { namespace v8 {
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
#include "src/compiler/node.h" #include "src/compiler/node.h"
#include "src/compiler/node-properties.h" #include "src/compiler/node-properties.h"
#include "src/compiler/node-properties-inl.h"
#include "src/ostreams.h" #include "src/ostreams.h"
namespace v8 { namespace v8 {
......
...@@ -2,18 +2,16 @@ ...@@ -2,18 +2,16 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include <deque>
#include <queue>
#include "src/compiler/scheduler.h" #include "src/compiler/scheduler.h"
#include "src/bit-vector.h" #include "src/bit-vector.h"
#include "src/compiler/common-operator.h"
#include "src/compiler/control-equivalence.h" #include "src/compiler/control-equivalence.h"
#include "src/compiler/graph.h" #include "src/compiler/graph.h"
#include "src/compiler/graph-inl.h" #include "src/compiler/graph-inl.h"
#include "src/compiler/node.h" #include "src/compiler/node.h"
#include "src/compiler/node-marker.h" #include "src/compiler/node-marker.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
namespace v8 { namespace v8 {
namespace internal { namespace internal {
...@@ -1417,8 +1415,7 @@ void Scheduler::FuseFloatingControl(BasicBlock* block, Node* node) { ...@@ -1417,8 +1415,7 @@ void Scheduler::FuseFloatingControl(BasicBlock* block, Node* node) {
NodeVector propagation_roots(control_flow_builder_->control_); NodeVector propagation_roots(control_flow_builder_->control_);
for (Node* node : control_flow_builder_->control_) { for (Node* node : control_flow_builder_->control_) {
for (Node* use : node->uses()) { for (Node* use : node->uses()) {
if (IrOpcode::IsPhiOpcode(use->opcode())) if (NodeProperties::IsPhi(use)) propagation_roots.push_back(use);
propagation_roots.push_back(use);
} }
} }
if (FLAG_trace_turbo_scheduler) { if (FLAG_trace_turbo_scheduler) {
......
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
#include "src/compiler/diamond.h" #include "src/compiler/diamond.h"
#include "src/compiler/linkage.h" #include "src/compiler/linkage.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/operator-properties.h"
#include "src/compiler/representation-change.h" #include "src/compiler/representation-change.h"
#include "src/compiler/simplified-lowering.h" #include "src/compiler/simplified-lowering.h"
#include "src/compiler/simplified-operator.h" #include "src/compiler/simplified-operator.h"
......
...@@ -8,7 +8,8 @@ ...@@ -8,7 +8,8 @@
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/machine-operator.h" #include "src/compiler/machine-operator.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/operator-properties.h"
namespace v8 { namespace v8 {
namespace internal { namespace internal {
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include "src/compiler/graph-reducer.h" #include "src/compiler/graph-reducer.h"
#include "src/compiler/js-operator.h" #include "src/compiler/js-operator.h"
#include "src/compiler/node.h" #include "src/compiler/node.h"
#include "src/compiler/node-properties-inl.h"
#include "src/compiler/node-properties.h" #include "src/compiler/node-properties.h"
#include "src/compiler/simplified-operator.h" #include "src/compiler/simplified-operator.h"
#include "src/compiler/typer.h" #include "src/compiler/typer.h"
......
...@@ -12,12 +12,13 @@ ...@@ -12,12 +12,13 @@
#include "src/bit-vector.h" #include "src/bit-vector.h"
#include "src/compiler/all-nodes.h" #include "src/compiler/all-nodes.h"
#include "src/compiler/common-operator.h"
#include "src/compiler/graph.h" #include "src/compiler/graph.h"
#include "src/compiler/node.h" #include "src/compiler/node.h"
#include "src/compiler/node-properties-inl.h"
#include "src/compiler/node-properties.h" #include "src/compiler/node-properties.h"
#include "src/compiler/opcodes.h" #include "src/compiler/opcodes.h"
#include "src/compiler/operator.h" #include "src/compiler/operator.h"
#include "src/compiler/operator-properties.h"
#include "src/compiler/schedule.h" #include "src/compiler/schedule.h"
#include "src/compiler/simplified-operator.h" #include "src/compiler/simplified-operator.h"
#include "src/ostreams.h" #include "src/ostreams.h"
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include "src/compiler/code-generator-impl.h" #include "src/compiler/code-generator-impl.h"
#include "src/compiler/gap-resolver.h" #include "src/compiler/gap-resolver.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h"
#include "src/compiler/osr.h" #include "src/compiler/osr.h"
#include "src/scopes.h" #include "src/scopes.h"
#include "src/x64/assembler-x64.h" #include "src/x64/assembler-x64.h"
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include "src/compiler/change-lowering.h" #include "src/compiler/change-lowering.h"
#include "src/compiler/control-builders.h" #include "src/compiler/control-builders.h"
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/pipeline.h" #include "src/compiler/pipeline.h"
#include "src/compiler/select-lowering.h" #include "src/compiler/select-lowering.h"
#include "src/compiler/simplified-lowering.h" #include "src/compiler/simplified-lowering.h"
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "src/compiler/control-reducer.h" #include "src/compiler/control-reducer.h"
#include "src/compiler/graph-inl.h" #include "src/compiler/graph-inl.h"
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
using namespace v8::internal; using namespace v8::internal;
using namespace v8::internal::compiler; using namespace v8::internal::compiler;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#include "src/assembler.h" #include "src/assembler.h"
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/typer.h" #include "src/compiler/typer.h"
#include "src/types.h" #include "src/types.h"
#include "test/cctest/cctest.h" #include "test/cctest/cctest.h"
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#include "src/compiler/js-context-specialization.h" #include "src/compiler/js-context-specialization.h"
#include "src/compiler/js-operator.h" #include "src/compiler/js-operator.h"
#include "src/compiler/node-matchers.h" #include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/source-position.h" #include "src/compiler/source-position.h"
#include "test/cctest/cctest.h" #include "test/cctest/cctest.h"
#include "test/cctest/compiler/function-tester.h" #include "test/cctest/compiler/function-tester.h"
......
...@@ -6,8 +6,9 @@ ...@@ -6,8 +6,9 @@
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/js-typed-lowering.h" #include "src/compiler/js-typed-lowering.h"
#include "src/compiler/machine-operator.h" #include "src/compiler/machine-operator.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/opcodes.h" #include "src/compiler/opcodes.h"
#include "src/compiler/operator-properties.h"
#include "src/compiler/typer.h" #include "src/compiler/typer.h"
#include "test/cctest/cctest.h" #include "test/cctest/cctest.h"
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include "src/compiler/control-builders.h" #include "src/compiler/control-builders.h"
#include "src/compiler/graph-reducer.h" #include "src/compiler/graph-reducer.h"
#include "src/compiler/graph-visualizer.h" #include "src/compiler/graph-visualizer.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/pipeline.h" #include "src/compiler/pipeline.h"
#include "src/compiler/representation-change.h" #include "src/compiler/representation-change.h"
#include "src/compiler/simplified-lowering.h" #include "src/compiler/simplified-lowering.h"
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#include "src/codegen.h" #include "src/codegen.h"
#include "src/compiler/js-operator.h" #include "src/compiler/js-operator.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/typer.h" #include "src/compiler/typer.h"
#include "test/cctest/cctest.h" #include "test/cctest/cctest.h"
#include "test/cctest/compiler/graph-builder-tester.h" #include "test/cctest/compiler/graph-builder-tester.h"
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#include "src/compiler/change-lowering.h" #include "src/compiler/change-lowering.h"
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/linkage.h" #include "src/compiler/linkage.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/simplified-operator.h" #include "src/compiler/simplified-operator.h"
#include "test/unittests/compiler/compiler-test-utils.h" #include "test/unittests/compiler/compiler-test-utils.h"
#include "test/unittests/compiler/graph-unittest.h" #include "test/unittests/compiler/graph-unittest.h"
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#include "src/bit-vector.h" #include "src/bit-vector.h"
#include "src/compiler/control-equivalence.h" #include "src/compiler/control-equivalence.h"
#include "src/compiler/graph-visualizer.h" #include "src/compiler/graph-visualizer.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/zone-containers.h" #include "src/zone-containers.h"
#include "test/unittests/compiler/graph-unittest.h" #include "test/unittests/compiler/graph-unittest.h"
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "test/unittests/compiler/graph-unittest.h" #include "test/unittests/compiler/graph-unittest.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "test/unittests/compiler/node-test-utils.h" #include "test/unittests/compiler/node-test-utils.h"
namespace v8 { namespace v8 {
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "src/compiler/js-builtin-reducer.h" #include "src/compiler/js-builtin-reducer.h"
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/typer.h" #include "src/compiler/typer.h"
#include "test/unittests/compiler/graph-unittest.h" #include "test/unittests/compiler/graph-unittest.h"
#include "test/unittests/compiler/node-test-utils.h" #include "test/unittests/compiler/node-test-utils.h"
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include "src/compiler/js-operator.h" #include "src/compiler/js-operator.h"
#include "src/compiler/js-typed-lowering.h" #include "src/compiler/js-typed-lowering.h"
#include "src/compiler/machine-operator.h" #include "src/compiler/machine-operator.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "test/unittests/compiler/compiler-test-utils.h" #include "test/unittests/compiler/compiler-test-utils.h"
#include "test/unittests/compiler/graph-unittest.h" #include "test/unittests/compiler/graph-unittest.h"
#include "test/unittests/compiler/node-test-utils.h" #include "test/unittests/compiler/node-test-utils.h"
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include "src/compiler/loop-peeling.h" #include "src/compiler/loop-peeling.h"
#include "src/compiler/machine-operator.h" #include "src/compiler/machine-operator.h"
#include "src/compiler/node.h" #include "src/compiler/node.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "test/unittests/compiler/compiler-test-utils.h" #include "test/unittests/compiler/compiler-test-utils.h"
#include "test/unittests/compiler/graph-unittest.h" #include "test/unittests/compiler/graph-unittest.h"
#include "test/unittests/compiler/node-test-utils.h" #include "test/unittests/compiler/node-test-utils.h"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
#include "src/compiler/common-operator.h" #include "src/compiler/common-operator.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "test/unittests/test-utils.h" #include "test/unittests/test-utils.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
......
...@@ -5,8 +5,9 @@ ...@@ -5,8 +5,9 @@
#include "test/unittests/compiler/node-test-utils.h" #include "test/unittests/compiler/node-test-utils.h"
#include "src/assembler.h" #include "src/assembler.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/simplified-operator.h" #include "src/compiler/simplified-operator.h"
#include "src/unique.h"
using testing::_; using testing::_;
using testing::MakeMatcher; using testing::MakeMatcher;
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "src/compiler/access-builder.h" #include "src/compiler/access-builder.h"
#include "src/compiler/js-graph.h" #include "src/compiler/js-graph.h"
#include "src/compiler/node-properties-inl.h" #include "src/compiler/node-properties.h"
#include "src/compiler/simplified-operator.h" #include "src/compiler/simplified-operator.h"
#include "src/compiler/simplified-operator-reducer.h" #include "src/compiler/simplified-operator-reducer.h"
#include "src/conversions.h" #include "src/conversions.h"
......
...@@ -500,7 +500,6 @@ ...@@ -500,7 +500,6 @@
'../../src/compiler/node-marker.cc', '../../src/compiler/node-marker.cc',
'../../src/compiler/node-marker.h', '../../src/compiler/node-marker.h',
'../../src/compiler/node-matchers.h', '../../src/compiler/node-matchers.h',
'../../src/compiler/node-properties-inl.h',
'../../src/compiler/node-properties.cc', '../../src/compiler/node-properties.cc',
'../../src/compiler/node-properties.h', '../../src/compiler/node-properties.h',
'../../src/compiler/node.cc', '../../src/compiler/node.cc',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment