< prev index next >

src/hotspot/share/classfile/javaClasses.cpp

Print this page




4516 
4517 #define AOS_FIELDS_DO(macro) \
4518   macro(_owner_offset, k, "exclusiveOwnerThread", thread_signature, false)
4519 
4520 void java_util_concurrent_locks_AbstractOwnableSynchronizer::compute_offsets() {
4521   InstanceKlass* k = SystemDictionary::java_util_concurrent_locks_AbstractOwnableSynchronizer_klass();
4522   AOS_FIELDS_DO(FIELD_COMPUTE_OFFSET);
4523 }
4524 
4525 oop java_util_concurrent_locks_AbstractOwnableSynchronizer::get_owner_threadObj(oop obj) {
4526   assert(_owner_offset != 0, "Must be initialized");
4527   return obj->obj_field(_owner_offset);
4528 }
4529 
4530 #if INCLUDE_CDS
4531 void java_util_concurrent_locks_AbstractOwnableSynchronizer::serialize_offsets(SerializeClosure* f) {
4532   AOS_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
4533 }
4534 #endif
4535 
4536 int java_lang_Integer_IntegerCache::_static_cache_offset;
4537 int java_lang_Long_LongCache::_static_cache_offset;
4538 int java_lang_Character_CharacterCache::_static_cache_offset;
4539 int java_lang_Short_ShortCache::_static_cache_offset;
4540 int java_lang_Byte_ByteCache::_static_cache_offset;
4541 
4542 #define VECTORPAYLOAD_FIELDS_DO(macro) \
4543   macro(_payload_offset, k, "payload", object_signature, false)
4544 
4545 void vector_VectorPayload::compute_offsets() {
4546   InstanceKlass* k = SystemDictionary::vector_VectorPayload_klass();
4547   VECTORPAYLOAD_FIELDS_DO(FIELD_COMPUTE_OFFSET);
4548 }
4549 
4550 #if INCLUDE_CDS
4551 void vector_VectorPayload::serialize_offsets(SerializeClosure* f) {
4552   VECTORPAYLOAD_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
4553 }
4554 #endif
4555 
4556 void vector_VectorPayload::set_payload(oop o, oop val) {
4557   o->obj_field_put(_payload_offset, val);
4558 }
4559 
4560 bool vector_VectorPayload::is_instance(oop obj) {
4561   return obj != NULL && is_subclass(obj->klass());
4562 }
4563 






4564 #define INTEGER_CACHE_FIELDS_DO(macro) \
4565   macro(_static_cache_offset, k, "cache", java_lang_Integer_array_signature, true)
4566 
4567 void java_lang_Integer_IntegerCache::compute_offsets(InstanceKlass *k) {
4568   guarantee(k != NULL && k->is_initialized(), "must be loaded and initialized");
4569   INTEGER_CACHE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
4570 }
4571 
4572 objArrayOop java_lang_Integer_IntegerCache::cache(InstanceKlass *ik) {
4573   oop base = ik->static_field_base_raw();
4574   return objArrayOop(base->obj_field(_static_cache_offset));
4575 }
4576 
4577 Symbol* java_lang_Integer_IntegerCache::symbol() {
4578   return vmSymbols::java_lang_Integer_IntegerCache();
4579 }
4580 
4581 #if INCLUDE_CDS
4582 void java_lang_Integer_IntegerCache::serialize_offsets(SerializeClosure* f) {
4583   INTEGER_CACHE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);


4743   BOOLEAN_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
4744 }
4745 #endif
4746 #undef BOOLEAN_CACHE_FIELDS_DO
4747 
4748 jboolean java_lang_Boolean::value(oop obj) {
4749    jvalue v;
4750    java_lang_boxing_object::get_value(obj, &v);
4751    return v.z;
4752 }
4753 
4754 // java_lang_reflect_RecordComponent
4755 
4756 int java_lang_reflect_RecordComponent::_clazz_offset;
4757 int java_lang_reflect_RecordComponent::_name_offset;
4758 int java_lang_reflect_RecordComponent::_type_offset;
4759 int java_lang_reflect_RecordComponent::_accessor_offset;
4760 int java_lang_reflect_RecordComponent::_signature_offset;
4761 int java_lang_reflect_RecordComponent::_annotations_offset;
4762 int java_lang_reflect_RecordComponent::_typeAnnotations_offset;
4763 int vector_VectorPayload::_payload_offset;
4764 
4765 #define RECORDCOMPONENT_FIELDS_DO(macro) \
4766   macro(_clazz_offset,       k, "clazz",       class_signature,  false); \
4767   macro(_name_offset,        k, "name",        string_signature, false); \
4768   macro(_type_offset,        k, "type",        class_signature,  false); \
4769   macro(_accessor_offset,    k, "accessor",    reflect_method_signature, false); \
4770   macro(_signature_offset,   k, "signature",   string_signature, false); \
4771   macro(_annotations_offset, k, "annotations", byte_array_signature,     false); \
4772   macro(_typeAnnotations_offset, k, "typeAnnotations", byte_array_signature, false);
4773 
4774 // Support for java_lang_reflect_RecordComponent
4775 void java_lang_reflect_RecordComponent::compute_offsets() {
4776   InstanceKlass* k = SystemDictionary::RecordComponent_klass();
4777   RECORDCOMPONENT_FIELDS_DO(FIELD_COMPUTE_OFFSET);
4778 }
4779 
4780 #if INCLUDE_CDS
4781 void java_lang_reflect_RecordComponent::serialize_offsets(SerializeClosure* f) {
4782   RECORDCOMPONENT_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
4783 }




