2996 } 2997 2998 oop java_lang_invoke_CallSite::context(oop call_site) { 2999 assert(java_lang_invoke_CallSite::is_instance(call_site), ""); 3000 3001 oop dep_oop = call_site->obj_field(_context_offset); 3002 return dep_oop; 3003 } 3004 3005 // Support for java_lang_invoke_MethodHandleNatives_CallSiteContext 3006 3007 int java_lang_invoke_MethodHandleNatives_CallSiteContext::_vmdependencies_offset; 3008 3009 void java_lang_invoke_MethodHandleNatives_CallSiteContext::compute_offsets() { 3010 Klass* k = SystemDictionary::Context_klass(); 3011 if (k != NULL) { 3012 CALLSITECONTEXT_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET); 3013 } 3014 } 3015 3016 nmethodBucket* java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(oop call_site) { 3017 assert(java_lang_invoke_MethodHandleNatives_CallSiteContext::is_instance(call_site), ""); 3018 return (nmethodBucket*) (address) call_site->long_field(_vmdependencies_offset); 3019 } 3020 3021 void java_lang_invoke_MethodHandleNatives_CallSiteContext::set_vmdependencies(oop call_site, nmethodBucket* context) { 3022 assert(java_lang_invoke_MethodHandleNatives_CallSiteContext::is_instance(call_site), ""); 3023 call_site->long_field_put(_vmdependencies_offset, (jlong) (address) context); 3024 } 3025 3026 // Support for java_security_AccessControlContext 3027 3028 int java_security_AccessControlContext::_context_offset = 0; 3029 int java_security_AccessControlContext::_privilegedContext_offset = 0; 3030 int java_security_AccessControlContext::_isPrivileged_offset = 0; 3031 int java_security_AccessControlContext::_isAuthorized_offset = -1; 3032 3033 void java_security_AccessControlContext::compute_offsets() { 3034 assert(_isPrivileged_offset == 0, "offsets should be initialized only once"); 3035 fieldDescriptor fd; 3036 InstanceKlass* ik = InstanceKlass::cast(SystemDictionary::AccessControlContext_klass()); 3037 3038 if (!ik->find_local_field(vmSymbols::context_name(), vmSymbols::protectiondomain_signature(), &fd)) { 3039 fatal("Invalid layout of java.security.AccessControlContext"); 3040 } 3041 _context_offset = fd.offset(); 3042 3043 if (!ik->find_local_field(vmSymbols::privilegedContext_name(), vmSymbols::accesscontrolcontext_signature(), &fd)) { | 2996 } 2997 2998 oop java_lang_invoke_CallSite::context(oop call_site) { 2999 assert(java_lang_invoke_CallSite::is_instance(call_site), ""); 3000 3001 oop dep_oop = call_site->obj_field(_context_offset); 3002 return dep_oop; 3003 } 3004 3005 // Support for java_lang_invoke_MethodHandleNatives_CallSiteContext 3006 3007 int java_lang_invoke_MethodHandleNatives_CallSiteContext::_vmdependencies_offset; 3008 3009 void java_lang_invoke_MethodHandleNatives_CallSiteContext::compute_offsets() { 3010 Klass* k = SystemDictionary::Context_klass(); 3011 if (k != NULL) { 3012 CALLSITECONTEXT_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET); 3013 } 3014 } 3015 3016 DependencyContext java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(oop call_site) { 3017 assert(java_lang_invoke_MethodHandleNatives_CallSiteContext::is_instance(call_site), ""); 3018 intptr_t* vmdeps_addr = (intptr_t*)call_site->address_field_addr(_vmdependencies_offset); 3019 DependencyContext dep_ctx(vmdeps_addr); 3020 return dep_ctx; 3021 } 3022 3023 // Support for java_security_AccessControlContext 3024 3025 int java_security_AccessControlContext::_context_offset = 0; 3026 int java_security_AccessControlContext::_privilegedContext_offset = 0; 3027 int java_security_AccessControlContext::_isPrivileged_offset = 0; 3028 int java_security_AccessControlContext::_isAuthorized_offset = -1; 3029 3030 void java_security_AccessControlContext::compute_offsets() { 3031 assert(_isPrivileged_offset == 0, "offsets should be initialized only once"); 3032 fieldDescriptor fd; 3033 InstanceKlass* ik = InstanceKlass::cast(SystemDictionary::AccessControlContext_klass()); 3034 3035 if (!ik->find_local_field(vmSymbols::context_name(), vmSymbols::protectiondomain_signature(), &fd)) { 3036 fatal("Invalid layout of java.security.AccessControlContext"); 3037 } 3038 _context_offset = fd.offset(); 3039 3040 if (!ik->find_local_field(vmSymbols::privilegedContext_name(), vmSymbols::accesscontrolcontext_signature(), &fd)) { |