comparison src/share/vm/adlc/output_c.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 3d42f82cd811
children 6729bbc1fcd6
comparison
equal deleted inserted replaced
3852:fdb992d83a87 3853:11211f7cb5a0
3092 fprintf(fp," labelOper* oper = (labelOper*)(opnd_array(%d));\n", 3092 fprintf(fp," labelOper* oper = (labelOper*)(opnd_array(%d));\n",
3093 label_position ); 3093 label_position );
3094 fprintf(fp," oper->_label = label;\n"); 3094 fprintf(fp," oper->_label = label;\n");
3095 fprintf(fp," oper->_block_num = block_num;\n"); 3095 fprintf(fp," oper->_block_num = block_num;\n");
3096 fprintf(fp,"}\n"); 3096 fprintf(fp,"}\n");
3097 // Save the label
3098 fprintf(fp,"void %sNode::save_label( Label** label, uint* block_num ) {\n", instr->_ident);
3099 fprintf(fp," labelOper* oper = (labelOper*)(opnd_array(%d));\n",
3100 label_position );
3101 fprintf(fp," *label = oper->_label;\n");
3102 fprintf(fp," *block_num = oper->_block_num;\n");
3103 fprintf(fp,"}\n");
3097 } 3104 }
3098 } 3105 }
3099 3106
3100 // Output the definitions for methods 3107 // Output the definitions for methods
3101 _instructions.reset(); 3108 _instructions.reset();