src/hotspot/share/classfile/javaClasses.cpp
changeset 49473 26958d06b585
parent 49449 ef5d5d343e2a
child 49480 d7df2dd501ce
equal deleted inserted replaced
49472:982acd800812 49473:26958d06b585
  1864 }
  1864 }
  1865 #endif
  1865 #endif
  1866 
  1866 
  1867 oop java_lang_Throwable::unassigned_stacktrace() {
  1867 oop java_lang_Throwable::unassigned_stacktrace() {
  1868   InstanceKlass* ik = SystemDictionary::Throwable_klass();
  1868   InstanceKlass* ik = SystemDictionary::Throwable_klass();
  1869   address addr = ik->static_field_addr(static_unassigned_stacktrace_offset);
  1869   oop base = ik->static_field_base_raw();
  1870   if (UseCompressedOops) {
  1870   return base->obj_field(static_unassigned_stacktrace_offset);
  1871     return oopDesc::load_decode_heap_oop((narrowOop *)addr);
       
  1872   } else {
       
  1873     return oopDesc::load_decode_heap_oop((oop*)addr);
       
  1874   }
       
  1875 }
  1871 }
  1876 
  1872 
  1877 oop java_lang_Throwable::backtrace(oop throwable) {
  1873 oop java_lang_Throwable::backtrace(oop throwable) {
  1878   return throwable->obj_field_acquire(backtrace_offset);
  1874   return throwable->obj_field_acquire(backtrace_offset);
  1879 }
  1875 }
  3545   return ref->long_field(timestamp_offset);
  3541   return ref->long_field(timestamp_offset);
  3546 }
  3542 }
  3547 
  3543 
  3548 jlong java_lang_ref_SoftReference::clock() {
  3544 jlong java_lang_ref_SoftReference::clock() {
  3549   InstanceKlass* ik = SystemDictionary::SoftReference_klass();
  3545   InstanceKlass* ik = SystemDictionary::SoftReference_klass();
  3550   jlong* offset = (jlong*)ik->static_field_addr(static_clock_offset);
  3546   oop base = ik->static_field_base_raw();
  3551   return *offset;
  3547   return base->long_field(static_clock_offset);
  3552 }
  3548 }
  3553 
  3549 
  3554 void java_lang_ref_SoftReference::set_clock(jlong value) {
  3550 void java_lang_ref_SoftReference::set_clock(jlong value) {
  3555   InstanceKlass* ik = SystemDictionary::SoftReference_klass();
  3551   InstanceKlass* ik = SystemDictionary::SoftReference_klass();
  3556   jlong* offset = (jlong*)ik->static_field_addr(static_clock_offset);
  3552   oop base = ik->static_field_base_raw();
  3557   *offset = value;
  3553   base->long_field_put(static_clock_offset, value);
  3558 }
  3554 }
  3559 
  3555 
  3560 // Support for java_lang_invoke_DirectMethodHandle
  3556 // Support for java_lang_invoke_DirectMethodHandle
  3561 
  3557 
  3562 int java_lang_invoke_DirectMethodHandle::_member_offset;
  3558 int java_lang_invoke_DirectMethodHandle::_member_offset;
  4131 int java_lang_System::err_offset_in_bytes() { return static_err_offset; }
  4127 int java_lang_System::err_offset_in_bytes() { return static_err_offset; }
  4132 
  4128 
  4133 
  4129 
  4134 bool java_lang_System::has_security_manager() {
  4130 bool java_lang_System::has_security_manager() {
  4135   InstanceKlass* ik = SystemDictionary::System_klass();
  4131   InstanceKlass* ik = SystemDictionary::System_klass();
  4136   address addr = ik->static_field_addr(static_security_offset);
  4132   oop base = ik->static_field_base_raw();
  4137   if (UseCompressedOops) {
  4133   return !oopDesc::is_null(base->obj_field(static_security_offset));
  4138     return oopDesc::load_decode_heap_oop((narrowOop *)addr) != NULL;
       
  4139   } else {
       
  4140     return oopDesc::load_decode_heap_oop((oop*)addr) != NULL;
       
  4141   }
       
  4142 }
  4134 }
  4143 
  4135 
  4144 int java_lang_Class::_klass_offset;
  4136 int java_lang_Class::_klass_offset;
  4145 int java_lang_Class::_array_klass_offset;
  4137 int java_lang_Class::_array_klass_offset;
  4146 int java_lang_Class::_oop_size_offset;
  4138 int java_lang_Class::_oop_size_offset;