RFR(S) 8231586: enlarge encoding space for OopMapValue offsets

Tom Rodriguez tom.rodriguez at oracle.com
Fri Oct 4 17:26:25 UTC 2019


http://cr.openjdk.java.net/~never/8231586/webrev
https://bugs.openjdk.java.net/browse/JDK-8231586

The current OopMapValue encoding uses a bit mask for each value even 
though only one bit is ever set.  Since only 16 bits are available for 
encoding this limits the offsets it can express.  Compilation with a 
large number of stack slots can bailout because of this limit.  This 
changes the encoding to use 2 bits which gives 2 bits back to the offset.

I also deleted some StressDerivedPointers machinery that's been 
completely unimplemented for years (decades?).  The flag itself is now 
dead but I wasn't sure if there are test references to it somewhere. 
Should I delete the flag as well?

mach5 testing is in progress.

tom


More information about the hotspot-compiler-dev mailing list