--- a/hotspot/src/share/vm/adlc/archDesc.hpp Wed Jan 08 11:24:00 2014 -0800
+++ b/hotspot/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