Mercurial > hg > truffle
comparison src/share/vm/adlc/archDesc.hpp @ 18041:52b4284cb496
Merge with jdk8u20-b26
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Wed, 15 Oct 2014 16:02:50 +0200 |
parents | 4ca6dc0799b6 |
children |
comparison
equal
deleted
inserted
replaced
17606:45d7b2c7029d | 18041:52b4284cb496 |
---|---|
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 |