RFR: 8179302: Pre-resolve constant pool string entries and cache resolved_reference arrays in CDS archive

Jiangli Zhou jiangli.zhou at oracle.com
Wed Aug 9 18:39:03 UTC 2017


Hi Thomas,

Thank you so much for looking at the update in great detail! All points were taken and fixed as suggested.

> On Aug 9, 2017, at 8:12 AM, Thomas Schatzl <thomas.schatzl at oracle.com> wrote:
> 
> Hi,
> 
> On Tue, 2017-08-08 at 17:33 -0700, Jiangli Zhou wrote:
>> Here is the incremental webrev that has all the changes incorporated
>> with suggestions from Coleen, Ioi and Thomas:
>> 
>> http://cr.openjdk.java.net/~jiangli/8179302/webrev.hotspot.03.inc/
>> 
>> Updated full webrev: http://cr.openjdk.java.net/~jiangli/8179302/webr
>> ev.hotspot.03/
>> 
> 
>  - (just repeating) g1Allocator.hpp:328:  "Closed" archive region
> contain no references outside of archive ... -> outside of other closed
> archive regions.
> As for the description of open archive regions, it may be useful to
> allow references to any other regions (afaik there is no restriction on
> pointing to other open archive regions, and none to closed).

Fixed.

> 
>  - g1Allocator.inline.hpp:68 and 71: argument alignment.

Fixed.

> 
>  - filemap.cpp:473: missing space before the opening bracket

Fixed.

> 
>  - filemap.cpp:475: s/consqusective/consecutive

Fixed.

> 
>  - g1HeapVerifier.cpp:252: comment should say "Should be closed archive
> region”

Fixed.

> 
>  - filemap.cpp:675: this is just a note about the big comment. It
> mentions "archive string regions" and "string regions" (also seen
> "metaspace string region") which may or may not be defined elsewhere.
> Maybe it is useful to consolidate these terms.
> 
> The text also mentions "regions", which is a G1 specific term. Not sure
> if there is a better way to define these areas in this context.
> 
> The comment in metaspaceShared.cpp seems to carefully avoid this by
> using "shraed strings" and "shared archive heap space" (i.e. no mention
> of "regions") most of the time. Sometimes "regions" is also used as
> "area". 
> 
> Consolidating this may avoid confusion between "G1 regions" and region
> as "area" and help a reader.
> 
> Or maybe I'm just reading too much into this :)
> 
> I have no particular opinion on whether you want to change anything
> here.

I changed the comments and replaced with shared string object and open archive heap objects (or open archive heap data).

> 
>  - FileMapInfo::map_heap_data(): there are quite a few occurrances of
> this construct:
> 
>  761     if (log_is_enabled(Info, cds)) {
>  762       log_info(cds)("UseSharedSpaces: Unable to allocate region, "
> 
> Afaik the log_info() call already only prints out data if
> log_is_enabled(Info, cds), so it seems superfluous. The use of
> log_is_enabled() call seems only useful if the block inside contains
> some expensive computation, which does not seem the case here.

Removed those unnecessary log_is_enabled(Info, cds) checks.

> 
> Sorry for bringing up these mostly cosmetic issues that late. I do not
> need a re-review for the comment changes (and removal of the
> log_is_enabled()).

Thanks!

Jiangli
> 
> Thanks,
>   Thomas




More information about the hotspot-gc-dev mailing list