--- old/src/share/vm/opto/superword.cpp 2015-10-29 10:25:38.996979500 -0700 +++ new/src/share/vm/opto/superword.cpp 2015-10-29 10:25:38.789979500 -0700 @@ -2247,7 +2247,10 @@ NOT_PRODUCT(if (TraceSuperWordLoopUnrollAnalysis) tty->print_cr("vector loop(unroll=%d, len=%d)\n", max_vlen, max_vlen_in_bytes*BitsPerByte)); // For atomic unrolled loops which are vector mapped, instigate more unrolling. cl->set_notpassed_slp(); - C->set_major_progress(); + // if vector resources are limited, do not allow additional unrolling + if (FLOATPRESSURE > 8) { + C->set_major_progress(); + } cl->mark_do_unroll_only(); } }