Mercurial > hg > graal-compiler
diff src/share/vm/adlc/output_h.cpp @ 14434:318d0622a6d7
8028580: PPC64 (part 114/120): Support for Call nodes with constants.
Summary: extends MachCall nodes so that they can issue constants to the constant table
Reviewed-by: kvn
author | goetz |
---|---|
date | Wed, 20 Nov 2013 11:08:09 -0800 |
parents | 044b28168e20 |
children | 15120a36272d |
line wrap: on
line diff
--- a/src/share/vm/adlc/output_h.cpp Tue Nov 19 11:53:58 2013 -0800 +++ b/src/share/vm/adlc/output_h.cpp Wed Nov 20 11:08:09 2013 -0800 @@ -1614,7 +1614,7 @@ if (strcmp (attr->_ident,"ins_cost") && strncmp(attr->_ident,"ins_field_", 10) != 0 && strcmp (attr->_ident,"ins_short_branch")) { - fprintf(fp," int %s() const { return %s; }\n", + fprintf(fp," virtual int %s() const { return %s; }\n", attr->_ident, attr->_val); } // Check value for ins_avoid_back_to_back, and if it is true (1), set the flag @@ -1655,6 +1655,11 @@ 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"); + } + // Allow machine-independent optimization, invert the sense of the IF test if( instr->is_ideal_if() ) { fprintf(fp," virtual void negate() { \n"); @@ -1823,6 +1828,7 @@ if( instr->expands() || instr->needs_projections() || instr->has_temps() || instr->is_mach_constant() || + instr->needs_constant_base() || instr->_matrule != NULL && instr->num_opnds() != instr->num_unique_opnds() ) { fprintf(fp," virtual MachNode *Expand(State *state, Node_List &proj_list, Node* mem);\n");