< prev index next >

src/hotspot/share/classfile/javaClasses.cpp

Print this page
rev 52361 : [mq]: webrev.2.incr


3769 int java_security_AccessControlContext::_isAuthorized_offset = -1;
3770 
3771 #define ACCESSCONTROLCONTEXT_FIELDS_DO(macro) \
3772   macro(_context_offset,           k, "context",      protectiondomain_signature, false); \
3773   macro(_privilegedContext_offset, k, "privilegedContext", accesscontrolcontext_signature, false); \
3774   macro(_isPrivileged_offset,      k, "isPrivileged", bool_signature, false); \
3775   macro(_isAuthorized_offset,      k, "isAuthorized", bool_signature, false)
3776 
3777 void java_security_AccessControlContext::compute_offsets() {
3778   assert(_isPrivileged_offset == 0, "offsets should be initialized only once");
3779   InstanceKlass* k = SystemDictionary::AccessControlContext_klass();
3780   ACCESSCONTROLCONTEXT_FIELDS_DO(FIELD_COMPUTE_OFFSET);
3781 }
3782 
3783 #if INCLUDE_CDS
3784 void java_security_AccessControlContext::serialize_offsets(SerializeClosure* f) {
3785   ACCESSCONTROLCONTEXT_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
3786 }
3787 #endif
3788 
3789 bool java_security_AccessControlContext::is_authorized(Handle context) {
3790   assert(context.not_null() && context->klass() == SystemDictionary::AccessControlContext_klass(), "Invalid type");
3791   assert(_isAuthorized_offset != -1, "should be set");
3792   return context->bool_field(_isAuthorized_offset) != 0;
3793 }
3794 
3795 oop java_security_AccessControlContext::create(objArrayHandle context, bool isPrivileged, Handle privileged_context, TRAPS) {
3796   assert(_isPrivileged_offset != 0, "offsets should have been initialized");
3797   // Ensure klass is initialized
3798   SystemDictionary::AccessControlContext_klass()->initialize(CHECK_0);
3799   // Allocate result
3800   oop result = SystemDictionary::AccessControlContext_klass()->allocate_instance(CHECK_0);
3801   // Fill in values
3802   result->obj_field_put(_context_offset, context());
3803   result->obj_field_put(_privilegedContext_offset, privileged_context());
3804   result->bool_field_put(_isPrivileged_offset, isPrivileged);
3805   // whitelist AccessControlContexts created by the JVM if present
3806   if (_isAuthorized_offset != -1) {
3807     result->bool_field_put(_isAuthorized_offset, true);
3808   }
3809   return result;
3810 }
3811 
3812 
3813 // Support for java_lang_ClassLoader
3814 


3957 #define SYSTEM_FIELDS_DO(macro) \
3958   macro(static_in_offset,  k, "in",  input_stream_signature, true); \
3959   macro(static_out_offset, k, "out", print_stream_signature, true); \
3960   macro(static_err_offset, k, "err", print_stream_signature, true); \
3961   macro(static_security_offset, k, "security", security_manager_signature, true)
3962 
3963 void java_lang_System::compute_offsets() {
3964   InstanceKlass* k = SystemDictionary::System_klass();
3965   SYSTEM_FIELDS_DO(FIELD_COMPUTE_OFFSET);
3966 }
3967 
3968 #if INCLUDE_CDS
3969 void java_lang_System::serialize_offsets(SerializeClosure* f) {
3970    SYSTEM_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
3971 }
3972 #endif
3973 
3974 int java_lang_System::in_offset_in_bytes() { return static_in_offset; }
3975 int java_lang_System::out_offset_in_bytes() { return static_out_offset; }
3976 int java_lang_System::err_offset_in_bytes() { return static_err_offset; }
3977 
3978 
3979 bool java_lang_System::has_security_manager() {
3980   InstanceKlass* ik = SystemDictionary::System_klass();
3981   oop base = ik->static_field_base_raw();
3982   return base->obj_field(static_security_offset) != NULL;
3983 }
3984 
3985 int java_lang_Class::_klass_offset;
3986 int java_lang_Class::_array_klass_offset;
3987 int java_lang_Class::_oop_size_offset;
3988 int java_lang_Class::_static_oop_field_count_offset;
3989 int java_lang_Class::_class_loader_offset;
3990 int java_lang_Class::_module_offset;
3991 int java_lang_Class::_protection_domain_offset;
3992 int java_lang_Class::_component_mirror_offset;
3993 int java_lang_Class::_init_lock_offset;
3994 int java_lang_Class::_signers_offset;
3995 GrowableArray<Klass*>* java_lang_Class::_fixup_mirror_list = NULL;
3996 GrowableArray<Klass*>* java_lang_Class::_fixup_module_field_list = NULL;
3997 int java_lang_Throwable::backtrace_offset;
3998 int java_lang_Throwable::detailMessage_offset;
3999 int java_lang_Throwable::stackTrace_offset;
4000 int java_lang_Throwable::depth_offset;
4001 int java_lang_Throwable::static_unassigned_stacktrace_offset;
4002 int java_lang_reflect_AccessibleObject::override_offset;
4003 int java_lang_reflect_Method::clazz_offset;




