RFR(s): 8046231: G1: Code root location ... from nmethod ... not in strong code roots for region

Erik Helin erik.helin at oracle.com
Mon Jun 23 13:47:02 UTC 2014

On Tuesday 17 June 2014 14:12:08 PM 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.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8046231
> Webrev: http://cr.openjdk.java.net/~pliden/8046231/webrev.0/

Looks good, Reviewed.


> Testing:
> * gc-test-suite
> * manual ad-hoc testing
> Thanks!
> /Per

More information about the hotspot-gc-dev mailing list