7079317: Incorrect branch's destination block in PrintoOptoAssembly output

Save/restore label and block in scratch_emit_size()

Reviewed-by: never
This commit is contained in:
Vladimir Kozlov 2011-08-16 11:53:57 -07:00
parent 134c40b4db
commit 080f790edc
11 changed files with 84 additions and 85 deletions

View file

@ -331,6 +331,11 @@ void ArchDesc::inspectInstructions() {
// Find result type for match
const char *result = instr->reduce_result();
if ( instr->is_ideal_branch() && instr->label_position() == -1 ||
!instr->is_ideal_branch() && instr->label_position() != -1) {
syntax_err(instr->_linenum, "%s: Only branches to a label are supported\n", rootOp);
}
Attribute *attr = instr->_attribs;
while (attr != NULL) {
if (strcmp(attr->_ident,"ins_short_branch") == 0 &&