--- old/src/share/vm/adlc/adlparse.cpp Thu Jun 30 11:11:03 2011 +++ new/src/share/vm/adlc/adlparse.cpp Thu Jun 30 11:11:02 2011 @@ -2812,6 +2812,12 @@ params->add_entry(param); } + // We do this check late so that we can continue parsing + if (inst._insencode != NULL) { + parse_err(SYNERR, "Multiple ins_encode sections defined\n"); + return; + } + // Set encode class of this instruction. inst._insencode = encrule; } @@ -3044,6 +3050,12 @@ next_char(); // move past ';' skipws(); // be friendly to oper_parse() + // We do this check late so that we can continue parsing + if (inst._insencode != NULL) { + parse_err(SYNERR, "Multiple ins_encode sections defined\n"); + return; + } + // Debug Stuff if (_AD._adl_debug > 1) fprintf(stderr,"Instruction Encode: %s\n", ec_name);