RFR(s): 8046231: G1: Code root location ... from nmethod ... not in strong code roots for region
Per Liden
per.liden at oracle.com
Mon Jun 23 10:44:47 UTC 2014
Thanks Thomas!
/Per
On 06/23/2014 12:05 PM, Thomas Schatzl wrote:
> Hi Per,
>
> On Tue, 2014-06-17 at 14:12 +0200, Per Liden wrote:
>> Could I please have this fix reviewed.
>>
>> Summary: nmethods are only registered with the heap if
>> nmethod::detect_scavenge_root_oops() returns true. However, in case the
>> nmethod only contains oops to humongous objects
>> detect_scavenge_root_oops() will return false and the nmethod will not
>> be registered. This will later cause heap verification to fail.
>>
>> There are several ways in which this can be fixed. One alternative is to
>> adjust the verification to ignore humongous oops (since these objects
>> will never move). Another alternative is to just register the method
>> regardless of what detect_scavenge_root_oops() says. Since we might want
>> to allow humongous objects to move in the future this is the proposed fix.
>
> I agree that this is the better solution.
>
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8046231
>> Webrev: http://cr.openjdk.java.net/~pliden/8046231/webrev.0/
>>
>> Testing:
>> * gc-test-suite
>> * manual ad-hoc testing
>
> looks good.
>
> Thanks,
> Thomas
>
More information about the hotspot-gc-dev
mailing list