< prev index next > src/hotspot/share/cds/cppVtables.cpp
Print this page
#include "logging/log.hpp"
#include "oops/instanceClassLoaderKlass.hpp"
#include "oops/instanceMirrorKlass.hpp"
#include "oops/instanceRefKlass.hpp"
#include "oops/instanceStackChunkKlass.hpp"
+ #include "oops/methodCounters.hpp"
#include "oops/methodData.hpp"
+ #include "oops/trainingData.hpp"
#include "oops/objArrayKlass.hpp"
#include "oops/typeArrayKlass.hpp"
#include "runtime/arguments.hpp"
#include "utilities/globalDefinitions.hpp"
f(InstanceClassLoaderKlass) \
f(InstanceMirrorKlass) \
f(InstanceRefKlass) \
f(InstanceStackChunkKlass) \
f(Method) \
+ f(MethodData) \
+ f(MethodCounters) \
f(ObjArrayKlass) \
- f(TypeArrayKlass)
+ f(TypeArrayKlass) \
+ f(KlassTrainingData) \
+ f(MethodTrainingData) \
+ f(CompileTrainingData)
class CppVtableInfo {
intptr_t _vtable_size;
intptr_t _cloned_vtable[1]; // Pseudo flexible array member.
static size_t cloned_vtable_offset() { return offset_of(CppVtableInfo, _cloned_vtable); }
case MetaspaceObj::TypeArrayU8Type:
case MetaspaceObj::TypeArrayOtherType:
case MetaspaceObj::ConstMethodType:
case MetaspaceObj::ConstantPoolCacheType:
case MetaspaceObj::AnnotationsType:
- case MetaspaceObj::MethodCountersType:
case MetaspaceObj::RecordComponentType:
+ case MetaspaceObj::AdapterHandlerEntryType:
+ case MetaspaceObj::AdapterFingerPrintType:
// These have no vtables.
break;
- case MetaspaceObj::MethodDataType:
- // We don't archive MethodData <-- should have been removed in removed_unsharable_info
- ShouldNotReachHere();
- break;
default:
for (kind = 0; kind < _num_cloned_vtable_kinds; kind ++) {
if (vtable_of((Metadata*)obj) == _orig_cpp_vtptrs[kind] ||
vtable_of((Metadata*)obj) == _archived_cpp_vtptrs[kind]) {
break;
< prev index next >