equal
deleted
inserted
replaced
44 # include "thread_bsd.inline.hpp" |
44 # include "thread_bsd.inline.hpp" |
45 #endif |
45 #endif |
46 |
46 |
47 #undef SHARE_VM_RUNTIME_THREAD_INLINE_HPP_SCOPE |
47 #undef SHARE_VM_RUNTIME_THREAD_INLINE_HPP_SCOPE |
48 |
48 |
|
49 inline jlong Thread::cooked_allocated_bytes() { |
|
50 jlong allocated_bytes = OrderAccess::load_acquire(&_allocated_bytes); |
|
51 if (UseTLAB) { |
|
52 size_t used_bytes = tlab().used_bytes(); |
|
53 if ((ssize_t)used_bytes > 0) { |
|
54 // More-or-less valid tlab. The load_acquire above should ensure |
|
55 // that the result of the add is <= the instantaneous value. |
|
56 return allocated_bytes + used_bytes; |
|
57 } |
|
58 } |
|
59 return allocated_bytes; |
|
60 } |
|
61 |
|
62 #ifdef PPC64 |
|
63 inline JavaThreadState JavaThread::thread_state() const { |
|
64 return (JavaThreadState) OrderAccess::load_acquire((volatile jint*)&_thread_state); |
|
65 } |
|
66 |
|
67 inline void JavaThread::set_thread_state(JavaThreadState s) { |
|
68 OrderAccess::release_store((volatile jint*)&_thread_state, (jint)s); |
|
69 } |
|
70 #endif |
|
71 |
|
72 inline void JavaThread::set_done_attaching_via_jni() { |
|
73 _jni_attach_state = _attached_via_jni; |
|
74 OrderAccess::fence(); |
|
75 } |
|
76 |
49 #endif // SHARE_VM_RUNTIME_THREAD_INLINE_HPP |
77 #endif // SHARE_VM_RUNTIME_THREAD_INLINE_HPP |