< prev index next >

src/share/vm/memory/metaspaceShared.hpp

Print this page




  93 #if INCLUDE_CDS_JAVA_HEAP
  94  private:
  95   static bool obj_equals(oop const& p1, oop const& p2) {
  96     return p1 == p2;
  97   }
  98   static unsigned obj_hash(oop const& p) {
  99     unsigned hash = (unsigned)((uintptr_t)&p);
 100     return hash ^ (hash >> LogMinObjAlignment);
 101   }
 102   typedef ResourceHashtable<oop, oop,
 103       MetaspaceShared::obj_hash, MetaspaceShared::obj_equals> ArchivedObjectCache;
 104   static ArchivedObjectCache* _archive_object_cache;
 105 
 106  public:
 107   static ArchivedObjectCache* archive_object_cache() {
 108     return _archive_object_cache;
 109   }
 110   static oop archive_heap_object(oop obj, Thread* THREAD);
 111   static void archive_resolved_constants(Thread* THREAD);
 112 #endif
 113   static bool allow_archive_heap_object() {
 114     CDS_JAVA_HEAP_ONLY(return (UseG1GC && UseCompressedOops && UseCompressedClassPointers);)
 115     NOT_CDS_JAVA_HEAP(return false;)
 116   }
 117   static void create_archive_object_cache() {
 118     CDS_JAVA_HEAP_ONLY(_archive_object_cache = new ArchivedObjectCache(););
 119   }
 120   static void fixup_mapped_heap_regions() NOT_CDS_JAVA_HEAP_RETURN;
 121 
 122   static void dump_open_archive_heap_objects(GrowableArray<MemRegion> * open_archive) NOT_CDS_JAVA_HEAP_RETURN;
 123   static void set_open_archive_heap_region_mapped() {
 124     CDS_JAVA_HEAP_ONLY(_open_archive_heap_region_mapped = true);
 125     NOT_CDS_JAVA_HEAP_RETURN;
 126   }
 127   static bool open_archive_heap_region_mapped() {
 128     CDS_JAVA_HEAP_ONLY(return _open_archive_heap_region_mapped);
 129     NOT_CDS_JAVA_HEAP_RETURN_(false);
 130   }
 131 
 132   static ReservedSpace* shared_rs() {
 133     CDS_ONLY(return &_shared_rs);




  93 #if INCLUDE_CDS_JAVA_HEAP
  94  private:
  95   static bool obj_equals(oop const& p1, oop const& p2) {
  96     return p1 == p2;
  97   }
  98   static unsigned obj_hash(oop const& p) {
  99     unsigned hash = (unsigned)((uintptr_t)&p);
 100     return hash ^ (hash >> LogMinObjAlignment);
 101   }
 102   typedef ResourceHashtable<oop, oop,
 103       MetaspaceShared::obj_hash, MetaspaceShared::obj_equals> ArchivedObjectCache;
 104   static ArchivedObjectCache* _archive_object_cache;
 105 
 106  public:
 107   static ArchivedObjectCache* archive_object_cache() {
 108     return _archive_object_cache;
 109   }
 110   static oop archive_heap_object(oop obj, Thread* THREAD);
 111   static void archive_resolved_constants(Thread* THREAD);
 112 #endif
 113   static bool is_heap_object_archiving_allowed() {
 114     CDS_JAVA_HEAP_ONLY(return (UseG1GC && UseCompressedOops && UseCompressedClassPointers);)
 115     NOT_CDS_JAVA_HEAP(return false;)
 116   }
 117   static void create_archive_object_cache() {
 118     CDS_JAVA_HEAP_ONLY(_archive_object_cache = new ArchivedObjectCache(););
 119   }
 120   static void fixup_mapped_heap_regions() NOT_CDS_JAVA_HEAP_RETURN;
 121 
 122   static void dump_open_archive_heap_objects(GrowableArray<MemRegion> * open_archive) NOT_CDS_JAVA_HEAP_RETURN;
 123   static void set_open_archive_heap_region_mapped() {
 124     CDS_JAVA_HEAP_ONLY(_open_archive_heap_region_mapped = true);
 125     NOT_CDS_JAVA_HEAP_RETURN;
 126   }
 127   static bool open_archive_heap_region_mapped() {
 128     CDS_JAVA_HEAP_ONLY(return _open_archive_heap_region_mapped);
 129     NOT_CDS_JAVA_HEAP_RETURN_(false);
 130   }
 131 
 132   static ReservedSpace* shared_rs() {
 133     CDS_ONLY(return &_shared_rs);


< prev index next >