1667
1668 #if INCLUDE_CDS
1669 void java_lang_Thread::serialize_offsets(SerializeClosure* f) {
1670 THREAD_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
1671 }
1672 #endif
1673
1674 JavaThread* java_lang_Thread::thread(oop java_thread) {
1675 return (JavaThread*)java_thread->address_field(_eetop_offset);
1676 }
1677
1678
1679 void java_lang_Thread::set_thread(oop java_thread, JavaThread* thread) {
1680 java_thread->address_field_put(_eetop_offset, (address)thread);
1681 }
1682
1683 bool java_lang_Thread::interrupted(oop java_thread) {
1684 #if INCLUDE_JFR
1685 if (java_thread == NULL) {
1686 // can happen from Jfr::on_vm_init leading to call of JavaThread::sleep
1687 assert(!is_init_completed(), "should only happen during init");
1688 return false;
1689 }
1690 #endif
1691 return java_thread->bool_field_volatile(_interrupted_offset);
1692 }
1693
1694 void java_lang_Thread::set_interrupted(oop java_thread, bool val) {
1695 java_thread->bool_field_put_volatile(_interrupted_offset, val);
1696 }
1697
1698
1699 oop java_lang_Thread::name(oop java_thread) {
1700 return java_thread->obj_field(_name_offset);
1701 }
1702
1703
1704 void java_lang_Thread::set_name(oop java_thread, oop name) {
1705 java_thread->obj_field_put(_name_offset, name);
1706 }
1707
|
1667
1668 #if INCLUDE_CDS
1669 void java_lang_Thread::serialize_offsets(SerializeClosure* f) {
1670 THREAD_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
1671 }
1672 #endif
1673
1674 JavaThread* java_lang_Thread::thread(oop java_thread) {
1675 return (JavaThread*)java_thread->address_field(_eetop_offset);
1676 }
1677
1678
1679 void java_lang_Thread::set_thread(oop java_thread, JavaThread* thread) {
1680 java_thread->address_field_put(_eetop_offset, (address)thread);
1681 }
1682
1683 bool java_lang_Thread::interrupted(oop java_thread) {
1684 #if INCLUDE_JFR
1685 if (java_thread == NULL) {
1686 // can happen from Jfr::on_vm_init leading to call of JavaThread::sleep
1687 assert(!is_init_completed() || JavaThread::current()->has_attached_via_jni(),
1688 "should only happen during init or for threads attached via JNI");
1689 return false;
1690 }
1691 #endif
1692 return java_thread->bool_field_volatile(_interrupted_offset);
1693 }
1694
1695 void java_lang_Thread::set_interrupted(oop java_thread, bool val) {
1696 java_thread->bool_field_put_volatile(_interrupted_offset, val);
1697 }
1698
1699
1700 oop java_lang_Thread::name(oop java_thread) {
1701 return java_thread->obj_field(_name_offset);
1702 }
1703
1704
1705 void java_lang_Thread::set_name(oop java_thread, oop name) {
1706 java_thread->obj_field_put(_name_offset, name);
1707 }
1708
|