src/hotspot/share/memory/metaspaceShared.cpp
changeset 49480 d7df2dd501ce
parent 49372 3bb8b00832d0
child 49481 8d02d496e785
--- a/src/hotspot/share/memory/metaspaceShared.cpp	Wed Mar 21 17:09:34 2018 -0400
+++ b/src/hotspot/share/memory/metaspaceShared.cpp	Wed Mar 21 19:45:24 2018 -0400
@@ -46,6 +46,7 @@
 #include "logging/logMessage.hpp"
 #include "memory/filemap.hpp"
 #include "memory/metaspace.hpp"
+#include "memory/metaspaceClosure.hpp"
 #include "memory/metaspaceShared.hpp"
 #include "memory/resourceArea.hpp"
 #include "oops/instanceClassLoaderKlass.hpp"
@@ -56,15 +57,15 @@
 #include "oops/oop.inline.hpp"
 #include "oops/typeArrayKlass.hpp"
 #include "prims/jvmtiRedefineClasses.hpp"
-#include "runtime/timerTrace.hpp"
+#include "runtime/handles.inline.hpp"
 #include "runtime/os.hpp"
 #include "runtime/signature.hpp"
+#include "runtime/timerTrace.hpp"
 #include "runtime/vmThread.hpp"
 #include "runtime/vm_operations.hpp"
 #include "utilities/align.hpp"
 #include "utilities/defaultStream.hpp"
 #include "utilities/hashtable.inline.hpp"
-#include "memory/metaspaceClosure.hpp"
 
 ReservedSpace MetaspaceShared::_shared_rs;
 VirtualSpace MetaspaceShared::_shared_vs;
@@ -1820,6 +1821,13 @@
                                                    os::vm_allocation_granularity());
 }
 
+unsigned MetaspaceShared::obj_hash(oop const& p) {
+  assert(!p->mark()->has_bias_pattern(),
+         "this object should never have been locked");  // so identity_hash won't safepoin
+  unsigned hash = (unsigned)p->identity_hash();
+  return hash;
+}
+
 MetaspaceShared::ArchivedObjectCache* MetaspaceShared::_archive_object_cache = NULL;
 oop MetaspaceShared::find_archived_heap_object(oop obj) {
   assert(DumpSharedSpaces, "dump-time only");