Mercurial > hg > truffle
comparison src/share/vm/adlc/output_h.cpp @ 17791:ad3b94907eed
8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
Summary: Add ConstantTableBase node edge after parameters and before jvms. Adapt jvms offsets.
Reviewed-by: kvn
author | goetz |
---|---|
date | Fri, 20 Dec 2013 13:51:14 +0100 |
parents | 41b780b43b74 |
children | abec000618bf |
comparison
equal
deleted
inserted
replaced
17790:5da8bb64b370 | 17791:ad3b94907eed |
---|---|
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"); |