Mercurial > hg > graal-compiler
diff src/share/vm/adlc/output_h.cpp @ 3853:11211f7cb5a0
7079317: Incorrect branch's destination block in PrintoOptoAssembly output
Summary: save/restore label and block in scratch_emit_size()
Reviewed-by: never
author | kvn |
---|---|
date | Tue, 16 Aug 2011 11:53:57 -0700 |
parents | 95134e034042 |
children | f03a3c8bd5e5 |
line wrap: on
line diff
--- a/src/share/vm/adlc/output_h.cpp Tue Aug 16 04:14:05 2011 -0700 +++ b/src/share/vm/adlc/output_h.cpp Tue Aug 16 11:53:57 2011 -0700 @@ -1519,8 +1519,9 @@ // Declare Node::methods that set operand Label's contents int label_position = instr->label_position(); if( label_position != -1 ) { - // Set the label, stored in labelOper::_branch_label + // Set/Save the label, stored in labelOper::_branch_label fprintf(fp," virtual void label_set( Label* label, uint block_num );\n"); + fprintf(fp," virtual void save_label( Label** label, uint* block_num );\n"); } // If this instruction contains a methodOper @@ -1678,16 +1679,6 @@ } } - // flag: if instruction matches 'If' | 'Goto' | 'CountedLoopEnd | 'Jump' - if ( instr->is_ideal_branch() ) { - if ( node_flags_set ) { - fprintf(fp," | Flag_is_Branch"); - } else { - fprintf(fp,"init_flags(Flag_is_Branch"); - node_flags_set = true; - } - } - // flag: if this instruction is cisc alternate if ( can_cisc_spill() && instr->is_cisc_alternate() ) { if ( node_flags_set ) {