Mon, 03 Dec 2018 07:29:54 -0500
8141491: Unaligned memory access in Bits.c
Summary: Introduce alignment-safe Copy::conjoint_swap and JVM_CopySwapMemory
Reviewed-by: mikael, dholmes
1 #
2 # Copyright (c) 2002, 2018, 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 #
25 # Define public interface.
27 SUNWprivate_1.1 {
28 global:
29 # JNI
30 JNI_CreateJavaVM;
31 JNI_GetCreatedJavaVMs;
32 JNI_GetDefaultJavaVMInitArgs;
34 # JVM
35 JVM_Accept;
36 JVM_ActiveProcessorCount;
37 JVM_AllocateNewArray;
38 JVM_AllocateNewObject;
39 JVM_ArrayCopy;
40 JVM_AssertionStatusDirectives;
41 JVM_Available;
42 JVM_Bind;
43 JVM_ClassDepth;
44 JVM_ClassLoaderDepth;
45 JVM_Clone;
46 JVM_Close;
47 JVM_CX8Field;
48 JVM_CompileClass;
49 JVM_CompileClasses;
50 JVM_CompilerCommand;
51 JVM_Connect;
52 JVM_ConstantPoolGetClassAt;
53 JVM_ConstantPoolGetClassAtIfLoaded;
54 JVM_ConstantPoolGetDoubleAt;
55 JVM_ConstantPoolGetFieldAt;
56 JVM_ConstantPoolGetFieldAtIfLoaded;
57 JVM_ConstantPoolGetFloatAt;
58 JVM_ConstantPoolGetIntAt;
59 JVM_ConstantPoolGetLongAt;
60 JVM_ConstantPoolGetMethodAt;
61 JVM_ConstantPoolGetMethodAtIfLoaded;
62 JVM_ConstantPoolGetMemberRefInfoAt;
63 JVM_ConstantPoolGetSize;
64 JVM_ConstantPoolGetStringAt;
65 JVM_ConstantPoolGetUTF8At;
66 JVM_CopySwapMemory;
67 JVM_CountStackFrames;
68 JVM_CurrentClassLoader;
69 JVM_CurrentLoadedClass;
70 JVM_CurrentThread;
71 JVM_CurrentTimeMillis;
72 JVM_DefineClass;
73 JVM_DefineClassWithSource;
74 JVM_DefineClassWithSourceCond;
75 JVM_DesiredAssertionStatus;
76 JVM_DisableCompiler;
77 JVM_DoPrivileged;
78 JVM_DTraceGetVersion;
79 JVM_DTraceActivate;
80 JVM_DTraceIsProbeEnabled;
81 JVM_DTraceIsSupported;
82 JVM_DTraceDispose;
83 JVM_DumpAllStacks;
84 JVM_DumpThreads;
85 JVM_EnableCompiler;
86 JVM_Exit;
87 JVM_FillInStackTrace;
88 JVM_FindClassFromCaller;
89 JVM_FindClassFromClass;
90 JVM_FindClassFromClassLoader;
91 JVM_FindClassFromBootLoader;
92 JVM_FindLibraryEntry;
93 JVM_FindLoadedClass;
94 JVM_FindPrimitiveClass;
95 JVM_FindSignal;
96 JVM_FreeMemory;
97 JVM_GC;
98 JVM_GetAllThreads;
99 JVM_GetArrayElement;
100 JVM_GetArrayLength;
101 JVM_GetCPClassNameUTF;
102 JVM_GetCPFieldClassNameUTF;
103 JVM_GetCPFieldModifiers;
104 JVM_GetCPFieldNameUTF;
105 JVM_GetCPFieldSignatureUTF;
106 JVM_GetCPMethodClassNameUTF;
107 JVM_GetCPMethodModifiers;
108 JVM_GetCPMethodNameUTF;
109 JVM_GetCPMethodSignatureUTF;
110 JVM_GetCallerClass;
111 JVM_GetClassAccessFlags;
112 JVM_GetClassAnnotations;
113 JVM_GetClassCPEntriesCount;
114 JVM_GetClassCPTypes;
115 JVM_GetClassConstantPool;
116 JVM_GetClassContext;
117 JVM_GetClassDeclaredConstructors;
118 JVM_GetClassDeclaredFields;
119 JVM_GetClassDeclaredMethods;
120 JVM_GetClassFieldsCount;
121 JVM_GetClassInterfaces;
122 JVM_GetClassLoader;
123 JVM_GetClassMethodsCount;
124 JVM_GetClassModifiers;
125 JVM_GetClassName;
126 JVM_GetClassNameUTF;
127 JVM_GetClassSignature;
128 JVM_GetClassSigners;
129 JVM_GetClassTypeAnnotations;
130 JVM_GetComponentType;
131 JVM_GetDeclaredClasses;
132 JVM_GetDeclaringClass;
133 JVM_GetEnclosingMethodInfo;
134 JVM_GetFieldAnnotations;
135 JVM_GetFieldIxModifiers;
136 JVM_GetFieldTypeAnnotations;
137 JVM_GetHostName;
138 JVM_GetInheritedAccessControlContext;
139 JVM_GetInterfaceVersion;
140 JVM_GetLastErrorString;
141 JVM_GetManagement;
142 JVM_GetMethodAnnotations;
143 JVM_GetMethodDefaultAnnotationValue;
144 JVM_GetMethodIxArgsSize;
145 JVM_GetMethodIxByteCode;
146 JVM_GetMethodIxByteCodeLength;
147 JVM_GetMethodIxExceptionIndexes;
148 JVM_GetMethodIxExceptionTableEntry;
149 JVM_GetMethodIxExceptionTableLength;
150 JVM_GetMethodIxExceptionsCount;
151 JVM_GetMethodIxLocalsCount;
152 JVM_GetMethodIxMaxStack;
153 JVM_GetMethodIxModifiers;
154 JVM_GetMethodIxNameUTF;
155 JVM_GetMethodIxSignatureUTF;
156 JVM_GetMethodParameterAnnotations;
157 JVM_GetMethodParameters;
158 JVM_GetMethodTypeAnnotations;
159 JVM_GetPrimitiveArrayElement;
160 JVM_GetProtectionDomain;
161 JVM_GetSockName;
162 JVM_GetSockOpt;
163 JVM_GetStackAccessControlContext;
164 JVM_GetStackTraceDepth;
165 JVM_GetStackTraceElement;
166 JVM_GetSystemPackage;
167 JVM_GetSystemPackages;
168 JVM_GetTemporaryDirectory;
169 JVM_GetThreadStateNames;
170 JVM_GetThreadStateValues;
171 JVM_GetVersionInfo;
172 JVM_Halt;
173 JVM_HoldsLock;
174 JVM_IHashCode;
175 JVM_InitAgentProperties;
176 JVM_InitProperties;
177 JVM_InitializeCompiler;
178 JVM_InitializeSocketLibrary;
179 JVM_InternString;
180 JVM_Interrupt;
181 JVM_InvokeMethod;
182 JVM_IsArrayClass;
183 JVM_IsConstructorIx;
184 JVM_IsInterface;
185 JVM_IsInterrupted;
186 JVM_IsNaN;
187 JVM_IsPrimitiveClass;
188 JVM_IsSameClassPackage;
189 JVM_IsSilentCompiler;
190 JVM_IsSupportedJNIVersion;
191 JVM_IsThreadAlive;
192 JVM_IsVMGeneratedMethodIx;
193 JVM_LatestUserDefinedLoader;
194 JVM_Listen;
195 JVM_LoadClass0;
196 JVM_LoadLibrary;
197 JVM_Lseek;
198 JVM_MaxObjectInspectionAge;
199 JVM_MaxMemory;
200 JVM_MonitorNotify;
201 JVM_MonitorNotifyAll;
202 JVM_MonitorWait;
203 JVM_NanoTime;
204 JVM_NativePath;
205 JVM_NewArray;
206 JVM_NewInstanceFromConstructor;
207 JVM_NewMultiArray;
208 JVM_OnExit;
209 JVM_Open;
210 JVM_RaiseSignal;
211 JVM_RawMonitorCreate;
212 JVM_RawMonitorDestroy;
213 JVM_RawMonitorEnter;
214 JVM_RawMonitorExit;
215 JVM_Read;
216 JVM_Recv;
217 JVM_RecvFrom;
218 JVM_RegisterSignal;
219 JVM_ReleaseUTF;
220 JVM_ResolveClass;
221 JVM_KnownToNotExist;
222 JVM_GetResourceLookupCacheURLs;
223 JVM_GetResourceLookupCache;
224 JVM_ResumeThread;
225 JVM_Send;
226 JVM_SendTo;
227 JVM_SetArrayElement;
228 JVM_SetClassSigners;
229 JVM_SetLength;
230 JVM_SetNativeThreadName;
231 JVM_SetPrimitiveArrayElement;
232 JVM_SetSockOpt;
233 JVM_SetThreadPriority;
234 JVM_Sleep;
235 JVM_Socket;
236 JVM_SocketAvailable;
237 JVM_SocketClose;
238 JVM_SocketShutdown;
239 JVM_StartThread;
240 JVM_StopThread;
241 JVM_SuspendThread;
242 JVM_SupportsCX8;
243 JVM_Sync;
244 JVM_Timeout;
245 JVM_TotalMemory;
246 JVM_TraceInstructions;
247 JVM_TraceMethodCalls;
248 JVM_UnloadLibrary;
249 JVM_Write;
250 JVM_Yield;
251 JVM_handle_linux_signal;
253 # miscellaneous functions
254 jio_fprintf;
255 jio_printf;
256 jio_snprintf;
257 jio_vfprintf;
258 jio_vsnprintf;
259 fork1;
260 numa_warn;
261 numa_error;
263 # Needed because there is no JVM interface for this.
264 sysThreadAvailableStackWithSlack;
266 # This is for Forte Analyzer profiling support.
267 AsyncGetCallTrace;
269 # INSERT VTABLE SYMBOLS HERE
271 local:
272 *;
273 };