annotate src/os/linux/vm/jvm_linux.h @ 12986:1b422ef5288a

8025728: Missing volatile specifier for field G1AllocRegion::_alloc_region Summary: The field G1AllocRegion::_alloc_region needs to be declared volatile as it is used with that intention. Otherwise the compiler may generate the code that reloads the value which might have changed in the meantime, leading to spurious crashes. Reviewed-by: iveresov, simonis, tschatzl Contributed-by: Axel Siebenborn <axel.siebenborn@sap.com>
author tschatzl
date Wed, 23 Oct 2013 10:23:06 +0200
parents 11c26bfcf8c7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 /*
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
2 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 *
a61af66fc99e Initial load
duke
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 * published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 *
a61af66fc99e Initial load
duke
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 * accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 *
a61af66fc99e Initial load
duke
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 *
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
21 * questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
22 *
a61af66fc99e Initial load
duke
parents:
diff changeset
23 */
a61af66fc99e Initial load
duke
parents:
diff changeset
24
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
25 #ifndef OS_LINUX_VM_JVM_LINUX_H
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
26 #define OS_LINUX_VM_JVM_LINUX_H
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
27
0
a61af66fc99e Initial load
duke
parents:
diff changeset
28 /*
a61af66fc99e Initial load
duke
parents:
diff changeset
29 // HotSpot integration note:
a61af66fc99e Initial load
duke
parents:
diff changeset
30 //
a61af66fc99e Initial load
duke
parents:
diff changeset
31 // This is derived from the JDK classic file:
a61af66fc99e Initial load
duke
parents:
diff changeset
32 // "$JDK/src/solaris/javavm/export/jvm_md.h":15 (ver. 1.10 98/04/22)
a61af66fc99e Initial load
duke
parents:
diff changeset
33 // All local includes have been commented out.
a61af66fc99e Initial load
duke
parents:
diff changeset
34 */
a61af66fc99e Initial load
duke
parents:
diff changeset
35
a61af66fc99e Initial load
duke
parents:
diff changeset
36 #ifndef JVM_MD_H
a61af66fc99e Initial load
duke
parents:
diff changeset
37 #define JVM_MD_H
a61af66fc99e Initial load
duke
parents:
diff changeset
38
a61af66fc99e Initial load
duke
parents:
diff changeset
39 /*
a61af66fc99e Initial load
duke
parents:
diff changeset
40 * This file is currently collecting system-specific dregs for the
a61af66fc99e Initial load
duke
parents:
diff changeset
41 * JNI conversion, which should be sorted out later.
a61af66fc99e Initial load
duke
parents:
diff changeset
42 */
a61af66fc99e Initial load
duke
parents:
diff changeset
43
a61af66fc99e Initial load
duke
parents:
diff changeset
44 #include <dirent.h> /* For DIR */
a61af66fc99e Initial load
duke
parents:
diff changeset
45 #include <sys/param.h> /* For MAXPATHLEN */
4717
11c26bfcf8c7 7091417: recvfrom's 6th input should be of type socklen_t
phh
parents: 1972
diff changeset
46 #include <sys/socket.h> /* For socklen_t */
0
a61af66fc99e Initial load
duke
parents:
diff changeset
47 #include <unistd.h> /* For F_OK, R_OK, W_OK */
a61af66fc99e Initial load
duke
parents:
diff changeset
48
a61af66fc99e Initial load
duke
parents:
diff changeset
49 #define JNI_ONLOAD_SYMBOLS {"JNI_OnLoad"}
a61af66fc99e Initial load
duke
parents:
diff changeset
50 #define JNI_ONUNLOAD_SYMBOLS {"JNI_OnUnload"}
a61af66fc99e Initial load
duke
parents:
diff changeset
51 #define JVM_ONLOAD_SYMBOLS {"JVM_OnLoad"}
a61af66fc99e Initial load
duke
parents:
diff changeset
52 #define AGENT_ONLOAD_SYMBOLS {"Agent_OnLoad"}
a61af66fc99e Initial load
duke
parents:
diff changeset
53 #define AGENT_ONUNLOAD_SYMBOLS {"Agent_OnUnload"}
a61af66fc99e Initial load
duke
parents:
diff changeset
54 #define AGENT_ONATTACH_SYMBOLS {"Agent_OnAttach"}
a61af66fc99e Initial load
duke
parents:
diff changeset
55
a61af66fc99e Initial load
duke
parents:
diff changeset
56 #define JNI_LIB_PREFIX "lib"
a61af66fc99e Initial load
duke
parents:
diff changeset
57 #define JNI_LIB_SUFFIX ".so"
a61af66fc99e Initial load
duke
parents:
diff changeset
58
a61af66fc99e Initial load
duke
parents:
diff changeset
59 // Hack: MAXPATHLEN is 4095 on some Linux and 4096 on others. This may
a61af66fc99e Initial load
duke
parents:
diff changeset
60 // cause problems if JVM and the rest of JDK are built on different
a61af66fc99e Initial load
duke
parents:
diff changeset
61 // Linux releases. Here we define JVM_MAXPATHLEN to be MAXPATHLEN + 1,
a61af66fc99e Initial load
duke
parents:
diff changeset
62 // so buffers declared in VM are always >= 4096.
a61af66fc99e Initial load
duke
parents:
diff changeset
63 #define JVM_MAXPATHLEN MAXPATHLEN + 1
a61af66fc99e Initial load
duke
parents:
diff changeset
64
a61af66fc99e Initial load
duke
parents:
diff changeset
65 #define JVM_R_OK R_OK
a61af66fc99e Initial load
duke
parents:
diff changeset
66 #define JVM_W_OK W_OK
a61af66fc99e Initial load
duke
parents:
diff changeset
67 #define JVM_X_OK X_OK
a61af66fc99e Initial load
duke
parents:
diff changeset
68 #define JVM_F_OK F_OK
a61af66fc99e Initial load
duke
parents:
diff changeset
69
a61af66fc99e Initial load
duke
parents:
diff changeset
70 /*
a61af66fc99e Initial load
duke
parents:
diff changeset
71 * File I/O
a61af66fc99e Initial load
duke
parents:
diff changeset
72 */
a61af66fc99e Initial load
duke
parents:
diff changeset
73
a61af66fc99e Initial load
duke
parents:
diff changeset
74 #include <sys/types.h>
a61af66fc99e Initial load
duke
parents:
diff changeset
75 #include <sys/stat.h>
a61af66fc99e Initial load
duke
parents:
diff changeset
76 #include <fcntl.h>
a61af66fc99e Initial load
duke
parents:
diff changeset
77 #include <errno.h>
a61af66fc99e Initial load
duke
parents:
diff changeset
78
a61af66fc99e Initial load
duke
parents:
diff changeset
79 /* O Flags */
a61af66fc99e Initial load
duke
parents:
diff changeset
80
a61af66fc99e Initial load
duke
parents:
diff changeset
81 #define JVM_O_RDONLY O_RDONLY
a61af66fc99e Initial load
duke
parents:
diff changeset
82 #define JVM_O_WRONLY O_WRONLY
a61af66fc99e Initial load
duke
parents:
diff changeset
83 #define JVM_O_RDWR O_RDWR
a61af66fc99e Initial load
duke
parents:
diff changeset
84 #define JVM_O_O_APPEND O_APPEND
a61af66fc99e Initial load
duke
parents:
diff changeset
85 #define JVM_O_EXCL O_EXCL
a61af66fc99e Initial load
duke
parents:
diff changeset
86 #define JVM_O_CREAT O_CREAT
a61af66fc99e Initial load
duke
parents:
diff changeset
87
a61af66fc99e Initial load
duke
parents:
diff changeset
88 /* Signal definitions */
a61af66fc99e Initial load
duke
parents:
diff changeset
89
a61af66fc99e Initial load
duke
parents:
diff changeset
90 #define BREAK_SIGNAL SIGQUIT /* Thread dumping support. */
a61af66fc99e Initial load
duke
parents:
diff changeset
91 #define INTERRUPT_SIGNAL SIGUSR1 /* Interruptible I/O support. */
a61af66fc99e Initial load
duke
parents:
diff changeset
92 #define SHUTDOWN1_SIGNAL SIGHUP /* Shutdown Hooks support. */
a61af66fc99e Initial load
duke
parents:
diff changeset
93 #define SHUTDOWN2_SIGNAL SIGINT
a61af66fc99e Initial load
duke
parents:
diff changeset
94 #define SHUTDOWN3_SIGNAL SIGTERM
a61af66fc99e Initial load
duke
parents:
diff changeset
95
a61af66fc99e Initial load
duke
parents:
diff changeset
96 #endif /* JVM_MD_H */
a61af66fc99e Initial load
duke
parents:
diff changeset
97
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
98 #endif // OS_LINUX_VM_JVM_LINUX_H