4516 
4517 #define AOS_FIELDS_DO(macro) \
4518   macro(_owner_offset, k, "exclusiveOwnerThread", thread_signature, false)
4519 
4520 void java_util_concurrent_locks_AbstractOwnableSynchronizer::compute_offsets() {
4521   InstanceKlass* k = SystemDictionary::java_util_concurrent_locks_AbstractOwnableSynchronizer_klass();
4522   AOS_FIELDS_DO(FIELD_COMPUTE_OFFSET);
4523 }
4524 
4525 oop java_util_concurrent_locks_AbstractOwnableSynchronizer::get_owner_threadObj(oop obj) {
4526   assert(_owner_offset != 0, "Must be initialized");
4527   return obj->obj_field(_owner_offset);
4528 }
4529 
4530 #if INCLUDE_CDS
4531 void java_util_concurrent_locks_AbstractOwnableSynchronizer::serialize_offsets(SerializeClosure* f) {
4532   AOS_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
4533 }
4534 #endif
4535 
4536 int vector_VectorPayload::_payload_offset;




4537 
4538 #define VECTORPAYLOAD_FIELDS_DO(macro) \
4539   macro(_payload_offset, k, "payload", object_signature, false)
4540 
4541 void vector_VectorPayload::compute_offsets() {
4542   InstanceKlass* k = SystemDictionary::vector_VectorPayload_klass();
4543   VECTORPAYLOAD_FIELDS_DO(FIELD_COMPUTE_OFFSET);
4544 }
4545 
4546 #if INCLUDE_CDS
4547 void vector_VectorPayload::serialize_offsets(SerializeClosure* f) {
4548   VECTORPAYLOAD_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
4549 }
4550 #endif
4551 
4552 void vector_VectorPayload::set_payload(oop o, oop val) {
4553   o->obj_field_put(_payload_offset, val);
4554 }
4555 
4556 bool vector_VectorPayload::is_instance(oop obj) {
4557   return obj != NULL && is_subclass(obj->klass());
4558 }
4559 
4560 int java_lang_Integer_IntegerCache::_static_cache_offset;
4561 int java_lang_Long_LongCache::_static_cache_offset;
4562 int java_lang_Character_CharacterCache::_static_cache_offset;
4563 int java_lang_Short_ShortCache::_static_cache_offset;
4564 int java_lang_Byte_ByteCache::_static_cache_offset;
4565 
4566 #define INTEGER_CACHE_FIELDS_DO(macro) \
4567   macro(_static_cache_offset, k, "cache", java_lang_Integer_array_signature, true)
4568 
4569 void java_lang_Integer_IntegerCache::compute_offsets(InstanceKlass *k) {
4570   guarantee(k != NULL && k->is_initialized(), "must be loaded and initialized");
4571   INTEGER_CACHE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
4572 }
4573 
4574 objArrayOop java_lang_Integer_IntegerCache::cache(InstanceKlass *ik) {
4575   oop base = ik->static_field_base_raw();
4576   return objArrayOop(base->obj_field(_static_cache_offset));
4577 }
4578 
4579 Symbol* java_lang_Integer_IntegerCache::symbol() {
4580   return vmSymbols::java_lang_Integer_IntegerCache();
4581 }
4582 
4583 #if INCLUDE_CDS
4584 void java_lang_Integer_IntegerCache::serialize_offsets(SerializeClosure* f) {
4585   INTEGER_CACHE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);


4745   BOOLEAN_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
4746 }
4747 #endif
4748 #undef BOOLEAN_CACHE_FIELDS_DO
4749 
4750 jboolean java_lang_Boolean::value(oop obj) {
4751    jvalue v;
4752    java_lang_boxing_object::get_value(obj, &v);
4753    return v.z;
4754 }
4755 
4756 // java_lang_reflect_RecordComponent
4757 
4758 int java_lang_reflect_RecordComponent::_clazz_offset;
4759 int java_lang_reflect_RecordComponent::_name_offset;
4760 int java_lang_reflect_RecordComponent::_type_offset;
4761 int java_lang_reflect_RecordComponent::_accessor_offset;
4762 int java_lang_reflect_RecordComponent::_signature_offset;
4763 int java_lang_reflect_RecordComponent::_annotations_offset;
4764 int java_lang_reflect_RecordComponent::_typeAnnotations_offset;

4765 
4766 #define RECORDCOMPONENT_FIELDS_DO(macro) \
4767   macro(_clazz_offset,       k, "clazz",       class_signature,  false); \
4768   macro(_name_offset,        k, "name",        string_signature, false); \
4769   macro(_type_offset,        k, "type",        class_signature,  false); \
4770   macro(_accessor_offset,    k, "accessor",    reflect_method_signature, false); \
4771   macro(_signature_offset,   k, "signature",   string_signature, false); \
4772   macro(_annotations_offset, k, "annotations", byte_array_signature,     false); \
4773   macro(_typeAnnotations_offset, k, "typeAnnotations", byte_array_signature, false);
4774 
4775 // Support for java_lang_reflect_RecordComponent
4776 void java_lang_reflect_RecordComponent::compute_offsets() {
4777   InstanceKlass* k = SystemDictionary::RecordComponent_klass();
4778   RECORDCOMPONENT_FIELDS_DO(FIELD_COMPUTE_OFFSET);
4779 }
4780 
4781 #if INCLUDE_CDS
4782 void java_lang_reflect_RecordComponent::serialize_offsets(SerializeClosure* f) {
4783   RECORDCOMPONENT_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
4784 }


< prev index next >