RFR: Full region promotion
Kelvin Nilsen
kdnilsen at openjdk.java.net
Mon Oct 4 17:16:32 UTC 2021
On Mon, 4 Oct 2021 17:05:57 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> That's a good catch. I'm a bit inconsistent with this. I think this is "harmless" because end_of_range does not limit the scanning within a single humongous object. It only limits the search for the "next object" following an initially scanned object. I agree I should fix this up to make the code less confusing. (Do you agree that the error is "harmless as is"? Would appreciate your careful eyes on this.)
>
> `end_of_range` is used earlier to compute the `count` parameter (which is named `num_clusters` in the calling function). As I read it, this _does_ limit the number of cards scanned in the `process_clusters` call.
The way I read it, if you call process_clusters with an address that represents the start of a humongous region, it will go through its object-processing loop at least once (p < endp first time through) and will completely scan the object found at p, which will be a humongous object that spans multiple following regions (which may exceed count clusters scanned in total and may reach reach well beyond endp in total scan). Do you agree with this?
-------------
PR: https://git.openjdk.java.net/shenandoah/pull/75
More information about the shenandoah-dev
mailing list