comparison src/share/vm/adlc/archDesc.hpp @ 2008:2f644f85485d

6961690: load oops from constant table on SPARC Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence. Reviewed-by: never, kvn
author twisti
date Fri, 03 Dec 2010 01:34:31 -0800
parents f95d63e2154a
children d336b3173277
comparison
equal deleted inserted replaced
2007:5ddfcf4b079e 2008:2f644f85485d
124 // Methods for outputting the DFA 124 // Methods for outputting the DFA
125 void gen_match(FILE *fp, MatchList &mlist, ProductionState &status, Dict &operands_chained_from); 125 void gen_match(FILE *fp, MatchList &mlist, ProductionState &status, Dict &operands_chained_from);
126 void chain_rule(FILE *fp, const char *indent, const char *ideal, 126 void chain_rule(FILE *fp, const char *indent, const char *ideal,
127 const Expr *icost, const char *irule, 127 const Expr *icost, const char *irule,
128 Dict &operands_chained_from, ProductionState &status); 128 Dict &operands_chained_from, ProductionState &status);
129 void chain_rule_c(FILE *fp, char *indent, char *ideal, char *irule); // %%%%% TODO: remove this
130 void expand_opclass(FILE *fp, const char *indent, const Expr *cost, 129 void expand_opclass(FILE *fp, const char *indent, const Expr *cost,
131 const char *result_type, ProductionState &status); 130 const char *result_type, ProductionState &status);
132 Expr *calc_cost(FILE *fp, const char *spaces, MatchList &mList, ProductionState &status); 131 Expr *calc_cost(FILE *fp, const char *spaces, MatchList &mList, ProductionState &status);
133 void prune_matchlist(Dict &minimize, MatchList &mlist); 132 void prune_matchlist(Dict &minimize, MatchList &mlist);
134 133
299 void buildMachOperGenerator(FILE *fp_cpp); 298 void buildMachOperGenerator(FILE *fp_cpp);
300 // Generator for MachNode objects given integer type 299 // Generator for MachNode objects given integer type
301 void buildMachNodeGenerator(FILE *fp_cpp); 300 void buildMachNodeGenerator(FILE *fp_cpp);
302 301
303 // Generator for Expand methods for instructions with expand rules 302 // Generator for Expand methods for instructions with expand rules
304 void defineExpand(FILE *fp, InstructForm *node); 303 void defineExpand (FILE *fp, InstructForm *node);
305 // Generator for Peephole methods for instructions with peephole rules 304 // Generator for Peephole methods for instructions with peephole rules
306 void definePeephole(FILE *fp, InstructForm *node); 305 void definePeephole (FILE *fp, InstructForm *node);
307 // Generator for Size methods for instructions 306 // Generator for Size methods for instructions
308 void defineSize(FILE *fp, InstructForm &node); 307 void defineSize (FILE *fp, InstructForm &node);
308
309 public:
310 // Generator for EvalConstantValue methods for instructions
311 void defineEvalConstant(FILE *fp, InstructForm &node);
309 // Generator for Emit methods for instructions 312 // Generator for Emit methods for instructions
310 void defineEmit(FILE *fp, InstructForm &node); 313 void defineEmit (FILE *fp, InstructForm &node);
314
311 // Define a MachOper encode method 315 // Define a MachOper encode method
312 void define_oper_interface(FILE *fp, OperandForm &oper, FormDict &globals, 316 void define_oper_interface(FILE *fp, OperandForm &oper, FormDict &globals,
313 const char *name, const char *encoding); 317 const char *name, const char *encoding);
314 318
315 // Methods to construct the MachNode class hierarchy 319 // Methods to construct the MachNode class hierarchy