RFR(XL): 6312651: Compiler should only use verified interface types for optimization

Roland Westrelin rwestrel at redhat.com
Thu Jun 27 11:17:41 UTC 2019


> Do you see any value in representing subtype checks as macro nodes once 
> C2 type system handles interfaces better?

I noticed that sometimes (profile) predication moves the second test in
the general subtype check out of loop but not the first one (because its
input is not loop invariant). Because that second test is really
designed to be executed only after the first one fails, it can fail for
a valid subtype check when it's a predicate causing (profile)
predication to be disabled on next compilation. A macro node would solve
that problem. Beyond that, turning subtype checks into a macro nodes
sound like a reasonable move.

Roland.


More information about the hotspot-compiler-dev mailing list