src/share/vm/opto/matcher.hpp

changeset 670
9c2ecc2ffb12
parent 631
d1605aabd0a1
parent 657
2a1a77d3458f
child 803
36ccc817fca4
equal deleted inserted replaced
632:de141433919f 670:9c2ecc2ffb12
82 Node_List &_proj_list; // For Machine nodes killing many values 82 Node_List &_proj_list; // For Machine nodes killing many values
83 83
84 Node_Array _shared_nodes; 84 Node_Array _shared_nodes;
85 85
86 debug_only(Node_Array _old2new_map;) // Map roots of ideal-trees to machine-roots 86 debug_only(Node_Array _old2new_map;) // Map roots of ideal-trees to machine-roots
87 debug_only(Node_Array _new2old_map;) // Maps machine nodes back to ideal
87 88
88 // Accessors for the inherited field PhaseTransform::_nodes: 89 // Accessors for the inherited field PhaseTransform::_nodes:
89 void grow_new_node_array(uint idx_limit) { 90 void grow_new_node_array(uint idx_limit) {
90 _nodes.map(idx_limit-1, NULL); 91 _nodes.map(idx_limit-1, NULL);
91 } 92 }
102 } 103 }
103 104
104 #ifdef ASSERT 105 #ifdef ASSERT
105 // Make sure only new nodes are reachable from this node 106 // Make sure only new nodes are reachable from this node
106 void verify_new_nodes_only(Node* root); 107 void verify_new_nodes_only(Node* root);
108
109 Node* _mem_node; // Ideal memory node consumed by mach node
107 #endif 110 #endif
108 111
109 public: 112 public:
110 int LabelRootDepth; 113 int LabelRootDepth;
111 static const int base2reg[]; // Map Types to machine register types 114 static const int base2reg[]; // Map Types to machine register types
386 static bool post_store_load_barrier(const Node* mb); 389 static bool post_store_load_barrier(const Node* mb);
387 390
388 391
389 #ifdef ASSERT 392 #ifdef ASSERT
390 void dump_old2new_map(); // machine-independent to machine-dependent 393 void dump_old2new_map(); // machine-independent to machine-dependent
394
395 Node* find_old_node(Node* new_node) {
396 return _new2old_map[new_node->_idx];
397 }
391 #endif 398 #endif
392 }; 399 };

mercurial