comparison src/share/vm/adlc/archDesc.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 c7b60b601eb4
children f03a3c8bd5e5
comparison
equal deleted inserted replaced
3852:fdb992d83a87 3853:11211f7cb5a0
328 ((AttributeForm*)_globalNames[AttributeForm::_ins_cost])->_attrdef; 328 ((AttributeForm*)_globalNames[AttributeForm::_ins_cost])->_attrdef;
329 const char *cost = costStr? costStr : defaultCost; 329 const char *cost = costStr? costStr : defaultCost;
330 330
331 // Find result type for match 331 // Find result type for match
332 const char *result = instr->reduce_result(); 332 const char *result = instr->reduce_result();
333
334 if ( instr->is_ideal_branch() && instr->label_position() == -1 ||
335 !instr->is_ideal_branch() && instr->label_position() != -1) {
336 syntax_err(instr->_linenum, "%s: Only branches to a label are supported\n", rootOp);
337 }
333 338
334 Attribute *attr = instr->_attribs; 339 Attribute *attr = instr->_attribs;
335 while (attr != NULL) { 340 while (attr != NULL) {
336 if (strcmp(attr->_ident,"ins_short_branch") == 0 && 341 if (strcmp(attr->_ident,"ins_short_branch") == 0 &&
337 attr->int_val(*this) != 0) { 342 attr->int_val(*this) != 0) {