Mercurial > hg > truffle
annotate src/os/bsd/vm/osThread_bsd.cpp @ 5502:13aee5aba8cc
Moved RiConstant to cri.ri package.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Thu, 07 Jun 2012 17:07:42 +0200 |
parents | 0368109684cb |
children | cd3d6a6b95d9 |
rev | line source |
---|---|
3960 | 1 /* |
4961
0368109684cb
7132070: Use a mach_port_t as the OSThread thread_id rather than pthread_t on BSD/OSX
sla
parents:
3960
diff
changeset
|
2 * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. |
3960 | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | |
5 * This code is free software; you can redistribute it and/or modify it | |
6 * under the terms of the GNU General Public License version 2 only, as | |
7 * published by the Free Software Foundation. | |
8 * | |
9 * This code is distributed in the hope that it will be useful, but WITHOUT | |
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 * version 2 for more details (a copy is included in the LICENSE file that | |
13 * accompanied this code). | |
14 * | |
15 * You should have received a copy of the GNU General Public License version | |
16 * 2 along with this work; if not, write to the Free Software Foundation, | |
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
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 // no precompiled headers | |
26 #include "runtime/atomic.hpp" | |
27 #include "runtime/handles.inline.hpp" | |
28 #include "runtime/mutexLocker.hpp" | |
29 #include "runtime/os.hpp" | |
30 #include "runtime/osThread.hpp" | |
31 #include "runtime/safepoint.hpp" | |
32 #include "runtime/vmThread.hpp" | |
33 #ifdef TARGET_ARCH_x86 | |
34 # include "assembler_x86.inline.hpp" | |
35 #endif | |
36 #ifdef TARGET_ARCH_sparc | |
37 # include "assembler_sparc.inline.hpp" | |
38 #endif | |
39 #ifdef TARGET_ARCH_zero | |
40 # include "assembler_zero.inline.hpp" | |
41 #endif | |
42 #ifdef TARGET_ARCH_arm | |
43 # include "assembler_arm.inline.hpp" | |
44 #endif | |
45 #ifdef TARGET_ARCH_ppc | |
46 # include "assembler_ppc.inline.hpp" | |
47 #endif | |
48 | |
49 | |
50 void OSThread::pd_initialize() { | |
51 assert(this != NULL, "check"); | |
4961
0368109684cb
7132070: Use a mach_port_t as the OSThread thread_id rather than pthread_t on BSD/OSX
sla
parents:
3960
diff
changeset
|
52 #ifdef __APPLE__ |
0368109684cb
7132070: Use a mach_port_t as the OSThread thread_id rather than pthread_t on BSD/OSX
sla
parents:
3960
diff
changeset
|
53 _thread_id = 0; |
0368109684cb
7132070: Use a mach_port_t as the OSThread thread_id rather than pthread_t on BSD/OSX
sla
parents:
3960
diff
changeset
|
54 #else |
3960 | 55 _thread_id = NULL; |
4961
0368109684cb
7132070: Use a mach_port_t as the OSThread thread_id rather than pthread_t on BSD/OSX
sla
parents:
3960
diff
changeset
|
56 #endif |
3960 | 57 _pthread_id = NULL; |
58 _siginfo = NULL; | |
59 _ucontext = NULL; | |
60 _expanding_stack = 0; | |
61 _alt_sig_stack = NULL; | |
62 | |
63 sigemptyset(&_caller_sigmask); | |
64 | |
65 _startThread_lock = new Monitor(Mutex::event, "startThread_lock", true); | |
66 assert(_startThread_lock !=NULL, "check"); | |
67 } | |
68 | |
69 void OSThread::pd_destroy() { | |
70 delete _startThread_lock; | |
71 } |