Revision: 23074
Author:   [email protected]
Date:     Tue Aug 12 12:20:39 2014 UTC
Log:      Provide mutators in NodeProperties instead of exposing indicies.

BUG=
[email protected]

Review URL: https://codereview.chromium.org/462633003
http://code.google.com/p/v8/source/detail?r=23074

Modified:
 /branches/bleeding_edge/src/compiler/node-properties-inl.h
 /branches/bleeding_edge/src/compiler/node-properties.h
 /branches/bleeding_edge/test/cctest/compiler/test-simplified-lowering.cc

=======================================
--- /branches/bleeding_edge/src/compiler/node-properties-inl.h Thu Aug 7 09:14:47 2014 UTC +++ /branches/bleeding_edge/src/compiler/node-properties-inl.h Tue Aug 12 12:20:39 2014 UTC
@@ -23,12 +23,11 @@
 // 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::GetContextIndex(Node* node) {
+inline int NodeProperties::FirstContextIndex(Node* node) {
   return PastValueIndex(node);
 }
-
-inline int NodeProperties::FirstValueIndex(Node* node) { return 0; }

 inline int NodeProperties::FirstEffectIndex(Node* node) {
   return PastContextIndex(node);
@@ -45,7 +44,7 @@
 }

 inline int NodeProperties::PastContextIndex(Node* node) {
-  return GetContextIndex(node) +
+  return FirstContextIndex(node) +
          OperatorProperties::GetContextInputCount(node->op());
 }

@@ -71,7 +70,7 @@

 inline Node* NodeProperties::GetContextInput(Node* node) {
   DCHECK(OperatorProperties::HasContextInput(node->op()));
-  return node->InputAt(GetContextIndex(node));
+  return node->InputAt(FirstContextIndex(node));
 }

 inline Node* NodeProperties::GetEffectInput(Node* node, int index) {
@@ -106,7 +105,7 @@

 inline bool NodeProperties::IsContextEdge(Node::Edge edge) {
   Node* node = edge.from();
-  return IsInputRange(edge, GetContextIndex(node),
+  return IsInputRange(edge, FirstContextIndex(node),
OperatorProperties::GetContextInputCount(node->op()));
 }

@@ -134,13 +133,14 @@
// -----------------------------------------------------------------------------
 // Miscellaneous mutators.

+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 < OperatorProperties::GetEffectInputCount(node->op()));
-  return node->ReplaceInput(
-      OperatorProperties::GetValueInputCount(node->op()) +
-          OperatorProperties::GetContextInputCount(node->op()) + index,
-      effect);
+  return node->ReplaceInput(FirstEffectIndex(node) + index, effect);
 }

 inline void NodeProperties::RemoveNonValueInputs(Node* node) {
=======================================
--- /branches/bleeding_edge/src/compiler/node-properties.h Tue Aug 12 08:24:20 2014 UTC +++ /branches/bleeding_edge/src/compiler/node-properties.h Tue Aug 12 12:20:39 2014 UTC
@@ -29,6 +29,7 @@

   static inline bool IsControl(Node* node);

+  static inline void ReplaceControlInput(Node* node, Node* control);
   static inline void ReplaceEffectInput(Node* node, Node* effect,
                                         int index = 0);
   static inline void RemoveNonValueInputs(Node* node);
@@ -36,9 +37,9 @@
   static inline Bounds GetBounds(Node* node);
   static inline void SetBounds(Node* node, Bounds bounds);

-  static inline int GetContextIndex(Node* node);
-
+ private:
   static inline int FirstValueIndex(Node* node);
+  static inline int FirstContextIndex(Node* node);
   static inline int FirstEffectIndex(Node* node);
   static inline int FirstControlIndex(Node* node);
   static inline int PastValueIndex(Node* node);
=======================================
--- /branches/bleeding_edge/test/cctest/compiler/test-simplified-lowering.cc Tue Aug 12 08:06:02 2014 UTC +++ /branches/bleeding_edge/test/cctest/compiler/test-simplified-lowering.cc Tue Aug 12 12:20:39 2014 UTC
@@ -707,7 +707,7 @@
     Node* tb = graph()->NewNode(common()->IfTrue(), br);
     Node* fb = graph()->NewNode(common()->IfFalse(), br);
     Node* m = graph()->NewNode(common()->Merge(2), tb, fb);
-    ret->ReplaceInput(NodeProperties::FirstControlIndex(ret), m);
+    NodeProperties::ReplaceControlInput(ret, m);
     return br;
   }

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to