RFR (S): 8205426: Humongous continues remembered set does not match humongous start region one in Kitchensink

Erik Helin erik.helin at oracle.com
Fri Jul 6 12:09:59 UTC 2018


On 07/05/2018 09:16 AM, Thomas Schatzl wrote:
> http://cr.openjdk.java.net/~tschatzl/8205426/webrev.1 (full)
> http://cr.openjdk.java.net/~tschatzl/8205426/webrev.0_to_1 (diff, but
> almost useless due to many changes)
> 
> That at least separates the concerns about humongous/regular region a
> bit.

This version looks much better to me as well, thanks for refactoring the 
patch! I agree with Kim's comments and in addition I would also have 
"inlined" is_interesting_humongous_region into 
update_humongous_before_rebuild, so the `if` in 
update_humongous_before_rebuild becomes:

bool is_type_array = 
oop(r->humongous_start_region()->bottom())->is_typeArray());
if (is_live && is_type_array && !r->rem_set()->is_tracked()) {
   r->rem_set()->set_state_updating();
   selected_for_rebuild = true;
}

This change makes the comment easier to follow (at least for me).

The patch also uses so called "east-side-const" in g1ConcurrentMark.cpp, 
but that doesn't matter too much since g1ConcurrentMark.cpp seems to use 
both "west-side-const" and "east-side-const" in equal proportions (that 
however should probably be cleaned up).

Thanks,
Erik



More information about the hotspot-gc-dev mailing list