src/share/vm/opto/matcher.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hs-comp-bmi1 Sdiff src/share/vm/opto

src/share/vm/opto/matcher.hpp

Print this page




  62   // Convert a dense opcode number to an expanded rule number
  63   const int *_reduceOp;
  64   const int *_leftOp;
  65   const int *_rightOp;
  66 
  67   // Map dense opcode number to info on when rule is swallowed constant.
  68   const bool *_swallowed;
  69 
  70   // Map dense rule number to determine if this is an instruction chain rule
  71   const uint _begin_inst_chain_rule;
  72   const uint _end_inst_chain_rule;
  73 
  74   // We want to clone constants and possible CmpI-variants.
  75   // If we do not clone CmpI, then we can have many instances of
  76   // condition codes alive at once.  This is OK on some chips and
  77   // bad on others.  Hence the machine-dependent table lookup.
  78   const char *_must_clone;
  79 
  80   // Find shared Nodes, or Nodes that otherwise are Matcher roots
  81   void find_shared( Node *n );



  82 
  83   // Debug and profile information for nodes in old space:
  84   GrowableArray<Node_Notes*>* _old_node_note_array;
  85 
  86   // Node labeling iterator for instruction selection
  87   Node *Label_Root( const Node *n, State *svec, Node *control, const Node *mem );
  88 
  89   Node *transform( Node *dummy );
  90 
  91   Node_List _projection_list;        // For Machine nodes killing many values
  92 
  93   Node_Array _shared_nodes;
  94 
  95   debug_only(Node_Array _old2new_map;)   // Map roots of ideal-trees to machine-roots
  96   debug_only(Node_Array _new2old_map;)   // Maps machine nodes back to ideal
  97 
  98   // Accessors for the inherited field PhaseTransform::_nodes:
  99   void   grow_new_node_array(uint idx_limit) {
 100     _nodes.map(idx_limit-1, NULL);
 101   }




  62   // Convert a dense opcode number to an expanded rule number
  63   const int *_reduceOp;
  64   const int *_leftOp;
  65   const int *_rightOp;
  66 
  67   // Map dense opcode number to info on when rule is swallowed constant.
  68   const bool *_swallowed;
  69 
  70   // Map dense rule number to determine if this is an instruction chain rule
  71   const uint _begin_inst_chain_rule;
  72   const uint _end_inst_chain_rule;
  73 
  74   // We want to clone constants and possible CmpI-variants.
  75   // If we do not clone CmpI, then we can have many instances of
  76   // condition codes alive at once.  This is OK on some chips and
  77   // bad on others.  Hence the machine-dependent table lookup.
  78   const char *_must_clone;
  79 
  80   // Find shared Nodes, or Nodes that otherwise are Matcher roots
  81   void find_shared( Node *n );
  82 #ifdef X86
  83   bool is_bmi_pattern(Node *n, Node *m);
  84 #endif
  85 
  86   // Debug and profile information for nodes in old space:
  87   GrowableArray<Node_Notes*>* _old_node_note_array;
  88 
  89   // Node labeling iterator for instruction selection
  90   Node *Label_Root( const Node *n, State *svec, Node *control, const Node *mem );
  91 
  92   Node *transform( Node *dummy );
  93 
  94   Node_List _projection_list;        // For Machine nodes killing many values
  95 
  96   Node_Array _shared_nodes;
  97 
  98   debug_only(Node_Array _old2new_map;)   // Map roots of ideal-trees to machine-roots
  99   debug_only(Node_Array _new2old_map;)   // Maps machine nodes back to ideal
 100 
 101   // Accessors for the inherited field PhaseTransform::_nodes:
 102   void   grow_new_node_array(uint idx_limit) {
 103     _nodes.map(idx_limit-1, NULL);
 104   }


src/share/vm/opto/matcher.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File