8185145: AppCDS custom loader support on Mac OS X
authorccheung
Thu, 06 Sep 2018 09:30:47 -0700
changeset 51659 ca3003390cf0
parent 51658 805807f15830
child 51660 c3ad012182b1
8185145: AppCDS custom loader support on Mac OS X Reviewed-by: dholmes, gziemski
src/hotspot/share/classfile/classListParser.cpp
test/lib/jdk/test/lib/Platform.java
--- 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()));
     }
 }