RFR[S] 8209545 Simplify HeapShared::archive_module_graph_objects
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Tue Aug 28 15:44:49 UTC 2018
This change looks great. Nice cleanup.
thanks!
Coleen
On 8/15/18 2:48 PM, Ioi Lam wrote:
> https://bugs.openjdk.java.net/browse/JDK-8209545
> http://cr.openjdk.java.net/~iklam/jdk12/8209545_cleanup_archive_module_graph_objects.v01/
>
>
> With this cleanup, HeapShared::archive_module_graph_objects is driven by
> a simple table like the following.
>
> To archive new static fields, now you can just modify Java code, and
> make a single
> edit in the C code.
>
> The keyword here is "you should know what you're doing" :-)
>
> // If you add new entries to this table, you should know what you're
> doing!
> static ArchivableStaticFieldInfo archivable_static_fields[] = {
> {"jdk/internal/module/ArchivedModuleGraph", "archivedSystemModules"},
> {"jdk/internal/module/ArchivedModuleGraph", "archivedModuleFinder"},
> {"jdk/internal/module/ArchivedModuleGraph", "archivedMainModule"},
> {"jdk/internal/module/ArchivedModuleGraph", "archivedConfiguration"},
> {"java/util/ImmutableCollections$ListN", "EMPTY_LIST"},
> {"java/util/ImmutableCollections$MapN", "EMPTY_MAP"},
> {"java/util/ImmutableCollections$SetN", "EMPTY_SET"},
> {"java/lang/Integer$IntegerCache", "archivedCache"},
> {"java/lang/module/Configuration", "EMPTY_CONFIGURATION"},
> };
>
> I was able to removed a bunch of boilerplate code in javaClasses, as
> well as some
> unused stuff in vmSymbols and systemDictionary.
>
> Testing with hs tiers 1/2
>
> Thanks
> - Ioi
More information about the hotspot-runtime-dev
mailing list