1849 #define THROWABLE_FIELDS_DO(macro) \
1850 macro(backtrace_offset, k, "backtrace", object_signature, false); \
1851 macro(detailMessage_offset, k, "detailMessage", string_signature, false); \
1852 macro(stackTrace_offset, k, "stackTrace", java_lang_StackTraceElement_array, false); \
1853 macro(depth_offset, k, "depth", int_signature, false); \
1854 macro(static_unassigned_stacktrace_offset, k, "UNASSIGNED_STACK", java_lang_StackTraceElement_array, true)
1855
1856 void java_lang_Throwable::compute_offsets() {
1857 InstanceKlass* k = SystemDictionary::Throwable_klass();
1858 THROWABLE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
1859 }
1860
1861 #if INCLUDE_CDS
1862 void java_lang_Throwable::serialize(SerializeClosure* f) {
1863 THROWABLE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
1864 }
1865 #endif
1866
1867 oop java_lang_Throwable::unassigned_stacktrace() {
1868 InstanceKlass* ik = SystemDictionary::Throwable_klass();
1869 address addr = ik->static_field_addr(static_unassigned_stacktrace_offset);
1870 if (UseCompressedOops) {
1871 return oopDesc::load_decode_heap_oop((narrowOop *)addr);
1872 } else {
1873 return oopDesc::load_decode_heap_oop((oop*)addr);
1874 }
1875 }
1876
1877 oop java_lang_Throwable::backtrace(oop throwable) {
1878 return throwable->obj_field_acquire(backtrace_offset);
1879 }
1880
1881
1882 void java_lang_Throwable::set_backtrace(oop throwable, oop value) {
1883 throwable->release_obj_field_put(backtrace_offset, value);
1884 }
1885
1886 int java_lang_Throwable::depth(oop throwable) {
1887 return throwable->int_field(depth_offset);
1888 }
1889
1890 void java_lang_Throwable::set_depth(oop throwable, int value) {
1891 throwable->int_field_put(depth_offset, value);
1892 }
1893
1894 oop java_lang_Throwable::message(oop throwable) {
4113 macro(static_in_offset, k, "in", input_stream_signature, true); \
4114 macro(static_out_offset, k, "out", print_stream_signature, true); \
4115 macro(static_err_offset, k, "err", print_stream_signature, true); \
4116 macro(static_security_offset, k, "security", security_manager_signature, true)
4117
4118 void java_lang_System::compute_offsets() {
4119 InstanceKlass* k = SystemDictionary::System_klass();
4120 SYSTEM_FIELDS_DO(FIELD_COMPUTE_OFFSET);
4121 }
4122
4123 #if INCLUDE_CDS
4124 void java_lang_System::serialize(SerializeClosure* f) {
4125 SYSTEM_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
4126 }
4127 #endif
4128
4129 int java_lang_System::in_offset_in_bytes() { return static_in_offset; }
4130 int java_lang_System::out_offset_in_bytes() { return static_out_offset; }
4131 int java_lang_System::err_offset_in_bytes() { return static_err_offset; }
4132
4133
4134 bool java_lang_System::has_security_manager() {
4135 InstanceKlass* ik = SystemDictionary::System_klass();
4136 address addr = ik->static_field_addr(static_security_offset);
4137 if (UseCompressedOops) {
4138 return oopDesc::load_decode_heap_oop((narrowOop *)addr) != NULL;
4139 } else {
4140 return oopDesc::load_decode_heap_oop((oop*)addr) != NULL;
4141 }
4142 }
4143
4144 int java_lang_Class::_klass_offset;
4145 int java_lang_Class::_array_klass_offset;
4146 int java_lang_Class::_oop_size_offset;
4147 int java_lang_Class::_static_oop_field_count_offset;
4148 int java_lang_Class::_class_loader_offset;
4149 int java_lang_Class::_module_offset;
4150 int java_lang_Class::_protection_domain_offset;
4151 int java_lang_Class::_component_mirror_offset;
4152 int java_lang_Class::_init_lock_offset;
4153 int java_lang_Class::_signers_offset;
4154 GrowableArray<Klass*>* java_lang_Class::_fixup_mirror_list = NULL;
4155 GrowableArray<Klass*>* java_lang_Class::_fixup_module_field_list = NULL;
4156 int java_lang_Throwable::backtrace_offset;
4157 int java_lang_Throwable::detailMessage_offset;
4158 int java_lang_Throwable::stackTrace_offset;
4159 int java_lang_Throwable::depth_offset;
4160 int java_lang_Throwable::static_unassigned_stacktrace_offset;
4161 int java_lang_reflect_AccessibleObject::override_offset;
|
1849 #define THROWABLE_FIELDS_DO(macro) \
1850 macro(backtrace_offset, k, "backtrace", object_signature, false); \
1851 macro(detailMessage_offset, k, "detailMessage", string_signature, false); \
1852 macro(stackTrace_offset, k, "stackTrace", java_lang_StackTraceElement_array, false); \
1853 macro(depth_offset, k, "depth", int_signature, false); \
1854 macro(static_unassigned_stacktrace_offset, k, "UNASSIGNED_STACK", java_lang_StackTraceElement_array, true)
1855
1856 void java_lang_Throwable::compute_offsets() {
1857 InstanceKlass* k = SystemDictionary::Throwable_klass();
1858 THROWABLE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
1859 }
1860
1861 #if INCLUDE_CDS
1862 void java_lang_Throwable::serialize(SerializeClosure* f) {
1863 THROWABLE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
1864 }
1865 #endif
1866
1867 oop java_lang_Throwable::unassigned_stacktrace() {
1868 InstanceKlass* ik = SystemDictionary::Throwable_klass();
1869 return ik->static_oop_field(static_unassigned_stacktrace_offset);
1870 }
1871
1872 oop java_lang_Throwable::backtrace(oop throwable) {
1873 return throwable->obj_field_acquire(backtrace_offset);
1874 }
1875
1876
1877 void java_lang_Throwable::set_backtrace(oop throwable, oop value) {
1878 throwable->release_obj_field_put(backtrace_offset, value);
1879 }
1880
1881 int java_lang_Throwable::depth(oop throwable) {
1882 return throwable->int_field(depth_offset);
1883 }
1884
1885 void java_lang_Throwable::set_depth(oop throwable, int value) {
1886 throwable->int_field_put(depth_offset, value);
1887 }
1888
1889 oop java_lang_Throwable::message(oop throwable) {
4108 macro(static_in_offset, k, "in", input_stream_signature, true); \
4109 macro(static_out_offset, k, "out", print_stream_signature, true); \
4110 macro(static_err_offset, k, "err", print_stream_signature, true); \
4111 macro(static_security_offset, k, "security", security_manager_signature, true)
4112
4113 void java_lang_System::compute_offsets() {
4114 InstanceKlass* k = SystemDictionary::System_klass();
4115 SYSTEM_FIELDS_DO(FIELD_COMPUTE_OFFSET);
4116 }
4117
4118 #if INCLUDE_CDS
4119 void java_lang_System::serialize(SerializeClosure* f) {
4120 SYSTEM_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
4121 }
4122 #endif
4123
4124 int java_lang_System::in_offset_in_bytes() { return static_in_offset; }
4125 int java_lang_System::out_offset_in_bytes() { return static_out_offset; }
4126 int java_lang_System::err_offset_in_bytes() { return static_err_offset; }
4127
4128 bool java_lang_System::has_security_manager() {
4129 InstanceKlass* ik = SystemDictionary::System_klass();
4130 oop obj = ik->static_oop_field(static_security_offset);
4131 return obj != NULL;
4132 }
4133
4134 int java_lang_Class::_klass_offset;
4135 int java_lang_Class::_array_klass_offset;
4136 int java_lang_Class::_oop_size_offset;
4137 int java_lang_Class::_static_oop_field_count_offset;
4138 int java_lang_Class::_class_loader_offset;
4139 int java_lang_Class::_module_offset;
4140 int java_lang_Class::_protection_domain_offset;
4141 int java_lang_Class::_component_mirror_offset;
4142 int java_lang_Class::_init_lock_offset;
4143 int java_lang_Class::_signers_offset;
4144 GrowableArray<Klass*>* java_lang_Class::_fixup_mirror_list = NULL;
4145 GrowableArray<Klass*>* java_lang_Class::_fixup_module_field_list = NULL;
4146 int java_lang_Throwable::backtrace_offset;
4147 int java_lang_Throwable::detailMessage_offset;
4148 int java_lang_Throwable::stackTrace_offset;
4149 int java_lang_Throwable::depth_offset;
4150 int java_lang_Throwable::static_unassigned_stacktrace_offset;
4151 int java_lang_reflect_AccessibleObject::override_offset;
|