RFR: 8077279: assert(ic->is_clean()) failed: IC should be clean

Stefan Johansson stefan.johansson at oracle.com
Mon Jun 15 08:35:20 UTC 2015

Thanks Tobias and Rickard for the reviews,

I will push this through hs-rt to make sure the patch is present if/when 
the patch for G1 as default is pushed.


On 2015-06-15 10:01, Rickard Bäckman wrote:
> Looks good.
> On 06/12, Stefan Johansson wrote:
>> Hi,
>> Please review this change to fix:
>> https://bugs.openjdk.java.net/browse/JDK-8077279
>> Webrev:
>> http://cr.openjdk.java.net/~sjohanss/8077279/hotspot.00/
>> Summary:
>> While doing some extra G1 testing a couple of issues were found.
>> I've been able to reproduce this specific assert but I suspect that
>> both JDK-8077282 and JDK-8077283 are related as well.
>> The root cause of the problem is a patch that was made a few months
>> back that made it possible to have nmethods allocated in a code heap
>> that differs from the compile level of the given nmethod, see [1].
>> In the NMethodIterator used by G1 class unloading it is assumed that
>> the nmethods have the same compile level as the code heap the are
>> allocated in, which now is wrong. This can, under certain
>> circumstances, lead to not all nmethods being cleaned correctly and
>> then hit this assertion.
>> Testing:
>> * Built and tested in JPRT
>> * RBT run with using these testlists:
>> jdk/test/:jdk,hotspot/test/:hotspot_all,vm.mlvm.testlist.
>> Thanks,
>> Stefan
>> [1] https://bugs.openjdk.java.net/browse/JDK-8072774
> /R

More information about the hotspot-compiler-dev mailing list