@@ -4674,28 +4674,31 @@ int java_lang_invoke_MethodType::rtype_slot_count(oop mt) {
46744674// Support for java_lang_invoke_CallSite
46754675
46764676int java_lang_invoke_CallSite::_target_offset;
4677- int java_lang_invoke_CallSite::_context_offset;
4677+ int java_lang_invoke_CallSite::_vmdependencies_offset;
4678+ int java_lang_invoke_CallSite::_last_cleanup_offset;
46784679
46794680#define CALLSITE_FIELDS_DO (macro ) \
46804681 macro (_target_offset, k, " target" , java_lang_invoke_MethodHandle_signature, false ); \
4681- macro (_context_offset, k, " context" , java_lang_invoke_MethodHandleNatives_CallSiteContext_signature, false )
46824682
46834683void java_lang_invoke_CallSite::compute_offsets () {
46844684 InstanceKlass* k = vmClasses::CallSite_klass ();
46854685 CALLSITE_FIELDS_DO (FIELD_COMPUTE_OFFSET);
4686+ CALLSITE_INJECTED_FIELDS (INJECTED_FIELD_COMPUTE_OFFSET);
46864687}
46874688
46884689#if INCLUDE_CDS
46894690void java_lang_invoke_CallSite::serialize_offsets (SerializeClosure* f) {
46904691 CALLSITE_FIELDS_DO (FIELD_SERIALIZE_OFFSET);
4692+ CALLSITE_INJECTED_FIELDS (INJECTED_FIELD_SERIALIZE_OFFSET);
46914693}
46924694#endif
46934695
4694- oop java_lang_invoke_CallSite::context_no_keepalive (oop call_site) {
4696+ DependencyContext java_lang_invoke_CallSite::vmdependencies (oop call_site) {
46954697 assert (java_lang_invoke_CallSite::is_instance (call_site), " " );
4696-
4697- oop dep_oop = call_site->obj_field_access <AS_NO_KEEPALIVE>(_context_offset);
4698- return dep_oop;
4698+ nmethodBucket* volatile * vmdeps_addr = call_site->field_addr <nmethodBucket* volatile >(_vmdependencies_offset);
4699+ volatile uint64_t * last_cleanup_addr = call_site->field_addr <volatile uint64_t >(_last_cleanup_offset);
4700+ DependencyContext dep_ctx (vmdeps_addr, last_cleanup_addr);
4701+ return dep_ctx;
46994702}
47004703
47014704// Support for java_lang_invoke_ConstantCallSite
@@ -4716,30 +4719,6 @@ void java_lang_invoke_ConstantCallSite::serialize_offsets(SerializeClosure* f) {
47164719}
47174720#endif
47184721
4719- // Support for java_lang_invoke_MethodHandleNatives_CallSiteContext
4720-
4721- int java_lang_invoke_MethodHandleNatives_CallSiteContext::_vmdependencies_offset;
4722- int java_lang_invoke_MethodHandleNatives_CallSiteContext::_last_cleanup_offset;
4723-
4724- void java_lang_invoke_MethodHandleNatives_CallSiteContext::compute_offsets () {
4725- InstanceKlass* k = vmClasses::Context_klass ();
4726- CALLSITECONTEXT_INJECTED_FIELDS (INJECTED_FIELD_COMPUTE_OFFSET);
4727- }
4728-
4729- #if INCLUDE_CDS
4730- void java_lang_invoke_MethodHandleNatives_CallSiteContext::serialize_offsets (SerializeClosure* f) {
4731- CALLSITECONTEXT_INJECTED_FIELDS (INJECTED_FIELD_SERIALIZE_OFFSET);
4732- }
4733- #endif
4734-
4735- DependencyContext java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies (oop call_site) {
4736- assert (java_lang_invoke_MethodHandleNatives_CallSiteContext::is_instance (call_site), " " );
4737- nmethodBucket* volatile * vmdeps_addr = call_site->field_addr <nmethodBucket* volatile >(_vmdependencies_offset);
4738- volatile uint64_t * last_cleanup_addr = call_site->field_addr <volatile uint64_t >(_last_cleanup_offset);
4739- DependencyContext dep_ctx (vmdeps_addr, last_cleanup_addr);
4740- return dep_ctx;
4741- }
4742-
47434722// Support for java_lang_ClassLoader
47444723
47454724int java_lang_ClassLoader::_loader_data_offset;
@@ -5389,7 +5368,6 @@ void java_lang_InternalError::serialize_offsets(SerializeClosure* f) {
53895368 f(java_lang_invoke_MethodType) \
53905369 f(java_lang_invoke_CallSite) \
53915370 f(java_lang_invoke_ConstantCallSite) \
5392- f(java_lang_invoke_MethodHandleNatives_CallSiteContext) \
53935371 f(java_lang_reflect_AccessibleObject) \
53945372 f(java_lang_reflect_Method) \
53955373 f(java_lang_reflect_Constructor) \
@@ -5455,8 +5433,7 @@ bool JavaClasses::is_supported_for_archiving(oop obj) {
54555433 if (!CDSConfig::is_dumping_invokedynamic ()) {
54565434 // These are supported by CDS only when CDSConfig::is_dumping_invokedynamic() is enabled.
54575435 if (klass == vmClasses::ResolvedMethodName_klass () ||
5458- klass == vmClasses::MemberName_klass () ||
5459- klass == vmClasses::Context_klass ()) {
5436+ klass == vmClasses::MemberName_klass ()) {
54605437 return false ;
54615438 }
54625439 }
0 commit comments