--- a/src/hotspot/share/classfile/classListParser.cpp Thu Sep 06 05:44:47 2018 -0700
+++ b/src/hotspot/share/classfile/classListParser.cpp Thu Sep 06 09:30:47 2018 -0700
@@ -273,9 +273,9 @@
// This function is used for loading classes for customized class loaders
// during archive dumping.
InstanceKlass* ClassListParser::load_class_from_source(Symbol* class_name, TRAPS) {
-#if !(defined(_LP64) && (defined(LINUX)|| defined(SOLARIS)))
- // The only supported platforms are: (1) Linux/64-bit and (2) Solaris/64-bit
- //
+#if !(defined(_LP64) && (defined(LINUX)|| defined(SOLARIS) || defined(__APPLE__)))
+ // The only supported platforms are: (1) Linux/64-bit and (2) Solaris/64-bit and
+ // (3) MacOSX/64-bit
// This #if condition should be in sync with the areCustomLoadersSupportedForCDS
// method in test/lib/jdk/test/lib/Platform.java.
error("AppCDS custom class loaders not supported on this platform");
--- a/test/lib/jdk/test/lib/Platform.java Thu Sep 06 05:44:47 2018 -0700
+++ b/test/lib/jdk/test/lib/Platform.java Thu Sep 06 09:30:47 2018 -0700
@@ -329,10 +329,6 @@
* This should match the #if condition in ClassListParser::load_class_from_source().
*/
public static boolean areCustomLoadersSupportedForCDS() {
- boolean isLinux = Platform.isLinux();
- boolean is64 = Platform.is64bit();
- boolean isSolaris = Platform.isSolaris();
-
- return (is64 && (isLinux || isSolaris));
+ return (is64bit() && (isLinux() || isSolaris() || isOSX()));
}
}