src/share/vm/classfile/javaClasses.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/classfile

src/share/vm/classfile/javaClasses.cpp

Print this page




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)) {


src/share/vm/classfile/javaClasses.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File