[10] RFR(M): 8176506: C2: loop unswitching and unsafe accesses cause crash
Roland Westrelin
rwestrel at redhat.com
Fri Jun 2 19:25:24 UTC 2017
> Our internal testing of webrev.04 version of changes passed.
Thanks.
> http://cr.openjdk.java.net/~roland/8176506/webrev.04/
>
> One thing. I don't see changes for ppc64/s390x which Volker promised to
> provide. Do we need them in this latest version? What about SPARC?
Volker said:
> I've also looked at your change and I think it works fine on
> ppc64/s390x because we've always implemented the HaltNode by issuing a
> trap instructions. So with your change (and your modified test) we
> will just crash in the generates C2 method which I think is fine:
>
> # SIGTRAP (0x5) at pc=0x00003fff47b12bd8, pid=19883, tid=19964
>
> J 215 c2 TestMaybeNullUnsafeAccess.test2(Ljava/lang/Object;)I (34
> bytes) @ 0x00003fff47b12bd8 [0x00003fff47b12b80+0x0000000000000058]
> j TestMaybeNullUnsafeAccess.main([Ljava/lang/String;)V+49
> v ~StubRoutines::call_stub
So my understanding is that nothing needs to be done on ppc.
On sparc, doesn't the current implementation of Halt:
__ illtrap(0);
cause a SIGILL as well?
Roland.
More information about the hotspot-compiler-dev
mailing list