Mercurial > hg > truffle
annotate src/os/bsd/vm/jvm_bsd.h @ 4839:b4ebad3520bb
7133038: G1: Some small profile based optimizations
Summary: Some minor profile based optimizations. Reduce the number of branches and branch mispredicts by removing some virtual calls, through closure specalization, and refactoring some conditional statements.
Reviewed-by: brutisso, tonyp
author | johnc |
---|---|
date | Thu, 26 Jan 2012 14:14:55 -0800 |
parents | 11c26bfcf8c7 |
children |
rev | line source |
---|---|
3960 | 1 /* |
2 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. | |
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 #ifndef OS_BSD_VM_JVM_BSD_H | |
26 #define OS_BSD_VM_JVM_BSD_H | |
27 | |
28 /* | |
29 // HotSpot integration note: | |
30 // | |
31 // This is derived from the JDK classic file: | |
32 // "$JDK/src/solaris/javavm/export/jvm_md.h":15 (ver. 1.10 98/04/22) | |
33 // All local includes have been commented out. | |
34 */ | |
35 | |
36 #ifndef JVM_MD_H | |
37 #define JVM_MD_H | |
38 | |
39 /* | |
40 * This file is currently collecting system-specific dregs for the | |
41 * JNI conversion, which should be sorted out later. | |
42 */ | |
4006 | 43 #ifdef __NetBSD__ |
44 /* | |
45 * Since we are compiling with c++, we need the following to make c macros | |
46 * visible. | |
47 */ | |
48 # if !defined(__STDC_LIMIT_MACROS) | |
49 # define __STDC_LIMIT_MACROS 1 | |
50 # endif | |
51 # if !defined(__STDC_CONSTANT_MACROS) | |
52 # define __STDC_CONSTANT_MACROS 1 | |
53 # endif | |
54 # if !defined(__STDC_FORMAT_MACROS) | |
55 # define __STDC_FORMAT_MACROS 1 | |
56 # endif | |
57 #endif | |
3960 | 58 |
59 #include <dirent.h> /* For DIR */ | |
60 #include <sys/param.h> /* For MAXPATHLEN */ | |
4717
11c26bfcf8c7
7091417: recvfrom's 6th input should be of type socklen_t
phh
parents:
4006
diff
changeset
|
61 #include <sys/socket.h> /* For socklen_t */ |
3960 | 62 #include <unistd.h> /* For F_OK, R_OK, W_OK */ |
63 | |
64 #define JNI_ONLOAD_SYMBOLS {"JNI_OnLoad"} | |
65 #define JNI_ONUNLOAD_SYMBOLS {"JNI_OnUnload"} | |
66 #define JVM_ONLOAD_SYMBOLS {"JVM_OnLoad"} | |
67 #define AGENT_ONLOAD_SYMBOLS {"Agent_OnLoad"} | |
68 #define AGENT_ONUNLOAD_SYMBOLS {"Agent_OnUnload"} | |
69 #define AGENT_ONATTACH_SYMBOLS {"Agent_OnAttach"} | |
70 | |
71 #define JNI_LIB_PREFIX "lib" | |
72 #ifdef __APPLE__ | |
73 #define JNI_LIB_SUFFIX ".dylib" | |
74 #else | |
75 #define JNI_LIB_SUFFIX ".so" | |
76 #endif | |
77 | |
78 // Hack: MAXPATHLEN is 4095 on some Bsd and 4096 on others. This may | |
79 // cause problems if JVM and the rest of JDK are built on different | |
80 // Bsd releases. Here we define JVM_MAXPATHLEN to be MAXPATHLEN + 1, | |
81 // so buffers declared in VM are always >= 4096. | |
82 #define JVM_MAXPATHLEN MAXPATHLEN + 1 | |
83 | |
84 #define JVM_R_OK R_OK | |
85 #define JVM_W_OK W_OK | |
86 #define JVM_X_OK X_OK | |
87 #define JVM_F_OK F_OK | |
88 | |
89 /* | |
90 * File I/O | |
91 */ | |
92 | |
93 #include <sys/types.h> | |
94 #include <sys/stat.h> | |
95 #include <fcntl.h> | |
96 #include <errno.h> | |
97 | |
98 /* O Flags */ | |
99 | |
100 #define JVM_O_RDONLY O_RDONLY | |
101 #define JVM_O_WRONLY O_WRONLY | |
102 #define JVM_O_RDWR O_RDWR | |
103 #define JVM_O_O_APPEND O_APPEND | |
104 #define JVM_O_EXCL O_EXCL | |
105 #define JVM_O_CREAT O_CREAT | |
106 | |
107 /* Signal definitions */ | |
108 | |
109 #define BREAK_SIGNAL SIGQUIT /* Thread dumping support. */ | |
110 #define INTERRUPT_SIGNAL SIGUSR1 /* Interruptible I/O support. */ | |
111 #define SHUTDOWN1_SIGNAL SIGHUP /* Shutdown Hooks support. */ | |
112 #define SHUTDOWN2_SIGNAL SIGINT | |
113 #define SHUTDOWN3_SIGNAL SIGTERM | |
114 | |
115 #ifndef SIGRTMIN | |
116 #ifdef __OpenBSD__ | |
117 #define SIGRTMIN 1 | |
118 #else | |
119 #define SIGRTMIN 33 | |
120 #endif | |
121 #endif | |
122 #ifndef SIGRTMAX | |
123 #ifdef __OpenBSD__ | |
124 #define SIGRTMAX 31 | |
125 #else | |
126 #define SIGRTMAX 63 | |
127 #endif | |
128 #endif | |
129 #endif /* JVM_MD_H */ | |
130 | |
131 #endif // OS_BSD_VM_JVM_BSD_H |