3769 int java_security_AccessControlContext::_isAuthorized_offset = -1;
3770 
3771 #define ACCESSCONTROLCONTEXT_FIELDS_DO(macro) \
3772   macro(_context_offset,           k, "context",      protectiondomain_signature, false); \
3773   macro(_privilegedContext_offset, k, "privilegedContext", accesscontrolcontext_signature, false); \
3774   macro(_isPrivileged_offset,      k, "isPrivileged", bool_signature, false); \
3775   macro(_isAuthorized_offset,      k, "isAuthorized", bool_signature, false)
3776 
3777 void java_security_AccessControlContext::compute_offsets() {
3778   assert(_isPrivileged_offset == 0, "offsets should be initialized only once");
3779   InstanceKlass* k = SystemDictionary::AccessControlContext_klass();
3780   ACCESSCONTROLCONTEXT_FIELDS_DO(FIELD_COMPUTE_OFFSET);
3781 }
3782 
3783 #if INCLUDE_CDS
3784 void java_security_AccessControlContext::serialize_offsets(SerializeClosure* f) {
3785   ACCESSCONTROLCONTEXT_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
3786 }
3787 #endif
3788 






3789 oop java_security_AccessControlContext::create(objArrayHandle context, bool isPrivileged, Handle privileged_context, TRAPS) {
3790   assert(_isPrivileged_offset != 0, "offsets should have been initialized");
3791   // Ensure klass is initialized
3792   SystemDictionary::AccessControlContext_klass()->initialize(CHECK_0);
3793   // Allocate result
3794   oop result = SystemDictionary::AccessControlContext_klass()->allocate_instance(CHECK_0);
3795   // Fill in values
3796   result->obj_field_put(_context_offset, context());
3797   result->obj_field_put(_privilegedContext_offset, privileged_context());
3798   result->bool_field_put(_isPrivileged_offset, isPrivileged);
3799   // whitelist AccessControlContexts created by the JVM if present
3800   if (_isAuthorized_offset != -1) {
3801     result->bool_field_put(_isAuthorized_offset, true);
3802   }
3803   return result;
3804 }
3805 
3806 
3807 // Support for java_lang_ClassLoader
3808 


3951 #define SYSTEM_FIELDS_DO(macro) \
3952   macro(static_in_offset,  k, "in",  input_stream_signature, true); \
3953   macro(static_out_offset, k, "out", print_stream_signature, true); \
3954   macro(static_err_offset, k, "err", print_stream_signature, true); \
3955   macro(static_security_offset, k, "security", security_manager_signature, true)
3956 
3957 void java_lang_System::compute_offsets() {
3958   InstanceKlass* k = SystemDictionary::System_klass();
3959   SYSTEM_FIELDS_DO(FIELD_COMPUTE_OFFSET);
3960 }
3961 
3962 #if INCLUDE_CDS
3963 void java_lang_System::serialize_offsets(SerializeClosure* f) {
3964    SYSTEM_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
3965 }
3966 #endif
3967 
3968 int java_lang_System::in_offset_in_bytes() { return static_in_offset; }
3969 int java_lang_System::out_offset_in_bytes() { return static_out_offset; }
3970 int java_lang_System::err_offset_in_bytes() { return static_err_offset; }







3971 
3972 int java_lang_Class::_klass_offset;
3973 int java_lang_Class::_array_klass_offset;
3974 int java_lang_Class::_oop_size_offset;
3975 int java_lang_Class::_static_oop_field_count_offset;
3976 int java_lang_Class::_class_loader_offset;
3977 int java_lang_Class::_module_offset;
3978 int java_lang_Class::_protection_domain_offset;
3979 int java_lang_Class::_component_mirror_offset;
3980 int java_lang_Class::_init_lock_offset;
3981 int java_lang_Class::_signers_offset;
3982 GrowableArray<Klass*>* java_lang_Class::_fixup_mirror_list = NULL;
3983 GrowableArray<Klass*>* java_lang_Class::_fixup_module_field_list = NULL;
3984 int java_lang_Throwable::backtrace_offset;
3985 int java_lang_Throwable::detailMessage_offset;
3986 int java_lang_Throwable::stackTrace_offset;
3987 int java_lang_Throwable::depth_offset;
3988 int java_lang_Throwable::static_unassigned_stacktrace_offset;
3989 int java_lang_reflect_AccessibleObject::override_offset;
3990 int java_lang_reflect_Method::clazz_offset;


< prev index next >