1663 instr->ideal_Opcode(_globalNames) ); |
1663 instr->ideal_Opcode(_globalNames) ); |
1664 } |
1664 } |
1665 |
1665 |
1666 if (instr->needs_constant_base() && |
1666 if (instr->needs_constant_base() && |
1667 !instr->is_mach_constant()) { // These inherit the funcion from MachConstantNode. |
1667 !instr->is_mach_constant()) { // These inherit the funcion from MachConstantNode. |
1668 fprintf(fp," virtual uint mach_constant_base_node_input() const { return req()-1; }\n"); |
1668 fprintf(fp," virtual uint mach_constant_base_node_input() const { "); |
|
1669 if (instr->is_ideal_call() != Form::invalid_type && |
|
1670 instr->is_ideal_call() != Form::JAVA_LEAF) { |
|
1671 // MachConstantBase goes behind arguments, but before jvms. |
|
1672 fprintf(fp,"assert(tf() && tf()->domain(), \"\"); return tf()->domain()->cnt();"); |
|
1673 } else { |
|
1674 fprintf(fp,"return req()-1;"); |
|
1675 } |
|
1676 fprintf(fp," }\n"); |
1669 } |
1677 } |
1670 |
1678 |
1671 // Allow machine-independent optimization, invert the sense of the IF test |
1679 // Allow machine-independent optimization, invert the sense of the IF test |
1672 if( instr->is_ideal_if() ) { |
1680 if( instr->is_ideal_if() ) { |
1673 fprintf(fp," virtual void negate() { \n"); |
1681 fprintf(fp," virtual void negate() { \n"); |