RFR (S): 8043243: convert SCAN_AND_FORWARD, SCAN_AND_ADJUST_POINTERS, SCAN_AND_COMPACT macros to methods
Kim Barrett
kim.barrett at oracle.com
Mon Sep 22 01:46:44 UTC 2014
On Sep 19, 2014, at 2:52 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
>
> On Sep 8, 2014, at 7:17 AM, Marcus Larsson <marcus.larsson at oracle.com> wrote:
>>
>> New webrev:
>> http://cr.openjdk.java.net/~brutisso/webrev-8043243v2/
>
> […] Actually, there seem to be two protocols, one a
> subset of the other:
>
> // base protocol
> HeapWord* scan_limit(space*)
> bool block_is_obj(space*, const HeapWord*)
> size_t block_size(space*, const HeapWord*)
>
> // addtional protocol
> size_t adjust_obj_size(space*, size_t)
> size_t obj_size(space*, const HeapWord*)
>
> [Not sure why space arguments are not const in most or all cases.]
Another point that I forgot to mention in earlier email:
The proposed changes introduce two adapter classes, one for each
of the classes derived from the CompactibleSpace base class that
is providing the new function templates. That means some of those
new function templates are only applicable to one of the derived
classes, and not the other. It might be beneficial to push such down
to the corresponding derived class and de-templatize.
More information about the hotspot-gc-dev
mailing list