18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_RUNTIME_HANDLES_INLINE_HPP
26 #define SHARE_VM_RUNTIME_HANDLES_INLINE_HPP
27
28 #include "runtime/handles.hpp"
29 #ifdef TARGET_OS_FAMILY_linux
30 # include "thread_linux.inline.hpp"
31 #endif
32 #ifdef TARGET_OS_FAMILY_solaris
33 # include "thread_solaris.inline.hpp"
34 #endif
35 #ifdef TARGET_OS_FAMILY_windows
36 # include "thread_windows.inline.hpp"
37 #endif
38
39 // these inline functions are in a separate file to break an include cycle
40 // between Thread and Handle
41
42 inline Handle::Handle(oop obj) {
43 if (obj == NULL) {
44 _handle = NULL;
45 } else {
46 _handle = Thread::current()->handle_area()->allocate_handle(obj);
47 }
48 }
49
50
51 #ifndef ASSERT
52 inline Handle::Handle(Thread* thread, oop obj) {
53 assert(thread == Thread::current(), "sanity check");
54 if (obj == NULL) {
55 _handle = NULL;
56 } else {
57 _handle = thread->handle_area()->allocate_handle(obj);
|
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_RUNTIME_HANDLES_INLINE_HPP
26 #define SHARE_VM_RUNTIME_HANDLES_INLINE_HPP
27
28 #include "runtime/handles.hpp"
29 #ifdef TARGET_OS_FAMILY_linux
30 # include "thread_linux.inline.hpp"
31 #endif
32 #ifdef TARGET_OS_FAMILY_solaris
33 # include "thread_solaris.inline.hpp"
34 #endif
35 #ifdef TARGET_OS_FAMILY_windows
36 # include "thread_windows.inline.hpp"
37 #endif
38 #ifdef TARGET_OS_FAMILY_bsd
39 # include "thread_bsd.inline.hpp"
40 #endif
41
42 // these inline functions are in a separate file to break an include cycle
43 // between Thread and Handle
44
45 inline Handle::Handle(oop obj) {
46 if (obj == NULL) {
47 _handle = NULL;
48 } else {
49 _handle = Thread::current()->handle_area()->allocate_handle(obj);
50 }
51 }
52
53
54 #ifndef ASSERT
55 inline Handle::Handle(Thread* thread, oop obj) {
56 assert(thread == Thread::current(), "sanity check");
57 if (obj == NULL) {
58 _handle = NULL;
59 } else {
60 _handle = thread->handle_area()->allocate_handle(obj);
|