8202035: Archive the set of ModuleDescriptor and ModuleReference objects for observable system modules with unnamed initial module

Support system module archiving with unnamed initial module at dump time.

Co-authored-by: Alan Bateman <alan.bateman@oracle.com>
Reviewed-by: erikj, coleenp, mchung, iklam, ccheung
This commit is contained in:
Jiangli Zhou 2018-07-08 12:43:05 -04:00
parent 4d93f17fe1
commit 9ba5bab865
25 changed files with 1473 additions and 32 deletions

View file

@ -785,6 +785,10 @@ oop StringTable::lookup_shared(jchar* name, int len, unsigned int hash) {
oop StringTable::create_archived_string(oop s, Thread* THREAD) {
assert(DumpSharedSpaces, "this function is only used with -Xshare:dump");
if (MetaspaceShared::is_archive_object(s)) {
return s;
}
oop new_s = NULL;
typeArrayOop v = java_lang_String::value_no_keepalive(s);
typeArrayOop new_v =