< prev index next >

src/hotspot/share/memory/heapShared.cpp

Print this page
rev 55787 : 8228507: Archive FDBigInteger
Reviewed-by: TBD
rev 55788 : 8228581: Archive BigInteger constants
Reviewed-by: TBD


  63 // Entry fields for shareable subgraphs archived in the closed archive heap
  64 // region. Warning: Objects in the subgraphs should not have reference fields
  65 // assigned at runtime.
  66 static ArchivableStaticFieldInfo closed_archive_subgraph_entry_fields[] = {
  67   {"java/lang/Integer$IntegerCache",           "archivedCache"},
  68   {"java/lang/Long$LongCache",                 "archivedCache"},
  69   {"java/lang/Byte$ByteCache",                 "archivedCache"},
  70   {"java/lang/Short$ShortCache",               "archivedCache"},
  71   {"java/lang/Character$CharacterCache",       "archivedCache"},
  72   {"java/util/jar/Attributes$Name",            "KNOWN_NAMES"},
  73   {"sun/util/locale/BaseLocale",               "constantBaseLocales"},
  74 };
  75 // Entry fields for subgraphs archived in the open archive heap region.
  76 static ArchivableStaticFieldInfo open_archive_subgraph_entry_fields[] = {
  77   {"jdk/internal/module/ArchivedModuleGraph",  "archivedModuleGraph"},
  78   {"java/util/ImmutableCollections$ListN",     "EMPTY_LIST"},
  79   {"java/util/ImmutableCollections$MapN",      "EMPTY_MAP"},
  80   {"java/util/ImmutableCollections$SetN",      "EMPTY_SET"},
  81   {"java/lang/module/Configuration",           "EMPTY_CONFIGURATION"},
  82   {"jdk/internal/math/FDBigInteger",           "archivedCaches"},

  83 };
  84 
  85 const static int num_closed_archive_subgraph_entry_fields =
  86   sizeof(closed_archive_subgraph_entry_fields) / sizeof(ArchivableStaticFieldInfo);
  87 const static int num_open_archive_subgraph_entry_fields =
  88   sizeof(open_archive_subgraph_entry_fields) / sizeof(ArchivableStaticFieldInfo);
  89 
  90 ////////////////////////////////////////////////////////////////
  91 //
  92 // Java heap object archiving support
  93 //
  94 ////////////////////////////////////////////////////////////////
  95 void HeapShared::fixup_mapped_heap_regions() {
  96   FileMapInfo *mapinfo = FileMapInfo::current_info();
  97   mapinfo->fixup_mapped_heap_regions();
  98   set_archive_heap_region_fixed();
  99 }
 100 
 101 unsigned HeapShared::oop_hash(oop const& p) {
 102   assert(!p->mark()->has_bias_pattern(),




  63 // Entry fields for shareable subgraphs archived in the closed archive heap
  64 // region. Warning: Objects in the subgraphs should not have reference fields
  65 // assigned at runtime.
  66 static ArchivableStaticFieldInfo closed_archive_subgraph_entry_fields[] = {
  67   {"java/lang/Integer$IntegerCache",           "archivedCache"},
  68   {"java/lang/Long$LongCache",                 "archivedCache"},
  69   {"java/lang/Byte$ByteCache",                 "archivedCache"},
  70   {"java/lang/Short$ShortCache",               "archivedCache"},
  71   {"java/lang/Character$CharacterCache",       "archivedCache"},
  72   {"java/util/jar/Attributes$Name",            "KNOWN_NAMES"},
  73   {"sun/util/locale/BaseLocale",               "constantBaseLocales"},
  74 };
  75 // Entry fields for subgraphs archived in the open archive heap region.
  76 static ArchivableStaticFieldInfo open_archive_subgraph_entry_fields[] = {
  77   {"jdk/internal/module/ArchivedModuleGraph",  "archivedModuleGraph"},
  78   {"java/util/ImmutableCollections$ListN",     "EMPTY_LIST"},
  79   {"java/util/ImmutableCollections$MapN",      "EMPTY_MAP"},
  80   {"java/util/ImmutableCollections$SetN",      "EMPTY_SET"},
  81   {"java/lang/module/Configuration",           "EMPTY_CONFIGURATION"},
  82   {"jdk/internal/math/FDBigInteger",           "archivedCaches"},
  83   {"java/math/BigInteger",                     "archivedCaches"},
  84 };
  85 
  86 const static int num_closed_archive_subgraph_entry_fields =
  87   sizeof(closed_archive_subgraph_entry_fields) / sizeof(ArchivableStaticFieldInfo);
  88 const static int num_open_archive_subgraph_entry_fields =
  89   sizeof(open_archive_subgraph_entry_fields) / sizeof(ArchivableStaticFieldInfo);
  90 
  91 ////////////////////////////////////////////////////////////////
  92 //
  93 // Java heap object archiving support
  94 //
  95 ////////////////////////////////////////////////////////////////
  96 void HeapShared::fixup_mapped_heap_regions() {
  97   FileMapInfo *mapinfo = FileMapInfo::current_info();
  98   mapinfo->fixup_mapped_heap_regions();
  99   set_archive_heap_region_fixed();
 100 }
 101 
 102 unsigned HeapShared::oop_hash(oop const& p) {
 103   assert(!p->mark()->has_bias_pattern(),


< prev index next >