2917 int java_lang_AssertionStatusDirectives::classEnabled_offset; |
2917 int java_lang_AssertionStatusDirectives::classEnabled_offset; |
2918 int java_lang_AssertionStatusDirectives::packages_offset; |
2918 int java_lang_AssertionStatusDirectives::packages_offset; |
2919 int java_lang_AssertionStatusDirectives::packageEnabled_offset; |
2919 int java_lang_AssertionStatusDirectives::packageEnabled_offset; |
2920 int java_lang_AssertionStatusDirectives::deflt_offset; |
2920 int java_lang_AssertionStatusDirectives::deflt_offset; |
2921 int java_nio_Buffer::_limit_offset; |
2921 int java_nio_Buffer::_limit_offset; |
2922 int sun_misc_AtomicLongCSImpl::_value_offset; |
|
2923 int java_util_concurrent_locks_AbstractOwnableSynchronizer::_owner_offset = 0; |
2922 int java_util_concurrent_locks_AbstractOwnableSynchronizer::_owner_offset = 0; |
2924 int sun_reflect_ConstantPool::_cp_oop_offset; |
2923 int sun_reflect_ConstantPool::_cp_oop_offset; |
2925 int sun_reflect_UnsafeStaticFieldAccessorImpl::_base_offset; |
2924 int sun_reflect_UnsafeStaticFieldAccessorImpl::_base_offset; |
2926 |
2925 |
2927 |
2926 |
2975 |
2974 |
2976 void java_nio_Buffer::compute_offsets() { |
2975 void java_nio_Buffer::compute_offsets() { |
2977 klassOop k = SystemDictionary::nio_Buffer_klass(); |
2976 klassOop k = SystemDictionary::nio_Buffer_klass(); |
2978 assert(k != NULL, "must be loaded in 1.4+"); |
2977 assert(k != NULL, "must be loaded in 1.4+"); |
2979 compute_offset(_limit_offset, k, vmSymbols::limit_name(), vmSymbols::int_signature()); |
2978 compute_offset(_limit_offset, k, vmSymbols::limit_name(), vmSymbols::int_signature()); |
2980 } |
|
2981 |
|
2982 // Support for intrinsification of sun.misc.AtomicLongCSImpl.attemptUpdate |
|
2983 int sun_misc_AtomicLongCSImpl::value_offset() { |
|
2984 assert(SystemDictionary::AtomicLongCSImpl_klass() != NULL, "can't call this"); |
|
2985 return _value_offset; |
|
2986 } |
|
2987 |
|
2988 |
|
2989 void sun_misc_AtomicLongCSImpl::compute_offsets() { |
|
2990 klassOop k = SystemDictionary::AtomicLongCSImpl_klass(); |
|
2991 // If this class is not present, its value field offset won't be referenced. |
|
2992 if (k != NULL) { |
|
2993 compute_offset(_value_offset, k, vmSymbols::value_name(), vmSymbols::long_signature()); |
|
2994 } |
|
2995 } |
2979 } |
2996 |
2980 |
2997 void java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(TRAPS) { |
2981 void java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(TRAPS) { |
2998 if (_owner_offset != 0) return; |
2982 if (_owner_offset != 0) return; |
2999 |
2983 |
3096 } |
3080 } |
3097 if (JDK_Version::is_gte_jdk15x_version()) { |
3081 if (JDK_Version::is_gte_jdk15x_version()) { |
3098 sun_reflect_ConstantPool::compute_offsets(); |
3082 sun_reflect_ConstantPool::compute_offsets(); |
3099 sun_reflect_UnsafeStaticFieldAccessorImpl::compute_offsets(); |
3083 sun_reflect_UnsafeStaticFieldAccessorImpl::compute_offsets(); |
3100 } |
3084 } |
3101 sun_misc_AtomicLongCSImpl::compute_offsets(); |
|
3102 |
3085 |
3103 // generated interpreter code wants to know about the offsets we just computed: |
3086 // generated interpreter code wants to know about the offsets we just computed: |
3104 AbstractAssembler::update_delayed_values(); |
3087 AbstractAssembler::update_delayed_values(); |
3105 } |
3088 } |
3106 |
3089 |