equal
deleted
inserted
replaced
27 |
27 |
28 #include "classfile/compactHashtable.hpp" |
28 #include "classfile/compactHashtable.hpp" |
29 #include "memory/allocation.hpp" |
29 #include "memory/allocation.hpp" |
30 #include "memory/memRegion.hpp" |
30 #include "memory/memRegion.hpp" |
31 #include "memory/virtualspace.hpp" |
31 #include "memory/virtualspace.hpp" |
32 #include "oops/oop.inline.hpp" |
32 #include "oops/oop.hpp" |
33 #include "utilities/exceptions.hpp" |
33 #include "utilities/exceptions.hpp" |
34 #include "utilities/macros.hpp" |
34 #include "utilities/macros.hpp" |
35 #include "utilities/resourceHash.hpp" |
35 #include "utilities/resourceHash.hpp" |
36 |
36 |
37 #define MAX_SHARED_DELTA (0x7FFFFFFF) |
37 #define MAX_SHARED_DELTA (0x7FFFFFFF) |
94 #if INCLUDE_CDS_JAVA_HEAP |
94 #if INCLUDE_CDS_JAVA_HEAP |
95 private: |
95 private: |
96 static bool obj_equals(oop const& p1, oop const& p2) { |
96 static bool obj_equals(oop const& p1, oop const& p2) { |
97 return p1 == p2; |
97 return p1 == p2; |
98 } |
98 } |
99 static unsigned obj_hash(oop const& p) { |
99 static unsigned obj_hash(oop const& p); |
100 assert(!p->mark()->has_bias_pattern(), |
100 |
101 "this object should never have been locked"); // so identity_hash won't safepoin |
|
102 unsigned hash = (unsigned)p->identity_hash(); |
|
103 return hash; |
|
104 } |
|
105 typedef ResourceHashtable<oop, oop, |
101 typedef ResourceHashtable<oop, oop, |
106 MetaspaceShared::obj_hash, |
102 MetaspaceShared::obj_hash, |
107 MetaspaceShared::obj_equals, |
103 MetaspaceShared::obj_equals, |
108 15889, // prime number |
104 15889, // prime number |
109 ResourceObj::C_HEAP> ArchivedObjectCache; |
105 ResourceObj::C_HEAP> ArchivedObjectCache; |