< prev index next >

src/share/vm/opto/matcher.hpp

Print this page




 107   }
 108   Node*       new_node(const Node* n) const {
 109     assert(has_new_node(n), "set before get");
 110     return _nodes.at(n->_idx);
 111   }
 112   void    set_new_node(const Node* n, Node *nn) {
 113     assert(!has_new_node(n), "set only once");
 114     _nodes.map(n->_idx, nn);
 115   }
 116 
 117 #ifdef ASSERT
 118   // Make sure only new nodes are reachable from this node
 119   void verify_new_nodes_only(Node* root);
 120 
 121   Node* _mem_node;   // Ideal memory node consumed by mach node
 122 #endif
 123 
 124   // Mach node for ConP #NULL
 125   MachNode* _mach_null;
 126 


 127 public:
 128   int LabelRootDepth;
 129   // Convert ideal machine register to a register mask for spill-loads
 130   static const RegMask *idealreg2regmask[];
 131   RegMask *idealreg2spillmask  [_last_machine_leaf];
 132   RegMask *idealreg2debugmask  [_last_machine_leaf];
 133   RegMask *idealreg2mhdebugmask[_last_machine_leaf];
 134   void init_spill_mask( Node *ret );
 135   // Convert machine register number to register mask
 136   static uint mreg2regmask_max;
 137   static RegMask mreg2regmask[];
 138   static RegMask STACK_ONLY_mask;
 139 
 140   MachNode* mach_null() const { return _mach_null; }
 141 
 142   bool    is_shared( Node *n ) { return _shared.test(n->_idx) != 0; }
 143   void   set_shared( Node *n ) {  _shared.set(n->_idx); }
 144   bool   is_visited( Node *n ) { return _visited.test(n->_idx) != 0; }
 145   void  set_visited( Node *n ) { _visited.set(n->_idx); }
 146   bool  is_dontcare( Node *n ) { return _dontcare.test(n->_idx) != 0; }




 107   }
 108   Node*       new_node(const Node* n) const {
 109     assert(has_new_node(n), "set before get");
 110     return _nodes.at(n->_idx);
 111   }
 112   void    set_new_node(const Node* n, Node *nn) {
 113     assert(!has_new_node(n), "set only once");
 114     _nodes.map(n->_idx, nn);
 115   }
 116 
 117 #ifdef ASSERT
 118   // Make sure only new nodes are reachable from this node
 119   void verify_new_nodes_only(Node* root);
 120 
 121   Node* _mem_node;   // Ideal memory node consumed by mach node
 122 #endif
 123 
 124   // Mach node for ConP #NULL
 125   MachNode* _mach_null;
 126 
 127   void handle_precedence_edges(Node* n, MachNode *mach);
 128 
 129 public:
 130   int LabelRootDepth;
 131   // Convert ideal machine register to a register mask for spill-loads
 132   static const RegMask *idealreg2regmask[];
 133   RegMask *idealreg2spillmask  [_last_machine_leaf];
 134   RegMask *idealreg2debugmask  [_last_machine_leaf];
 135   RegMask *idealreg2mhdebugmask[_last_machine_leaf];
 136   void init_spill_mask( Node *ret );
 137   // Convert machine register number to register mask
 138   static uint mreg2regmask_max;
 139   static RegMask mreg2regmask[];
 140   static RegMask STACK_ONLY_mask;
 141 
 142   MachNode* mach_null() const { return _mach_null; }
 143 
 144   bool    is_shared( Node *n ) { return _shared.test(n->_idx) != 0; }
 145   void   set_shared( Node *n ) {  _shared.set(n->_idx); }
 146   bool   is_visited( Node *n ) { return _visited.test(n->_idx) != 0; }
 147   void  set_visited( Node *n ) { _visited.set(n->_idx); }
 148   bool  is_dontcare( Node *n ) { return _dontcare.test(n->_idx) != 0; }


< prev index next >