< prev index next >
src/hotspot/share/classfile/javaClasses.cpp
Print this page
@@ -207,11 +207,11 @@
initialized = true;
}
#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);
}
#endif
@@ -1532,11 +1532,11 @@
CLASS_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
}
#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);
CLASS_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
@@ -1606,11 +1606,11 @@
InstanceKlass* k = SystemDictionary::Thread_klass();
THREAD_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
JavaThread* java_lang_Thread::thread(oop java_thread) {
@@ -1858,11 +1858,11 @@
InstanceKlass* k = SystemDictionary::ThreadGroup_klass();
THREADGROUP_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
#define THROWABLE_FIELDS_DO(macro) \
@@ -1876,11 +1876,11 @@
InstanceKlass* k = SystemDictionary::Throwable_klass();
THROWABLE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
oop java_lang_Throwable::unassigned_stacktrace() {
@@ -2652,11 +2652,11 @@
STACKFRAMEINFO_FIELDS_DO(FIELD_COMPUTE_OFFSET);
STACKFRAMEINFO_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
}
#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);
}
#endif
@@ -2670,11 +2670,11 @@
InstanceKlass* k = SystemDictionary::LiveStackFrameInfo_klass();
LIVESTACKFRAMEINFO_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
#define ACCESSIBLEOBJECT_FIELDS_DO(macro) \
@@ -2684,11 +2684,11 @@
InstanceKlass* k = SystemDictionary::reflect_AccessibleObject_klass();
ACCESSIBLEOBJECT_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
jboolean java_lang_reflect_AccessibleObject::override(oop reflect) {
@@ -2725,11 +2725,11 @@
type_annotations_offset = -1;
METHOD_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
Handle java_lang_reflect_Method::create(TRAPS) {
@@ -2912,11 +2912,11 @@
type_annotations_offset = -1;
CONSTRUCTOR_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
Handle java_lang_reflect_Constructor::create(TRAPS) {
@@ -3061,11 +3061,11 @@
type_annotations_offset = -1;
FIELD_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
Handle java_lang_reflect_Field::create(TRAPS) {
@@ -3184,11 +3184,11 @@
// The field is called ConstantPool* in the sun.reflect.ConstantPool class.
CONSTANTPOOL_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#if INCLUDE_CDS
-void reflect_ConstantPool::serialize(SerializeClosure* f) {
+void reflect_ConstantPool::serialize_offsets(SerializeClosure* f) {
CONSTANTPOOL_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
}
#endif
#define PARAMETER_FIELDS_DO(macro) \
@@ -3201,11 +3201,11 @@
InstanceKlass* k = SystemDictionary::reflect_Parameter_klass();
PARAMETER_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
Handle java_lang_reflect_Parameter::create(TRAPS) {
@@ -3279,11 +3279,11 @@
MODULE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
MODULE_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
}
#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);
}
#endif
@@ -3369,11 +3369,11 @@
InstanceKlass* k = SystemDictionary::reflect_UnsafeStaticFieldAccessorImpl_klass();
UNSAFESTATICFIELDACCESSORIMPL_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#if INCLUDE_CDS
-void reflect_UnsafeStaticFieldAccessorImpl::serialize(SerializeClosure* f) {
+void reflect_UnsafeStaticFieldAccessorImpl::serialize_offsets(SerializeClosure* f) {
UNSAFESTATICFIELDACCESSORIMPL_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
}
#endif
oop java_lang_boxing_object::initialize_and_allocate(BasicType type, TRAPS) {
@@ -3541,11 +3541,11 @@
InstanceKlass* k = SystemDictionary::SoftReference_klass();
SOFTREFERENCE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
jlong java_lang_ref_SoftReference::timestamp(oop ref) {
@@ -3582,11 +3582,11 @@
InstanceKlass* k = SystemDictionary::DirectMethodHandle_klass();
DIRECTMETHODHANDLE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
// Support for java_lang_invoke_MethodHandle
@@ -3614,11 +3614,11 @@
InstanceKlass* k = SystemDictionary::MethodHandle_klass();
METHODHANDLE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
#define MEMBERNAME_FIELDS_DO(macro) \
@@ -3633,11 +3633,11 @@
MEMBERNAME_FIELDS_DO(FIELD_COMPUTE_OFFSET);
MEMBERNAME_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
}
#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);
}
#endif
@@ -3646,11 +3646,11 @@
assert(k != NULL, "jdk mismatch");
RESOLVEDMETHOD_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
}
#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
#define LAMBDAFORM_FIELDS_DO(macro) \
@@ -3661,11 +3661,11 @@
assert (k != NULL, "jdk mismatch");
LAMBDAFORM_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
bool java_lang_invoke_LambdaForm::is_instance(oop obj) {
@@ -3813,11 +3813,11 @@
InstanceKlass* k = SystemDictionary::MethodType_klass();
METHODTYPE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
void java_lang_invoke_MethodType::print_signature(oop mt, outputStream* st) {
@@ -3907,11 +3907,11 @@
InstanceKlass* k = SystemDictionary::CallSite_klass();
CALLSITE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
oop java_lang_invoke_CallSite::context(oop call_site) {
@@ -3929,11 +3929,11 @@
InstanceKlass* k = SystemDictionary::Context_klass();
CALLSITECONTEXT_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
}
#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
DependencyContext java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(oop call_site) {
@@ -3961,11 +3961,11 @@
InstanceKlass* k = SystemDictionary::AccessControlContext_klass();
ACCESSCONTROLCONTEXT_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
bool java_security_AccessControlContext::is_authorized(Handle context) {
@@ -4027,11 +4027,11 @@
CLASSLOADER_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
}
#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);
}
#endif
@@ -4141,11 +4141,11 @@
InstanceKlass* k = SystemDictionary::System_klass();
SYSTEM_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
int java_lang_System::in_offset_in_bytes() { return static_in_offset; }
@@ -4272,11 +4272,11 @@
InstanceKlass* k = SystemDictionary::StackTraceElement_klass();
STACKTRACEELEMENT_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
void java_lang_StackTraceElement::set_fileName(oop element, oop value) {
@@ -4347,11 +4347,11 @@
InstanceKlass* k = SystemDictionary::AssertionStatusDirectives_klass();
ASSERTIONSTATUSDIRECTIVES_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
void java_lang_AssertionStatusDirectives::set_classes(oop o, oop val) {
@@ -4388,11 +4388,11 @@
assert(k != NULL, "must be loaded in 1.4+");
BUFFER_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
#define AOS_FIELDS_DO(macro) \
@@ -4407,11 +4407,11 @@
assert(_owner_offset != 0, "Must be initialized");
return obj->obj_field(_owner_offset);
}
#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
static int member_offset(int hardcoded_offset) {
@@ -4426,11 +4426,11 @@
assert(k != NULL, "must be loaded");
INTEGERCACHE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
#define ARCHIVEDMODULEGRAPH_FIELDS_DO(macro) \
@@ -4444,11 +4444,11 @@
assert(k != NULL, "must be loaded");
ARCHIVEDMODULEGRAPH_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
#define CONFIGURATION_FIELDS_DO(macro) \
@@ -4459,11 +4459,11 @@
assert(k != NULL, "must be loaded");
CONFIGURATION_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
#define LISTN_FIELDS_DO(macro) \
@@ -4474,11 +4474,11 @@
assert(k != NULL, "must be loaded");
LISTN_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
#define SETN_FIELDS_DO(macro) \
@@ -4489,11 +4489,11 @@
assert(k != NULL, "must be loaded");
SETN_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
#define MAPN_FIELDS_DO(macro) \
@@ -4504,11 +4504,11 @@
assert(k != NULL, "must be loaded");
MAPN_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
#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
// Compute hard-coded offsets
@@ -4525,63 +4525,35 @@
java_lang_ref_Reference::queue_offset = member_offset(java_lang_ref_Reference::hc_queue_offset);
java_lang_ref_Reference::next_offset = member_offset(java_lang_ref_Reference::hc_next_offset);
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() {
if (UseSharedSpaces) {
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);
+ 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
// against changes in the class files
< prev index next >