diff -r 5da8bb64b370 -r ad3b94907eed src/share/vm/adlc/archDesc.hpp --- a/src/share/vm/adlc/archDesc.hpp Mon Dec 23 10:26:08 2013 -0800 +++ b/src/share/vm/adlc/archDesc.hpp Fri Dec 20 13:51:14 2013 +0100 @@ -121,6 +121,12 @@ // to access [stack_pointer + offset] OperandForm *_cisc_spill_operand; + // If a Call node uses $constanttablebase, it gets MachConstantBaseNode + // by the matcher and the matcher will modify the jvms. If so, jvm states + // always have to be cloned when a node is cloned. Adlc generates + // Compile::needs_clone_jvms() accordingly. + bool _needs_clone_jvms; + // Methods for outputting the DFA void gen_match(FILE *fp, MatchList &mlist, ProductionState &status, Dict &operands_chained_from); void chain_rule(FILE *fp, const char *indent, const char *ideal, @@ -289,6 +295,7 @@ void addPreHeaderBlocks(FILE *fp_hpp); void addHeaderBlocks(FILE *fp_hpp); void addSourceBlocks(FILE *fp_cpp); + void generate_needs_clone_jvms(FILE *fp_cpp); void generate_adlc_verification(FILE *fp_cpp); // output declaration of class State