src/share/vm/adlc/output_h.cpp
Print this page
rev 5808 : 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
@@ -1663,11 +1663,19 @@
instr->ideal_Opcode(_globalNames) );
}
if (instr->needs_constant_base() &&
!instr->is_mach_constant()) { // These inherit the funcion from MachConstantNode.
- fprintf(fp," virtual uint mach_constant_base_node_input() const { return req()-1; }\n");
+ fprintf(fp," virtual uint mach_constant_base_node_input() const { ");
+ if (instr->is_ideal_call() != Form::invalid_type &&
+ instr->is_ideal_call() != Form::JAVA_LEAF) {
+ // MachConstantBase goes behind arguments, but before jvms.
+ fprintf(fp,"assert(tf() && tf()->domain(), \"\"); return tf()->domain()->cnt();");
+ } else {
+ fprintf(fp,"return req()-1;");
+ }
+ fprintf(fp," }\n");
}
// Allow machine-independent optimization, invert the sense of the IF test
if( instr->is_ideal_if() ) {
fprintf(fp," virtual void negate() { \n");