RFR(XS): 8025644 java/util/stream/test/org/openjdk/tests/java/util/stream/ToArrayOpTest.java fails with TestData$OfRef): failure java.lang.AssertionError: expected [true] but found [false]

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Jan 29 23:35:47 PST 2014


I need more explanation. I don't see how exactness of object type affects generation of type check in 
maybe_cast_profiled_receiver(). Is it because it returns NULL since static_subtype_check() does not return 
SSC_always_true and type_check_receiver() is not generated? type_check_receiver() generates dynamic check of klass from 
profiling vs klass loaded from object's header, it can't collapse.


On 1/29/14 10:35 PM, Igor Veresov wrote:
> When we parse an aastore one of the optimizations we try is to statically cast the speculative type of the object that we obtained during profiling to the type of the superklass (which is the type of the array element) and then do a dynamic check that the type of the object is exactly what we expect. To work correctly the type of superklass must be exact. The following change adds this check.
> Webrev: http://cr.openjdk.java.net/~iveresov/8025644/webrev.00/
> Testing: jtreg, jprt, the failing regression test
> Thanks,
> igor

More information about the hotspot-compiler-dev mailing list