--- a/hotspot/src/share/vm/adlc/archDesc.cpp Tue Aug 16 04:14:05 2011 -0700
+++ b/hotspot/src/share/vm/adlc/archDesc.cpp Tue Aug 16 11:53:57 2011 -0700
@@ -331,6 +331,11 @@
// 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 &&