RFR 8183929: [MVT] Bad intrinsic for guard with test causes wrong behavior
vladimir.x.ivanov at oracle.com
Thu Jul 6 12:40:44 UTC 2017
On 7/6/17 2:53 PM, Maurizio Cimadamore wrote:
> This is a fix for the bug discovered by Roland. There's a bad
> conditional jump being generated by the selectAlternative intrinsic -
> the patch I pushed yesterday did a 'ifne fallback' while
> InvokeBytecodeGenerator does a 'ifeq fallback'. This mistake was
> probably caused by a bug in the IBG comment next to the intrinsic ASM line.
> I've also added the Point library I'm using for testing these days.
> There's a very basic Point class with fields 'x' and 'y' with a 'norm'
> method. I have tests for:
> * creating a factory of Point
> * compute the norm of a Point
> * compute total norm of an array of Points
> For each of these checks, the test has both the bytecode version (with
> MethodHandleBuilder) and the pure MH version (through combinators). The
> test checks that both results conform to what is expected (e.g. some
> operation on the boxed class).
> I've added a final test for the guardWithTest example which was indeed
> failing before this fix.
More information about the valhalla-dev