< prev index next >

src/hotspot/share/opto/compile.hpp

Print this page

        

@@ -81,11 +81,11 @@
 class TypeData;
 class TypeInt;
 class TypePtr;
 class TypeOopPtr;
 class TypeFunc;
-class ValueTypePtrNode;
+class ValueTypeBaseNode;
 class Unique_Node_List;
 class nmethod;
 class WarmCallInfo;
 class Node_Stack;
 struct Final_Reshape_Counts;

@@ -414,11 +414,11 @@
   GrowableArray<CallGenerator*>* _intrinsics;   // List of intrinsics.
   GrowableArray<Node*>* _macro_nodes;           // List of nodes which need to be expanded before matching.
   GrowableArray<Node*>* _predicate_opaqs;       // List of Opaque1 nodes for the loop predicates.
   GrowableArray<Node*>* _expensive_nodes;       // List of nodes that are expensive to compute and that we'd better not let the GVN freely common
   GrowableArray<Node*>* _range_check_casts;     // List of CastII nodes with a range check dependency
-  GrowableArray<ValueTypePtrNode*>* _value_type_ptr_nodes; // List of ValueTypePtr nodes
+  Unique_Node_List*     _value_type_nodes;      // List of ValueType nodes
   ConnectionGraph*      _congraph;
 #ifndef PRODUCT
   IdealGraphPrinter*    _printer;
 #endif
 

@@ -807,20 +807,15 @@
   Node* range_check_cast_node(int idx) const { return _range_check_casts->at(idx);  }
   int   range_check_cast_count()       const { return _range_check_casts->length(); }
   // Remove all range check dependent CastIINodes.
   void  remove_range_check_casts(PhaseIterGVN &igvn);
 
-  void add_value_type_ptr(ValueTypePtrNode* n);
-  void remove_value_type_ptr(ValueTypePtrNode* n) {
-    if (_value_type_ptr_nodes->contains(n)) {
-      _value_type_ptr_nodes->remove(n);
-    }
-  }
-  ValueTypePtrNode* value_type_ptr(int idx) const { return _value_type_ptr_nodes->at(idx);  }
-  int   value_type_ptr_count()       const { return _value_type_ptr_nodes->length(); }
-  void  process_value_type_ptr_nodes(PhaseIterGVN &igvn);
-  bool can_add_value_type_ptr() const { return _value_type_ptr_nodes != NULL; }
+  // Keep track of value type nodes for later processing
+  void add_value_type(Node* n);
+  void remove_value_type(Node* n);
+  void process_value_types(PhaseIterGVN &igvn);
+  bool can_add_value_type() const { return _value_type_nodes != NULL; }
 
   // remove the opaque nodes that protect the predicates so that the unused checks and
   // uncommon traps will be eliminated from the graph.
   void cleanup_loop_predicates(PhaseIterGVN &igvn);
   bool is_predicate_opaq(Node * n) {
< prev index next >