Also, UseCompressedOops was supposed to be turned on by default in hs14, bug somehow that changeset was lost.
Coleen Phillimore - Sun Microsystems wrote:
> On 09/26/08 20:07, Vladimir Kozlov wrote:
>> First, UseParNewGC does not work with compressed oops:
> It is supposed to. Is it broken or just not performant?
>> pf-t5120-1% gamma -XX:InlineSmallCode=1400 -XX:FreqInlineSize=210 -XX:+UseCompressedOops -XX:+AggressiveOpts -XX:ParallelGCThreads=40 -XX:+UseLargePages -XX:LargePageSizeInBytes=256m -XX:+AlwaysPreTouch -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xmx28g -Xms28g -Xmn22g -XX:+UseParNewGC -XX:+PrintTenuringDistribution -Xss256k -cp jbb.jar:check.jar spec.jbb.JBBmain
>> Exception in thread "main" java.lang.ClassCastException: java.util.LinkedHashMap$Entry cannot be cast to java.util.Map$Entry
>> at java.security.Provider.ensureLegacyParsed(Provider.java:536)
In gen_subtype_check there was an ld() for a compressed oop rather than an lduw() before comparing to another compressed oop. I also want to turn on cmopressed oops by default by this fix.
Can't turn on compressed oops by default because it fails with JDK build. Will file another bug for that.
6760773: UseCompressedOops is broken with UseParNewGC
Summary: sparc code for gen_subtype_check was doing an ld for a compressed oop with the sign bit set so not comparing, leading to a ClassCastException.
Reviewed-by: phh, never, acorn, kvn, xlu
Fixed in b08, I think.