On Thu, 9 Apr 2026 07:08:21 GMT, Jatin Bhateja <[email protected]> wrote:

> ROL, ROR, LSHL, ASHR, LSHR in VectorOperators.java were declared with 
> VO_SHIFT but missing VO_NOFP, allowing them to pass the opCode() guard on 
> floating-point vectors (DoubleVector, FloatVector).
> 
> This bug fix patch adds VO_NOFP to all five declarations.
> 
> As a result, C2 only compiles the hot code path comprising of opCode() check, 
> sees the illegalOperation throw an exception, cold path comprising of 
> VectorSupport.binaryOp intrinsic not compiled and thus flow never reaches 
> vop2ideal() which generates a fatal error if shift class operation is 
> performed over floating point type
> 
> Please review and share your feedback.
> 
> Best Regards,
> Jatin

We cannot rely on the code being unreached to ensure that the compiler does not 
crash, while the compiler often ignores unreached code paths, it is not a 
certainty.

> We were getting crashes for each invocation of test with different shift 
> family operator and that was the intent, with fix test passes.

I don't know what this has to do with spawning multiple test processes instead 
of running all the tests in one process.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/30642#issuecomment-4221415590

Reply via email to