src/share/vm/adlc/archDesc.hpp
Print this page
rev 5808 : 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
*** 119,128 ****
--- 119,134 ----
// The Architecture Description identifies which user-defined operand can be used
// 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,
const Expr *icost, const char *irule,
Dict &operands_chained_from, ProductionState &status);
*** 287,296 ****
--- 293,303 ----
void addPreprocessorChecks(FILE *fp);
// Output C source and header (source_hpp) blocks.
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
void defineStateClass(FILE *fp);