src/hotspot/share/classfile/compactHashtable.cpp
changeset 51491 187c84a5efe1
parent 49592 77fb0be7d19f
child 51720 b7bfd64e43a6
equal deleted inserted replaced
51490:25048be67f4a 51491:187c84a5efe1
    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");