[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.


> 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?


More information about the hotspot-compiler-dev mailing list