8206115: Use shared macros for JavaClasses::compute_offsets and MetaspaceShared::serialize_well_known_classes
Added BASIC_JAVA_CLASSES_DO in javaClasses.hpp Reviewed-by: jiangli, redestad, coleenp
This commit is contained in:
parent
efa05e1c62
commit
e12ee81ff0
@ -209,7 +209,7 @@ void java_lang_String::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_String::serialize(SerializeClosure* f) {
|
||||
void java_lang_String::serialize_offsets(SerializeClosure* f) {
|
||||
STRING_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
f->do_u4((u4*)&initialized);
|
||||
}
|
||||
@ -1534,7 +1534,7 @@ void java_lang_Class::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_Class::serialize(SerializeClosure* f) {
|
||||
void java_lang_Class::serialize_offsets(SerializeClosure* f) {
|
||||
f->do_u4((u4*)&offsets_computed);
|
||||
f->do_u4((u4*)&_init_lock_offset);
|
||||
|
||||
@ -1608,7 +1608,7 @@ void java_lang_Thread::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_Thread::serialize(SerializeClosure* f) {
|
||||
void java_lang_Thread::serialize_offsets(SerializeClosure* f) {
|
||||
THREAD_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -1860,7 +1860,7 @@ void java_lang_ThreadGroup::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_ThreadGroup::serialize(SerializeClosure* f) {
|
||||
void java_lang_ThreadGroup::serialize_offsets(SerializeClosure* f) {
|
||||
THREADGROUP_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -1878,7 +1878,7 @@ void java_lang_Throwable::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_Throwable::serialize(SerializeClosure* f) {
|
||||
void java_lang_Throwable::serialize_offsets(SerializeClosure* f) {
|
||||
THROWABLE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -2654,7 +2654,7 @@ void java_lang_StackFrameInfo::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_StackFrameInfo::serialize(SerializeClosure* f) {
|
||||
void java_lang_StackFrameInfo::serialize_offsets(SerializeClosure* f) {
|
||||
STACKFRAMEINFO_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
STACKFRAMEINFO_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
@ -2672,7 +2672,7 @@ void java_lang_LiveStackFrameInfo::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_LiveStackFrameInfo::serialize(SerializeClosure* f) {
|
||||
void java_lang_LiveStackFrameInfo::serialize_offsets(SerializeClosure* f) {
|
||||
LIVESTACKFRAMEINFO_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -2686,7 +2686,7 @@ void java_lang_reflect_AccessibleObject::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_reflect_AccessibleObject::serialize(SerializeClosure* f) {
|
||||
void java_lang_reflect_AccessibleObject::serialize_offsets(SerializeClosure* f) {
|
||||
ACCESSIBLEOBJECT_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -2727,7 +2727,7 @@ void java_lang_reflect_Method::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_reflect_Method::serialize(SerializeClosure* f) {
|
||||
void java_lang_reflect_Method::serialize_offsets(SerializeClosure* f) {
|
||||
METHOD_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -2914,7 +2914,7 @@ void java_lang_reflect_Constructor::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_reflect_Constructor::serialize(SerializeClosure* f) {
|
||||
void java_lang_reflect_Constructor::serialize_offsets(SerializeClosure* f) {
|
||||
CONSTRUCTOR_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3063,7 +3063,7 @@ void java_lang_reflect_Field::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_reflect_Field::serialize(SerializeClosure* f) {
|
||||
void java_lang_reflect_Field::serialize_offsets(SerializeClosure* f) {
|
||||
FIELD_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3186,7 +3186,7 @@ void reflect_ConstantPool::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void reflect_ConstantPool::serialize(SerializeClosure* f) {
|
||||
void reflect_ConstantPool::serialize_offsets(SerializeClosure* f) {
|
||||
CONSTANTPOOL_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3203,7 +3203,7 @@ void java_lang_reflect_Parameter::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_reflect_Parameter::serialize(SerializeClosure* f) {
|
||||
void java_lang_reflect_Parameter::serialize_offsets(SerializeClosure* f) {
|
||||
PARAMETER_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3281,7 +3281,7 @@ void java_lang_Module::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_Module::serialize(SerializeClosure* f) {
|
||||
void java_lang_Module::serialize_offsets(SerializeClosure* f) {
|
||||
MODULE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
MODULE_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
@ -3371,7 +3371,7 @@ void reflect_UnsafeStaticFieldAccessorImpl::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void reflect_UnsafeStaticFieldAccessorImpl::serialize(SerializeClosure* f) {
|
||||
void reflect_UnsafeStaticFieldAccessorImpl::serialize_offsets(SerializeClosure* f) {
|
||||
UNSAFESTATICFIELDACCESSORIMPL_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3543,7 +3543,7 @@ void java_lang_ref_SoftReference::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_ref_SoftReference::serialize(SerializeClosure* f) {
|
||||
void java_lang_ref_SoftReference::serialize_offsets(SerializeClosure* f) {
|
||||
SOFTREFERENCE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3584,7 +3584,7 @@ void java_lang_invoke_DirectMethodHandle::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_invoke_DirectMethodHandle::serialize(SerializeClosure* f) {
|
||||
void java_lang_invoke_DirectMethodHandle::serialize_offsets(SerializeClosure* f) {
|
||||
DIRECTMETHODHANDLE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3616,7 +3616,7 @@ void java_lang_invoke_MethodHandle::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_invoke_MethodHandle::serialize(SerializeClosure* f) {
|
||||
void java_lang_invoke_MethodHandle::serialize_offsets(SerializeClosure* f) {
|
||||
METHODHANDLE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3635,7 +3635,7 @@ void java_lang_invoke_MemberName::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_invoke_MemberName::serialize(SerializeClosure* f) {
|
||||
void java_lang_invoke_MemberName::serialize_offsets(SerializeClosure* f) {
|
||||
MEMBERNAME_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
MEMBERNAME_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
@ -3648,7 +3648,7 @@ void java_lang_invoke_ResolvedMethodName::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_invoke_ResolvedMethodName::serialize(SerializeClosure* f) {
|
||||
void java_lang_invoke_ResolvedMethodName::serialize_offsets(SerializeClosure* f) {
|
||||
RESOLVEDMETHOD_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3663,7 +3663,7 @@ void java_lang_invoke_LambdaForm::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_invoke_LambdaForm::serialize(SerializeClosure* f) {
|
||||
void java_lang_invoke_LambdaForm::serialize_offsets(SerializeClosure* f) {
|
||||
LAMBDAFORM_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3815,7 +3815,7 @@ void java_lang_invoke_MethodType::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_invoke_MethodType::serialize(SerializeClosure* f) {
|
||||
void java_lang_invoke_MethodType::serialize_offsets(SerializeClosure* f) {
|
||||
METHODTYPE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3909,7 +3909,7 @@ void java_lang_invoke_CallSite::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_invoke_CallSite::serialize(SerializeClosure* f) {
|
||||
void java_lang_invoke_CallSite::serialize_offsets(SerializeClosure* f) {
|
||||
CALLSITE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3931,7 +3931,7 @@ void java_lang_invoke_MethodHandleNatives_CallSiteContext::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_invoke_MethodHandleNatives_CallSiteContext::serialize(SerializeClosure* f) {
|
||||
void java_lang_invoke_MethodHandleNatives_CallSiteContext::serialize_offsets(SerializeClosure* f) {
|
||||
CALLSITECONTEXT_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -3963,7 +3963,7 @@ void java_security_AccessControlContext::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_security_AccessControlContext::serialize(SerializeClosure* f) {
|
||||
void java_security_AccessControlContext::serialize_offsets(SerializeClosure* f) {
|
||||
ACCESSCONTROLCONTEXT_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -4029,7 +4029,7 @@ void java_lang_ClassLoader::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_ClassLoader::serialize(SerializeClosure* f) {
|
||||
void java_lang_ClassLoader::serialize_offsets(SerializeClosure* f) {
|
||||
CLASSLOADER_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
CLASSLOADER_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
@ -4143,7 +4143,7 @@ void java_lang_System::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_System::serialize(SerializeClosure* f) {
|
||||
void java_lang_System::serialize_offsets(SerializeClosure* f) {
|
||||
SYSTEM_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -4274,7 +4274,7 @@ void java_lang_StackTraceElement::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_StackTraceElement::serialize(SerializeClosure* f) {
|
||||
void java_lang_StackTraceElement::serialize_offsets(SerializeClosure* f) {
|
||||
STACKTRACEELEMENT_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -4349,7 +4349,7 @@ void java_lang_AssertionStatusDirectives::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_AssertionStatusDirectives::serialize(SerializeClosure* f) {
|
||||
void java_lang_AssertionStatusDirectives::serialize_offsets(SerializeClosure* f) {
|
||||
ASSERTIONSTATUSDIRECTIVES_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -4390,7 +4390,7 @@ void java_nio_Buffer::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_nio_Buffer::serialize(SerializeClosure* f) {
|
||||
void java_nio_Buffer::serialize_offsets(SerializeClosure* f) {
|
||||
BUFFER_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -4409,7 +4409,7 @@ oop java_util_concurrent_locks_AbstractOwnableSynchronizer::get_owner_threadObj(
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_util_concurrent_locks_AbstractOwnableSynchronizer::serialize(SerializeClosure* f) {
|
||||
void java_util_concurrent_locks_AbstractOwnableSynchronizer::serialize_offsets(SerializeClosure* f) {
|
||||
AOS_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -4428,7 +4428,7 @@ void java_lang_Integer_IntegerCache::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_Integer_IntegerCache::serialize(SerializeClosure* f) {
|
||||
void java_lang_Integer_IntegerCache::serialize_offsets(SerializeClosure* f) {
|
||||
INTEGERCACHE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -4446,7 +4446,7 @@ void jdk_internal_module_ArchivedModuleGraph::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void jdk_internal_module_ArchivedModuleGraph::serialize(SerializeClosure* f) {
|
||||
void jdk_internal_module_ArchivedModuleGraph::serialize_offsets(SerializeClosure* f) {
|
||||
ARCHIVEDMODULEGRAPH_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -4461,7 +4461,7 @@ void java_lang_module_Configuration::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_lang_module_Configuration::serialize(SerializeClosure* f) {
|
||||
void java_lang_module_Configuration::serialize_offsets(SerializeClosure* f) {
|
||||
CONFIGURATION_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -4476,7 +4476,7 @@ void java_util_ImmutableCollections_ListN::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_util_ImmutableCollections_ListN::serialize(SerializeClosure* f) {
|
||||
void java_util_ImmutableCollections_ListN::serialize_offsets(SerializeClosure* f) {
|
||||
LISTN_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -4491,7 +4491,7 @@ void java_util_ImmutableCollections_SetN::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_util_ImmutableCollections_SetN::serialize(SerializeClosure* f) {
|
||||
void java_util_ImmutableCollections_SetN::serialize_offsets(SerializeClosure* f) {
|
||||
SETN_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -4506,7 +4506,7 @@ void java_util_ImmutableCollections_MapN::compute_offsets() {
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
void java_util_ImmutableCollections_MapN::serialize(SerializeClosure* f) {
|
||||
void java_util_ImmutableCollections_MapN::serialize_offsets(SerializeClosure* f) {
|
||||
MAPN_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
|
||||
}
|
||||
#endif
|
||||
@ -4527,6 +4527,7 @@ void JavaClasses::compute_hard_coded_offsets() {
|
||||
java_lang_ref_Reference::discovered_offset = member_offset(java_lang_ref_Reference::hc_discovered_offset);
|
||||
}
|
||||
|
||||
#define DO_COMPUTE_OFFSETS(k) k::compute_offsets();
|
||||
|
||||
// Compute non-hard-coded field offsets of all the classes in this file
|
||||
void JavaClasses::compute_offsets() {
|
||||
@ -4534,52 +4535,24 @@ void JavaClasses::compute_offsets() {
|
||||
return; // field offsets are loaded from archive
|
||||
}
|
||||
|
||||
// java_lang_Class::compute_offsets was called earlier in bootstrap
|
||||
java_lang_System::compute_offsets();
|
||||
java_lang_ClassLoader::compute_offsets();
|
||||
java_lang_Throwable::compute_offsets();
|
||||
java_lang_Thread::compute_offsets();
|
||||
java_lang_ThreadGroup::compute_offsets();
|
||||
java_lang_AssertionStatusDirectives::compute_offsets();
|
||||
java_lang_ref_SoftReference::compute_offsets();
|
||||
java_lang_invoke_MethodHandle::compute_offsets();
|
||||
java_lang_invoke_DirectMethodHandle::compute_offsets();
|
||||
java_lang_invoke_MemberName::compute_offsets();
|
||||
java_lang_invoke_ResolvedMethodName::compute_offsets();
|
||||
java_lang_invoke_LambdaForm::compute_offsets();
|
||||
java_lang_invoke_MethodType::compute_offsets();
|
||||
java_lang_invoke_CallSite::compute_offsets();
|
||||
java_lang_invoke_MethodHandleNatives_CallSiteContext::compute_offsets();
|
||||
java_security_AccessControlContext::compute_offsets();
|
||||
// Initialize reflection classes. The layouts of these classes
|
||||
// changed with the new reflection implementation in JDK 1.4, and
|
||||
// since the Universe doesn't know what JDK version it is until this
|
||||
// point we defer computation of these offsets until now.
|
||||
java_lang_reflect_AccessibleObject::compute_offsets();
|
||||
java_lang_reflect_Method::compute_offsets();
|
||||
java_lang_reflect_Constructor::compute_offsets();
|
||||
java_lang_reflect_Field::compute_offsets();
|
||||
java_nio_Buffer::compute_offsets();
|
||||
reflect_ConstantPool::compute_offsets();
|
||||
reflect_UnsafeStaticFieldAccessorImpl::compute_offsets();
|
||||
java_lang_reflect_Parameter::compute_offsets();
|
||||
java_lang_Module::compute_offsets();
|
||||
java_lang_StackTraceElement::compute_offsets();
|
||||
java_lang_StackFrameInfo::compute_offsets();
|
||||
java_lang_LiveStackFrameInfo::compute_offsets();
|
||||
java_util_concurrent_locks_AbstractOwnableSynchronizer::compute_offsets();
|
||||
|
||||
java_lang_Integer_IntegerCache::compute_offsets();
|
||||
java_lang_module_Configuration::compute_offsets();
|
||||
java_util_ImmutableCollections_ListN::compute_offsets();
|
||||
java_util_ImmutableCollections_MapN::compute_offsets();
|
||||
java_util_ImmutableCollections_SetN::compute_offsets();
|
||||
jdk_internal_module_ArchivedModuleGraph::compute_offsets();
|
||||
// We have already called the compute_offsets() of the
|
||||
// BASIC_JAVA_CLASSES_DO_PART1 classes (java_lang_String and java_lang_Class)
|
||||
// earlier inside SystemDictionary::resolve_preloaded_classes()
|
||||
BASIC_JAVA_CLASSES_DO_PART2(DO_COMPUTE_OFFSETS);
|
||||
|
||||
// generated interpreter code wants to know about the offsets we just computed:
|
||||
AbstractAssembler::update_delayed_values();
|
||||
}
|
||||
|
||||
#if INCLUDE_CDS
|
||||
#define DO_SERIALIZE_OFFSETS(k) k::serialize_offsets(soc);
|
||||
|
||||
void JavaClasses::serialize_offsets(SerializeClosure* soc) {
|
||||
BASIC_JAVA_CLASSES_DO(DO_SERIALIZE_OFFSETS);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef PRODUCT
|
||||
|
||||
// These functions exist to assert the validity of hard-coded field offsets to guard
|
||||
|
@ -47,6 +47,52 @@
|
||||
// correspondingly. The names in the enums must be identical to the actual field
|
||||
// names in order for the verification code to work.
|
||||
|
||||
#define BASIC_JAVA_CLASSES_DO_PART1(f) \
|
||||
f(java_lang_Class) \
|
||||
f(java_lang_String) \
|
||||
//end
|
||||
|
||||
#define BASIC_JAVA_CLASSES_DO_PART2(f) \
|
||||
f(java_lang_System) \
|
||||
f(java_lang_ClassLoader) \
|
||||
f(java_lang_Throwable) \
|
||||
f(java_lang_Thread) \
|
||||
f(java_lang_ThreadGroup) \
|
||||
f(java_lang_AssertionStatusDirectives) \
|
||||
f(java_lang_ref_SoftReference) \
|
||||
f(java_lang_invoke_MethodHandle) \
|
||||
f(java_lang_invoke_DirectMethodHandle) \
|
||||
f(java_lang_invoke_MemberName) \
|
||||
f(java_lang_invoke_ResolvedMethodName) \
|
||||
f(java_lang_invoke_LambdaForm) \
|
||||
f(java_lang_invoke_MethodType) \
|
||||
f(java_lang_invoke_CallSite) \
|
||||
f(java_lang_invoke_MethodHandleNatives_CallSiteContext) \
|
||||
f(java_security_AccessControlContext) \
|
||||
f(java_lang_reflect_AccessibleObject) \
|
||||
f(java_lang_reflect_Method) \
|
||||
f(java_lang_reflect_Constructor) \
|
||||
f(java_lang_reflect_Field) \
|
||||
f(java_nio_Buffer) \
|
||||
f(reflect_ConstantPool) \
|
||||
f(reflect_UnsafeStaticFieldAccessorImpl) \
|
||||
f(java_lang_reflect_Parameter) \
|
||||
f(java_lang_Module) \
|
||||
f(java_lang_StackTraceElement) \
|
||||
f(java_lang_StackFrameInfo) \
|
||||
f(java_lang_LiveStackFrameInfo) \
|
||||
f(java_util_concurrent_locks_AbstractOwnableSynchronizer) \
|
||||
f(jdk_internal_module_ArchivedModuleGraph) \
|
||||
f(java_lang_Integer_IntegerCache) \
|
||||
f(java_lang_module_Configuration) \
|
||||
f(java_util_ImmutableCollections_ListN) \
|
||||
f(java_util_ImmutableCollections_MapN) \
|
||||
f(java_util_ImmutableCollections_SetN) \
|
||||
//end
|
||||
|
||||
#define BASIC_JAVA_CLASSES_DO(f) \
|
||||
BASIC_JAVA_CLASSES_DO_PART1(f) \
|
||||
BASIC_JAVA_CLASSES_DO_PART2(f)
|
||||
|
||||
// Interface to java.lang.String objects
|
||||
|
||||
@ -71,7 +117,7 @@ class java_lang_String : AllStatic {
|
||||
};
|
||||
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Instance creation
|
||||
static Handle create_from_unicode(jchar* unicode, int len, TRAPS);
|
||||
@ -224,7 +270,7 @@ class java_lang_Class : AllStatic {
|
||||
static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS);
|
||||
|
||||
// Archiving
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void archive_basic_type_mirrors(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
|
||||
static oop archive_mirror(Klass* k, TRAPS) NOT_CDS_JAVA_HEAP_RETURN_(NULL);
|
||||
static oop process_archived_mirror(Klass* k, oop mirror, oop archived_mirror, Thread *THREAD)
|
||||
@ -317,7 +363,7 @@ class java_lang_Thread : AllStatic {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Instance creation
|
||||
static oop create();
|
||||
@ -419,7 +465,7 @@ class java_lang_ThreadGroup : AllStatic {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// parent ThreadGroup
|
||||
static oop parent(oop java_thread_group);
|
||||
@ -500,7 +546,7 @@ class java_lang_Throwable: AllStatic {
|
||||
static void print_stack_usage(Handle stream);
|
||||
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Allocate space for backtrace (created but stack trace not filled in)
|
||||
static void allocate_backtrace(Handle throwable, TRAPS);
|
||||
@ -531,7 +577,7 @@ class java_lang_reflect_AccessibleObject: AllStatic {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Accessors
|
||||
static jboolean override(oop reflect);
|
||||
@ -564,7 +610,7 @@ class java_lang_reflect_Method : public java_lang_reflect_AccessibleObject {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Allocation
|
||||
static Handle create(TRAPS);
|
||||
@ -635,7 +681,7 @@ class java_lang_reflect_Constructor : public java_lang_reflect_AccessibleObject
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Allocation
|
||||
static Handle create(TRAPS);
|
||||
@ -695,7 +741,7 @@ class java_lang_reflect_Field : public java_lang_reflect_AccessibleObject {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Allocation
|
||||
static Handle create(TRAPS);
|
||||
@ -752,7 +798,7 @@ class java_lang_reflect_Parameter {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Allocation
|
||||
static Handle create(TRAPS);
|
||||
@ -784,7 +830,7 @@ class java_lang_Module {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Allocation
|
||||
static Handle create(Handle loader, Handle module_name, TRAPS);
|
||||
@ -815,7 +861,7 @@ class reflect_ConstantPool {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Allocation
|
||||
static Handle create(TRAPS);
|
||||
@ -839,7 +885,7 @@ class reflect_UnsafeStaticFieldAccessorImpl {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
static int base_offset() {
|
||||
return _base_offset;
|
||||
@ -944,7 +990,7 @@ class java_lang_ref_SoftReference: public java_lang_ref_Reference {
|
||||
static void set_clock(jlong value);
|
||||
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
};
|
||||
|
||||
// Interface to java.lang.invoke.MethodHandle objects
|
||||
@ -961,7 +1007,7 @@ class java_lang_invoke_MethodHandle: AllStatic {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Accessors
|
||||
static oop type(oop mh);
|
||||
@ -992,7 +1038,7 @@ class java_lang_invoke_DirectMethodHandle: AllStatic {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Accessors
|
||||
static oop member(oop mh);
|
||||
@ -1019,7 +1065,7 @@ class java_lang_invoke_LambdaForm: AllStatic {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Accessors
|
||||
static oop vmentry(oop lform);
|
||||
@ -1052,7 +1098,7 @@ class java_lang_invoke_ResolvedMethodName : AllStatic {
|
||||
|
||||
static void compute_offsets();
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
static int vmtarget_offset_in_bytes() { return _vmtarget_offset; }
|
||||
|
||||
@ -1091,7 +1137,7 @@ class java_lang_invoke_MemberName: AllStatic {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
// Accessors
|
||||
static oop clazz(oop mname);
|
||||
static void set_clazz(oop mname, oop clazz);
|
||||
@ -1156,7 +1202,7 @@ class java_lang_invoke_MethodType: AllStatic {
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
// Accessors
|
||||
static oop rtype(oop mt);
|
||||
static objArrayOop ptypes(oop mt);
|
||||
@ -1192,7 +1238,7 @@ private:
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
// Accessors
|
||||
static oop target( oop site);
|
||||
static void set_target( oop site, oop target);
|
||||
@ -1226,7 +1272,7 @@ private:
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
// Accessors
|
||||
static DependencyContext vmdependencies(oop context);
|
||||
|
||||
@ -1250,7 +1296,7 @@ class java_security_AccessControlContext: AllStatic {
|
||||
|
||||
static void compute_offsets();
|
||||
public:
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static oop create(objArrayHandle context, bool isPrivileged, Handle privileged_context, TRAPS);
|
||||
|
||||
static bool is_authorized(Handle context);
|
||||
@ -1277,7 +1323,7 @@ class java_lang_ClassLoader : AllStatic {
|
||||
|
||||
public:
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
static ClassLoaderData* loader_data(oop loader);
|
||||
static ClassLoaderData* cmpxchg_loader_data(ClassLoaderData* new_data, oop loader, ClassLoaderData* expected_data);
|
||||
@ -1330,7 +1376,7 @@ class java_lang_System : AllStatic {
|
||||
static bool has_security_manager();
|
||||
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Debugging
|
||||
friend class JavaClasses;
|
||||
@ -1368,7 +1414,7 @@ class java_lang_StackTraceElement: AllStatic {
|
||||
int version, int bci, Symbol* name, TRAPS);
|
||||
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Debugging
|
||||
friend class JavaClasses;
|
||||
@ -1412,7 +1458,7 @@ public:
|
||||
static void set_version(oop info, short value);
|
||||
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
static void to_stack_trace_element(Handle stackFrame, Handle stack_trace_element, TRAPS);
|
||||
|
||||
@ -1434,7 +1480,7 @@ class java_lang_LiveStackFrameInfo: AllStatic {
|
||||
static void set_mode(oop info, int value);
|
||||
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Debugging
|
||||
friend class JavaClasses;
|
||||
@ -1459,7 +1505,7 @@ class java_lang_AssertionStatusDirectives: AllStatic {
|
||||
static void set_deflt(oop obj, bool val);
|
||||
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
|
||||
// Debugging
|
||||
friend class JavaClasses;
|
||||
@ -1473,7 +1519,7 @@ class java_nio_Buffer: AllStatic {
|
||||
public:
|
||||
static int limit_offset();
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
};
|
||||
|
||||
class java_util_concurrent_locks_AbstractOwnableSynchronizer : AllStatic {
|
||||
@ -1482,7 +1528,7 @@ class java_util_concurrent_locks_AbstractOwnableSynchronizer : AllStatic {
|
||||
public:
|
||||
static void compute_offsets();
|
||||
static oop get_owner_threadObj(oop obj);
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
};
|
||||
|
||||
class java_lang_Integer_IntegerCache: AllStatic {
|
||||
@ -1491,7 +1537,7 @@ class java_lang_Integer_IntegerCache: AllStatic {
|
||||
public:
|
||||
static int archivedCache_offset() { return _archivedCache_offset; }
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
};
|
||||
|
||||
class jdk_internal_module_ArchivedModuleGraph: AllStatic {
|
||||
@ -1506,7 +1552,7 @@ class jdk_internal_module_ArchivedModuleGraph: AllStatic {
|
||||
static int archivedMainModule_offset() { return _archivedMainModule_offset; }
|
||||
static int archivedConfiguration_offset() { return _archivedConfiguration_offset; }
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
};
|
||||
|
||||
class java_lang_module_Configuration: AllStatic {
|
||||
@ -1515,7 +1561,7 @@ class java_lang_module_Configuration: AllStatic {
|
||||
public:
|
||||
static int EMPTY_CONFIGURATION_offset() { return _EMPTY_CONFIGURATION_offset; }
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
};
|
||||
|
||||
class java_util_ImmutableCollections_ListN : AllStatic {
|
||||
@ -1524,7 +1570,7 @@ class java_util_ImmutableCollections_ListN : AllStatic {
|
||||
public:
|
||||
static int EMPTY_LIST_offset() { return _EMPTY_LIST_offset; }
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
};
|
||||
|
||||
class java_util_ImmutableCollections_SetN : AllStatic {
|
||||
@ -1533,7 +1579,7 @@ class java_util_ImmutableCollections_SetN : AllStatic {
|
||||
public:
|
||||
static int EMPTY_SET_offset() { return _EMPTY_SET_offset; }
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
};
|
||||
|
||||
class java_util_ImmutableCollections_MapN : AllStatic {
|
||||
@ -1542,7 +1588,7 @@ class java_util_ImmutableCollections_MapN : AllStatic {
|
||||
public:
|
||||
static int EMPTY_MAP_offset() { return _EMPTY_MAP_offset; }
|
||||
static void compute_offsets();
|
||||
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
|
||||
};
|
||||
|
||||
// Use to declare fields that need to be injected into Java classes
|
||||
@ -1605,7 +1651,7 @@ class JavaClasses : AllStatic {
|
||||
static void compute_hard_coded_offsets();
|
||||
static void compute_offsets();
|
||||
static void check_offsets() PRODUCT_RETURN;
|
||||
|
||||
static void serialize_offsets(SerializeClosure* soc) NOT_CDS_RETURN;
|
||||
static InjectedField* get_injected(Symbol* class_name, int* field_count);
|
||||
};
|
||||
|
||||
|
@ -423,51 +423,12 @@ void MetaspaceShared::serialize(SerializeClosure* soc) {
|
||||
StringTable::serialize(soc);
|
||||
soc->do_tag(--tag);
|
||||
|
||||
serialize_well_known_classes(soc);
|
||||
JavaClasses::serialize_offsets(soc);
|
||||
soc->do_tag(--tag);
|
||||
|
||||
soc->do_tag(666);
|
||||
}
|
||||
|
||||
void MetaspaceShared::serialize_well_known_classes(SerializeClosure* soc) {
|
||||
java_lang_Class::serialize(soc);
|
||||
java_lang_String::serialize(soc);
|
||||
java_lang_System::serialize(soc);
|
||||
java_lang_ClassLoader::serialize(soc);
|
||||
java_lang_Throwable::serialize(soc);
|
||||
java_lang_Thread::serialize(soc);
|
||||
java_lang_ThreadGroup::serialize(soc);
|
||||
java_lang_AssertionStatusDirectives::serialize(soc);
|
||||
java_lang_module_Configuration::serialize(soc);
|
||||
java_lang_ref_SoftReference::serialize(soc);
|
||||
java_lang_invoke_MethodHandle::serialize(soc);
|
||||
java_lang_invoke_DirectMethodHandle::serialize(soc);
|
||||
java_lang_invoke_MemberName::serialize(soc);
|
||||
java_lang_invoke_ResolvedMethodName::serialize(soc);
|
||||
java_lang_invoke_LambdaForm::serialize(soc);
|
||||
java_lang_invoke_MethodType::serialize(soc);
|
||||
java_lang_invoke_CallSite::serialize(soc);
|
||||
java_lang_invoke_MethodHandleNatives_CallSiteContext::serialize(soc);
|
||||
java_security_AccessControlContext::serialize(soc);
|
||||
java_lang_reflect_AccessibleObject::serialize(soc);
|
||||
java_lang_reflect_Method::serialize(soc);
|
||||
java_lang_reflect_Constructor::serialize(soc);
|
||||
java_lang_reflect_Field::serialize(soc);
|
||||
java_nio_Buffer::serialize(soc);
|
||||
reflect_ConstantPool::serialize(soc);
|
||||
reflect_UnsafeStaticFieldAccessorImpl::serialize(soc);
|
||||
java_lang_reflect_Parameter::serialize(soc);
|
||||
java_lang_Module::serialize(soc);
|
||||
java_lang_StackTraceElement::serialize(soc);
|
||||
java_lang_StackFrameInfo::serialize(soc);
|
||||
java_lang_LiveStackFrameInfo::serialize(soc);
|
||||
java_util_concurrent_locks_AbstractOwnableSynchronizer::serialize(soc);
|
||||
java_util_ImmutableCollections_ListN::serialize(soc);
|
||||
java_util_ImmutableCollections_MapN::serialize(soc);
|
||||
java_util_ImmutableCollections_SetN::serialize(soc);
|
||||
jdk_internal_module_ArchivedModuleGraph::serialize(soc);
|
||||
}
|
||||
|
||||
address MetaspaceShared::cds_i2i_entry_code_buffers(size_t total_size) {
|
||||
if (DumpSharedSpaces) {
|
||||
if (_cds_i2i_entry_code_buffers == NULL) {
|
||||
|
@ -204,7 +204,6 @@ class MetaspaceShared : AllStatic {
|
||||
static void patch_cpp_vtable_pointers();
|
||||
static bool is_valid_shared_method(const Method* m) NOT_CDS_RETURN_(false);
|
||||
static void serialize(SerializeClosure* sc) NOT_CDS_RETURN;
|
||||
static void serialize_well_known_classes(SerializeClosure* soc) NOT_CDS_RETURN;
|
||||
|
||||
static MetaspaceSharedStats* stats() {
|
||||
return &_stats;
|
||||
|
Loading…
Reference in New Issue
Block a user