equal
deleted
inserted
replaced
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. |