1 /*
2 * Copyright (c) 2012, 2019, 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 *
1969 WB_END
1970
1971 WB_ENTRY(jboolean, WB_AreOpenArchiveHeapObjectsMapped(JNIEnv* env))
1972 return HeapShared::open_archive_heap_region_mapped();
1973 WB_END
1974
1975 WB_ENTRY(jboolean, WB_IsCDSIncludedInVmBuild(JNIEnv* env))
1976 #if INCLUDE_CDS
1977 # ifdef _LP64
1978 if (!UseCompressedOops || !UseCompressedClassPointers) {
1979 // On 64-bit VMs, CDS is supported only with compressed oops/pointers
1980 return false;
1981 }
1982 # endif // _LP64
1983 return true;
1984 #else
1985 return false;
1986 #endif // INCLUDE_CDS
1987 WB_END
1988
1989 WB_ENTRY(jboolean, WB_isC2OrGraalIncludedInVmBuild(JNIEnv* env))
1990 #if COMPILER2_OR_JVMCI
1991 return true;
1992 #else
1993 return false;
1994 #endif
1995 WB_END
1996
1997 WB_ENTRY(jboolean, WB_IsJavaHeapArchiveSupported(JNIEnv* env))
1998 return HeapShared::is_heap_object_archiving_allowed();
1999 WB_END
2000
2001
2002 WB_ENTRY(jboolean, WB_IsJFRIncludedInVmBuild(JNIEnv* env))
2003 #if INCLUDE_JFR
2004 return true;
2005 #else
2006 return false;
2007 #endif // INCLUDE_JFR
2008 WB_END
2009
2402 {CC"getMethodUintxOption",
2403 CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/Long;",
2404 (void*)&WB_GetMethodUintxOption},
2405 {CC"getMethodDoubleOption",
2406 CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/Double;",
2407 (void*)&WB_GetMethodDoubleOption},
2408 {CC"getMethodStringOption",
2409 CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/String;",
2410 (void*)&WB_GetMethodStringOption},
2411 {CC"getDefaultArchivePath", CC"()Ljava/lang/String;",
2412 (void*)&WB_GetDefaultArchivePath},
2413 {CC"isSharingEnabled", CC"()Z", (void*)&WB_IsSharingEnabled},
2414 {CC"isShared", CC"(Ljava/lang/Object;)Z", (void*)&WB_IsShared },
2415 {CC"isSharedClass", CC"(Ljava/lang/Class;)Z", (void*)&WB_IsSharedClass },
2416 {CC"areSharedStringsIgnored", CC"()Z", (void*)&WB_AreSharedStringsIgnored },
2417 {CC"getResolvedReferences", CC"(Ljava/lang/Class;)Ljava/lang/Object;", (void*)&WB_GetResolvedReferences},
2418 {CC"linkClass", CC"(Ljava/lang/Class;)V", (void*)&WB_LinkClass},
2419 {CC"areOpenArchiveHeapObjectsMapped", CC"()Z", (void*)&WB_AreOpenArchiveHeapObjectsMapped},
2420 {CC"isCDSIncludedInVmBuild", CC"()Z", (void*)&WB_IsCDSIncludedInVmBuild },
2421 {CC"isJFRIncludedInVmBuild", CC"()Z", (void*)&WB_IsJFRIncludedInVmBuild },
2422 {CC"isC2OrGraalIncludedInVmBuild", CC"()Z", (void*)&WB_isC2OrGraalIncludedInVmBuild },
2423 {CC"isJavaHeapArchiveSupported", CC"()Z", (void*)&WB_IsJavaHeapArchiveSupported },
2424 {CC"cdsMemoryMappingFailed", CC"()Z", (void*)&WB_CDSMemoryMappingFailed },
2425
2426 {CC"clearInlineCaches0", CC"(Z)V", (void*)&WB_ClearInlineCaches },
2427 {CC"handshakeWalkStack", CC"(Ljava/lang/Thread;Z)I", (void*)&WB_HandshakeWalkStack },
2428 {CC"addCompilerDirective", CC"(Ljava/lang/String;)I",
2429 (void*)&WB_AddCompilerDirective },
2430 {CC"removeCompilerDirective", CC"(I)V", (void*)&WB_RemoveCompilerDirective },
2431 {CC"isGCSupported", CC"(I)Z", (void*)&WB_IsGCSupported},
2432 {CC"isGCSelected", CC"(I)Z", (void*)&WB_IsGCSelected},
2433 {CC"isGCSelectedErgonomically", CC"()Z", (void*)&WB_IsGCSelectedErgonomically},
2434 {CC"supportsConcurrentGCPhaseControl", CC"()Z", (void*)&WB_SupportsConcurrentGCPhaseControl},
2435 {CC"requestConcurrentGCPhase0", CC"(Ljava/lang/String;)Z",
2436 (void*)&WB_RequestConcurrentGCPhase},
2437 {CC"checkLibSpecifiesNoexecstack", CC"(Ljava/lang/String;)Z",
2438 (void*)&WB_CheckLibSpecifiesNoexecstack},
2439 {CC"isContainerized", CC"()Z", (void*)&WB_IsContainerized },
2440 {CC"printOsInfo", CC"()V", (void*)&WB_PrintOsInfo },
2441 {CC"disableElfSectionCache", CC"()V", (void*)&WB_DisableElfSectionCache },
2442 {CC"resolvedMethodItemsCount", CC"()J", (void*)&WB_ResolvedMethodItemsCount },
|
1 /*
2 * Copyright (c) 2012, 2020, 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 *
1969 WB_END
1970
1971 WB_ENTRY(jboolean, WB_AreOpenArchiveHeapObjectsMapped(JNIEnv* env))
1972 return HeapShared::open_archive_heap_region_mapped();
1973 WB_END
1974
1975 WB_ENTRY(jboolean, WB_IsCDSIncludedInVmBuild(JNIEnv* env))
1976 #if INCLUDE_CDS
1977 # ifdef _LP64
1978 if (!UseCompressedOops || !UseCompressedClassPointers) {
1979 // On 64-bit VMs, CDS is supported only with compressed oops/pointers
1980 return false;
1981 }
1982 # endif // _LP64
1983 return true;
1984 #else
1985 return false;
1986 #endif // INCLUDE_CDS
1987 WB_END
1988
1989 WB_ENTRY(jboolean, WB_isC2OrJVMCIIncludedInVmBuild(JNIEnv* env))
1990 #if COMPILER2_OR_JVMCI
1991 return true;
1992 #else
1993 return false;
1994 #endif
1995 WB_END
1996
1997 WB_ENTRY(jboolean, WB_IsJavaHeapArchiveSupported(JNIEnv* env))
1998 return HeapShared::is_heap_object_archiving_allowed();
1999 WB_END
2000
2001
2002 WB_ENTRY(jboolean, WB_IsJFRIncludedInVmBuild(JNIEnv* env))
2003 #if INCLUDE_JFR
2004 return true;
2005 #else
2006 return false;
2007 #endif // INCLUDE_JFR
2008 WB_END
2009
2402 {CC"getMethodUintxOption",
2403 CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/Long;",
2404 (void*)&WB_GetMethodUintxOption},
2405 {CC"getMethodDoubleOption",
2406 CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/Double;",
2407 (void*)&WB_GetMethodDoubleOption},
2408 {CC"getMethodStringOption",
2409 CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/String;",
2410 (void*)&WB_GetMethodStringOption},
2411 {CC"getDefaultArchivePath", CC"()Ljava/lang/String;",
2412 (void*)&WB_GetDefaultArchivePath},
2413 {CC"isSharingEnabled", CC"()Z", (void*)&WB_IsSharingEnabled},
2414 {CC"isShared", CC"(Ljava/lang/Object;)Z", (void*)&WB_IsShared },
2415 {CC"isSharedClass", CC"(Ljava/lang/Class;)Z", (void*)&WB_IsSharedClass },
2416 {CC"areSharedStringsIgnored", CC"()Z", (void*)&WB_AreSharedStringsIgnored },
2417 {CC"getResolvedReferences", CC"(Ljava/lang/Class;)Ljava/lang/Object;", (void*)&WB_GetResolvedReferences},
2418 {CC"linkClass", CC"(Ljava/lang/Class;)V", (void*)&WB_LinkClass},
2419 {CC"areOpenArchiveHeapObjectsMapped", CC"()Z", (void*)&WB_AreOpenArchiveHeapObjectsMapped},
2420 {CC"isCDSIncludedInVmBuild", CC"()Z", (void*)&WB_IsCDSIncludedInVmBuild },
2421 {CC"isJFRIncludedInVmBuild", CC"()Z", (void*)&WB_IsJFRIncludedInVmBuild },
2422 {CC"isC2OrJVMCIIncludedInVmBuild", CC"()Z", (void*)&WB_isC2OrJVMCIIncludedInVmBuild },
2423 {CC"isJavaHeapArchiveSupported", CC"()Z", (void*)&WB_IsJavaHeapArchiveSupported },
2424 {CC"cdsMemoryMappingFailed", CC"()Z", (void*)&WB_CDSMemoryMappingFailed },
2425
2426 {CC"clearInlineCaches0", CC"(Z)V", (void*)&WB_ClearInlineCaches },
2427 {CC"handshakeWalkStack", CC"(Ljava/lang/Thread;Z)I", (void*)&WB_HandshakeWalkStack },
2428 {CC"addCompilerDirective", CC"(Ljava/lang/String;)I",
2429 (void*)&WB_AddCompilerDirective },
2430 {CC"removeCompilerDirective", CC"(I)V", (void*)&WB_RemoveCompilerDirective },
2431 {CC"isGCSupported", CC"(I)Z", (void*)&WB_IsGCSupported},
2432 {CC"isGCSelected", CC"(I)Z", (void*)&WB_IsGCSelected},
2433 {CC"isGCSelectedErgonomically", CC"()Z", (void*)&WB_IsGCSelectedErgonomically},
2434 {CC"supportsConcurrentGCPhaseControl", CC"()Z", (void*)&WB_SupportsConcurrentGCPhaseControl},
2435 {CC"requestConcurrentGCPhase0", CC"(Ljava/lang/String;)Z",
2436 (void*)&WB_RequestConcurrentGCPhase},
2437 {CC"checkLibSpecifiesNoexecstack", CC"(Ljava/lang/String;)Z",
2438 (void*)&WB_CheckLibSpecifiesNoexecstack},
2439 {CC"isContainerized", CC"()Z", (void*)&WB_IsContainerized },
2440 {CC"printOsInfo", CC"()V", (void*)&WB_PrintOsInfo },
2441 {CC"disableElfSectionCache", CC"()V", (void*)&WB_DisableElfSectionCache },
2442 {CC"resolvedMethodItemsCount", CC"()J", (void*)&WB_ResolvedMethodItemsCount },
|