hotspot/src/share/vm/adlc/formssel.hpp
changeset 5536 f23c4e2e0d5e
parent 3272 5a1e113bfed5
child 5547 f4b087cbb361
equal deleted inserted replaced
5535:a747f18b3d7e 5536:f23c4e2e0d5e
   186   };
   186   };
   187 
   187 
   188 
   188 
   189   // This instruction captures the machine-independent bottom_type
   189   // This instruction captures the machine-independent bottom_type
   190   // Expected use is for pointer vs oop determination for LoadP
   190   // Expected use is for pointer vs oop determination for LoadP
   191   virtual bool        captures_bottom_type() const;
   191   virtual bool        captures_bottom_type(FormDict& globals) const;
   192 
   192 
   193   virtual const char *cost();      // Access ins_cost attribute
   193   virtual const char *cost();      // Access ins_cost attribute
   194   virtual uint        num_opnds(); // Count of num_opnds for MachNode class
   194   virtual uint        num_opnds(); // Count of num_opnds for MachNode class
   195   virtual uint        num_post_match_opnds();
   195   virtual uint        num_post_match_opnds();
   196   virtual uint        num_consts(FormDict &globals) const;// Constants in match rule
   196   virtual uint        num_consts(FormDict &globals) const;// Constants in match rule
   227   // Return NULL if there is no right hand side
   227   // Return NULL if there is no right hand side
   228   const char         *reduce_right(FormDict &globals)  const;
   228   const char         *reduce_right(FormDict &globals)  const;
   229   const char         *reduce_left(FormDict &globals)   const;
   229   const char         *reduce_left(FormDict &globals)   const;
   230 
   230 
   231   // Base class for this instruction, MachNode except for calls
   231   // Base class for this instruction, MachNode except for calls
   232   virtual const char *mach_base_class()  const;
   232   virtual const char *mach_base_class(FormDict &globals)  const;
   233 
   233 
   234   // Check if this instruction can cisc-spill to 'alternate'
   234   // Check if this instruction can cisc-spill to 'alternate'
   235   bool                cisc_spills_to(ArchDesc &AD, InstructForm *alternate);
   235   bool                cisc_spills_to(ArchDesc &AD, InstructForm *alternate);
   236   InstructForm       *cisc_spill_alternate() { return _cisc_spill_alternate; }
   236   InstructForm       *cisc_spill_alternate() { return _cisc_spill_alternate; }
   237   uint                cisc_spill_operand() const { return _cisc_spill_operand; }
   237   uint                cisc_spill_operand() const { return _cisc_spill_operand; }
   250 
   250 
   251   InstructForm       *short_branch_form() { return _short_branch_form; }
   251   InstructForm       *short_branch_form() { return _short_branch_form; }
   252   bool                has_short_branch_form() { return _short_branch_form != NULL; }
   252   bool                has_short_branch_form() { return _short_branch_form != NULL; }
   253   // Output short branch prototypes and method bodies
   253   // Output short branch prototypes and method bodies
   254   void                declare_short_branch_methods(FILE *fp_cpp);
   254   void                declare_short_branch_methods(FILE *fp_cpp);
   255   bool                define_short_branch_methods(FILE *fp_cpp);
   255   bool                define_short_branch_methods(ArchDesc &AD, FILE *fp_cpp);
   256 
   256 
   257   uint                alignment() { return _alignment; }
   257   uint                alignment() { return _alignment; }
   258   void                set_alignment(uint val) { _alignment = val; }
   258   void                set_alignment(uint val) { _alignment = val; }
   259 
   259 
   260   // Seach through operands to determine operands unique positions.
   260   // Seach through operands to determine operands unique positions.