comparison src/share/vm/adlc/archDesc.hpp @ 14521:29ccc4cbabca

Merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 12 Mar 2014 13:30:08 +0100
parents ad6695638a35
children 4ca6dc0799b6
comparison
equal deleted inserted replaced
14520:f84115370178 14521:29ccc4cbabca
119 119
120 // The Architecture Description identifies which user-defined operand can be used 120 // The Architecture Description identifies which user-defined operand can be used
121 // to access [stack_pointer + offset] 121 // to access [stack_pointer + offset]
122 OperandForm *_cisc_spill_operand; 122 OperandForm *_cisc_spill_operand;
123 123
124 // If a Call node uses $constanttablebase, it gets MachConstantBaseNode
125 // by the matcher and the matcher will modify the jvms. If so, jvm states
126 // always have to be cloned when a node is cloned. Adlc generates
127 // Compile::needs_clone_jvms() accordingly.
128 bool _needs_clone_jvms;
129
124 // Methods for outputting the DFA 130 // Methods for outputting the DFA
125 void gen_match(FILE *fp, MatchList &mlist, ProductionState &status, Dict &operands_chained_from); 131 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, 132 void chain_rule(FILE *fp, const char *indent, const char *ideal,
127 const Expr *icost, const char *irule, 133 const Expr *icost, const char *irule,
128 Dict &operands_chained_from, ProductionState &status); 134 Dict &operands_chained_from, ProductionState &status);
287 void addPreprocessorChecks(FILE *fp); 293 void addPreprocessorChecks(FILE *fp);
288 // Output C source and header (source_hpp) blocks. 294 // Output C source and header (source_hpp) blocks.
289 void addPreHeaderBlocks(FILE *fp_hpp); 295 void addPreHeaderBlocks(FILE *fp_hpp);
290 void addHeaderBlocks(FILE *fp_hpp); 296 void addHeaderBlocks(FILE *fp_hpp);
291 void addSourceBlocks(FILE *fp_cpp); 297 void addSourceBlocks(FILE *fp_cpp);
298 void generate_needs_clone_jvms(FILE *fp_cpp);
292 void generate_adlc_verification(FILE *fp_cpp); 299 void generate_adlc_verification(FILE *fp_cpp);
293 300
294 // output declaration of class State 301 // output declaration of class State
295 void defineStateClass(FILE *fp); 302 void defineStateClass(FILE *fp);
296 303
309 public: 316 public:
310 // Generator for EvalConstantValue methods for instructions 317 // Generator for EvalConstantValue methods for instructions
311 void defineEvalConstant(FILE *fp, InstructForm &node); 318 void defineEvalConstant(FILE *fp, InstructForm &node);
312 // Generator for Emit methods for instructions 319 // Generator for Emit methods for instructions
313 void defineEmit (FILE *fp, InstructForm &node); 320 void defineEmit (FILE *fp, InstructForm &node);
321 // Generator for postalloc_expand methods for instructions.
322 void define_postalloc_expand(FILE *fp, InstructForm &node);
314 323
315 // Define a MachOper encode method 324 // Define a MachOper encode method
316 void define_oper_interface(FILE *fp, OperandForm &oper, FormDict &globals, 325 void define_oper_interface(FILE *fp, OperandForm &oper, FormDict &globals,
317 const char *name, const char *encoding); 326 const char *name, const char *encoding);
318 327