Mercurial > hg > truffle
annotate src/os/windows/vm/jvm_windows.h @ 20338:8d5f66b42c53
8055525: Bigapp weblogic+medrec fails to startup after JDK-8038423
Summary: If large pages are enabled and configured in Linux, the VM always pre-commits the entire space. The VM fails verification of the commit of the initial heap because some internal data structure marked all memory pages of the heap as committed during initialization. This makes the code think that we attempted a double-commit during first allocation of the heap. Remove the initial marking of memory pages of the heap to committed.
Reviewed-by: mgerdin
author | tschatzl |
---|---|
date | Wed, 20 Aug 2014 14:34:40 +0200 |
parents | ba8fd2fe198b |
children |
rev | line source |
---|---|
0 | 1 /* |
6833
ba8fd2fe198b
7198519: Broken build, hotspot-rt win USE_PRECOMPILED_HEADER=0
coleenp
parents:
6044
diff
changeset
|
2 * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. |
0 | 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 * | |
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 | 22 * |
23 */ | |
24 | |
4717
11c26bfcf8c7
7091417: recvfrom's 6th input should be of type socklen_t
phh
parents:
3833
diff
changeset
|
25 #ifndef OS_WINDOWS_VM_JVM_WINDOWS_H |
11c26bfcf8c7
7091417: recvfrom's 6th input should be of type socklen_t
phh
parents:
3833
diff
changeset
|
26 #define OS_WINDOWS_VM_JVM_WINDOWS_H |
11c26bfcf8c7
7091417: recvfrom's 6th input should be of type socklen_t
phh
parents:
3833
diff
changeset
|
27 |
0 | 28 #ifndef _JAVASOFT_JVM_MD_H_ |
29 #define _JAVASOFT_JVM_MD_H_ | |
30 | |
31 /* | |
32 * This file is currently collecting system-specific dregs for the | |
33 * JNI conversion, which should be sorted out later. | |
34 */ | |
35 | |
3833
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
36 // JDK7 requires VS2010 |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
37 #if _MSC_VER >= 1600 |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
38 // JDK7 minimum platform requirement: Windows XP |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
39 #if _WIN32_WINNT < 0x0501 |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
40 #undef _WIN32_WINNT |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
41 #define _WIN32_WINNT 0x0501 |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
42 #endif |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
43 #endif |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
44 |
0 | 45 #include <windows.h> |
46 | |
3833
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
47 #if _MSC_VER <= 1200 |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
48 // Psapi.h doesn't come with Visual Studio 6; it can be downloaded as Platform |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
49 // SDK from Microsoft. Here are the definitions copied from Psapi.h |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
50 typedef struct _MODULEINFO { |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
51 LPVOID lpBaseOfDll; |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
52 DWORD SizeOfImage; |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
53 LPVOID EntryPoint; |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
54 } MODULEINFO, *LPMODULEINFO; |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
55 |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
56 #else |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
57 #include <Psapi.h> |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
58 #endif |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
59 |
4717
11c26bfcf8c7
7091417: recvfrom's 6th input should be of type socklen_t
phh
parents:
3833
diff
changeset
|
60 #include <Tlhelp32.h> |
3833
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
1972
diff
changeset
|
61 |
6044
ec15e8f6e4f1
7157695: Add windows implementation of socket interface
twisti
parents:
4717
diff
changeset
|
62 typedef int socklen_t; |
0 | 63 |
64 #define JNI_ONLOAD_SYMBOLS {"_JNI_OnLoad@8", "JNI_OnLoad"} | |
65 #define JNI_ONUNLOAD_SYMBOLS {"_JNI_OnUnload@8", "JNI_OnUnload"} | |
66 #define JVM_ONLOAD_SYMBOLS {"_JVM_OnLoad@12", "JVM_OnLoad"} | |
67 #define AGENT_ONLOAD_SYMBOLS {"_Agent_OnLoad@12", "Agent_OnLoad"} | |
68 #define AGENT_ONUNLOAD_SYMBOLS {"_Agent_OnUnload@4", "Agent_OnUnload"} | |
69 #define AGENT_ONATTACH_SYMBOLS {"_Agent_OnAttach@12", "Agent_OnAttach"} | |
70 | |
71 #define JNI_LIB_PREFIX "" | |
72 #define JNI_LIB_SUFFIX ".dll" | |
73 | |
74 struct dirent { | |
75 char d_name[MAX_PATH]; | |
76 }; | |
77 | |
78 typedef struct { | |
79 struct dirent dirent; | |
80 char *path; | |
81 HANDLE handle; | |
82 WIN32_FIND_DATA find_data; | |
83 } DIR; | |
84 | |
85 #include <stdlib.h> | |
86 | |
87 #define JVM_MAXPATHLEN _MAX_PATH | |
88 | |
89 #define JVM_R_OK 4 | |
90 #define JVM_W_OK 2 | |
91 #define JVM_X_OK 1 | |
92 #define JVM_F_OK 0 | |
93 | |
94 #ifdef __cplusplus | |
95 extern "C" { | |
96 #endif | |
97 | |
98 JNIEXPORT void * JNICALL | |
99 JVM_GetThreadInterruptEvent(); | |
100 | |
101 #ifdef __cplusplus | |
102 } /* extern "C" */ | |
103 #endif /* __cplusplus */ | |
104 | |
105 /* | |
106 * File I/O | |
107 */ | |
108 | |
6833
ba8fd2fe198b
7198519: Broken build, hotspot-rt win USE_PRECOMPILED_HEADER=0
coleenp
parents:
6044
diff
changeset
|
109 #include <sys/stat.h> |
0 | 110 |
111 /* O Flags */ | |
112 | |
113 #define JVM_O_RDONLY O_RDONLY | |
114 #define JVM_O_WRONLY O_WRONLY | |
115 #define JVM_O_RDWR O_RDWR | |
116 #define JVM_O_O_APPEND O_APPEND | |
117 #define JVM_O_EXCL O_EXCL | |
118 #define JVM_O_CREAT O_CREAT | |
119 #define JVM_O_DELETE O_TEMPORARY | |
120 | |
121 /* Signals */ | |
122 | |
123 #define JVM_SIGINT SIGINT | |
124 #define JVM_SIGTERM SIGTERM | |
125 | |
126 #define SHUTDOWN1_SIGNAL SIGINT /* Shutdown Hooks support. */ | |
127 #define SHUTDOWN2_SIGNAL SIGTERM | |
128 | |
129 #endif /* !_JAVASOFT_JVM_MD_H_ */ | |
4717
11c26bfcf8c7
7091417: recvfrom's 6th input should be of type socklen_t
phh
parents:
3833
diff
changeset
|
130 |
11c26bfcf8c7
7091417: recvfrom's 6th input should be of type socklen_t
phh
parents:
3833
diff
changeset
|
131 #endif // OS_WINDOWS_VM_JVM_WINDOWS_H |