< prev index next >

src/hotspot/share/classfile/compactHashtable.cpp

Print this page

        

*** 25,34 **** --- 25,35 ---- #include "precompiled.hpp" #include "jvm.h" #include "classfile/compactHashtable.inline.hpp" #include "classfile/javaClasses.hpp" #include "logging/logMessage.hpp" + #include "memory/heapShared.inline.hpp" #include "memory/metadataFactory.hpp" #include "memory/metaspaceShared.hpp" #include "oops/compressedOops.inline.hpp" #include "runtime/vmThread.hpp" #include "utilities/numberSeq.hpp"
*** 278,289 **** class CompactHashtable_OopIterator { OopClosure* const _closure; public: CompactHashtable_OopIterator(OopClosure *cl) : _closure(cl) {} inline void do_value(address base_address, u4 offset) const { ! narrowOop o = (narrowOop)offset; ! _closure->do_oop(&o); } }; template <class T, class N> void CompactHashtable<T, N>::oops_do(OopClosure* cl) { assert(_type == _string_table || _bucket_count == 0, "sanity"); --- 279,291 ---- class CompactHashtable_OopIterator { OopClosure* const _closure; public: CompactHashtable_OopIterator(OopClosure *cl) : _closure(cl) {} inline void do_value(address base_address, u4 offset) const { ! narrowOop v = (narrowOop)offset; ! oop obj = HeapShared::decode_with_archived_oop_encoding_mode(v); ! _closure->do_oop(&obj); } }; template <class T, class N> void CompactHashtable<T, N>::oops_do(OopClosure* cl) { assert(_type == _string_table || _bucket_count == 0, "sanity");
< prev index next >