equal
deleted
inserted
replaced
25 #include "precompiled.hpp" |
25 #include "precompiled.hpp" |
26 #include "jvm.h" |
26 #include "jvm.h" |
27 #include "classfile/compactHashtable.inline.hpp" |
27 #include "classfile/compactHashtable.inline.hpp" |
28 #include "classfile/javaClasses.hpp" |
28 #include "classfile/javaClasses.hpp" |
29 #include "logging/logMessage.hpp" |
29 #include "logging/logMessage.hpp" |
|
30 #include "memory/heapShared.inline.hpp" |
30 #include "memory/metadataFactory.hpp" |
31 #include "memory/metadataFactory.hpp" |
31 #include "memory/metaspaceShared.hpp" |
32 #include "memory/metaspaceShared.hpp" |
32 #include "oops/compressedOops.inline.hpp" |
33 #include "oops/compressedOops.inline.hpp" |
33 #include "runtime/vmThread.hpp" |
34 #include "runtime/vmThread.hpp" |
34 #include "utilities/numberSeq.hpp" |
35 #include "utilities/numberSeq.hpp" |
278 class CompactHashtable_OopIterator { |
279 class CompactHashtable_OopIterator { |
279 OopClosure* const _closure; |
280 OopClosure* const _closure; |
280 public: |
281 public: |
281 CompactHashtable_OopIterator(OopClosure *cl) : _closure(cl) {} |
282 CompactHashtable_OopIterator(OopClosure *cl) : _closure(cl) {} |
282 inline void do_value(address base_address, u4 offset) const { |
283 inline void do_value(address base_address, u4 offset) const { |
283 narrowOop o = (narrowOop)offset; |
284 narrowOop v = (narrowOop)offset; |
284 _closure->do_oop(&o); |
285 oop obj = HeapShared::decode_with_archived_oop_encoding_mode(v); |
|
286 _closure->do_oop(&obj); |
285 } |
287 } |
286 }; |
288 }; |
287 |
289 |
288 template <class T, class N> void CompactHashtable<T, N>::oops_do(OopClosure* cl) { |
290 template <class T, class N> void CompactHashtable<T, N>::oops_do(OopClosure* cl) { |
289 assert(_type == _string_table || _bucket_count == 0, "sanity"); |
291 assert(_type == _string_table || _bucket_count == 0, "sanity"); |