Ensure JDK 11 and 15 work on Mac OS

Test: tools/test.py --no-internal --test-namespace=ir/desugar/backports
Change-Id: Ic0ff3b810b30290a48ea07225e3e85bd5df2d043
diff --git a/build.gradle b/build.gradle
index 323256b..3e3b396 100644
--- a/build.gradle
+++ b/build.gradle
@@ -566,7 +566,9 @@
         if (OperatingSystem.current().isLinux()) {
             options.forkOptions.javaHome = file(jdkDir + 'linux')
         } else if (OperatingSystem.current().isMacOsX()) {
-            options.forkOptions.javaHome = file(jdkDir + 'osx')
+            options.forkOptions.javaHome = compatibility > JavaVersion.VERSION_1_9
+                    ? file(jdkDir + 'osx/Contents/Home')
+                    : file(jdkDir + 'osx')
         } else {
             options.forkOptions.javaHome = file(jdkDir + 'windows')
         }
diff --git a/src/test/java/com/android/tools/r8/TestRuntime.java b/src/test/java/com/android/tools/r8/TestRuntime.java
index 04b61c0..20bf4b8 100644
--- a/src/test/java/com/android/tools/r8/TestRuntime.java
+++ b/src/test/java/com/android/tools/r8/TestRuntime.java
@@ -83,11 +83,13 @@
     return new CfRuntime(CfVm.JDK8, home);
   }
 
-  private static Path getCheckedInJdkHome(Path path) {
+  private static Path getCheckedInJdkHome(Path path, CfVm vm) {
     if (ToolHelper.isLinux()) {
       return path.resolve("linux");
     } else if (ToolHelper.isMac()) {
-      return path.resolve("osx");
+      return vm.lessThanOrEqual(CfVm.JDK9)
+          ? path.resolve("osx")
+          : path.resolve("osx/Contents/Home");
     } else {
       assert ToolHelper.isWindows();
       return path.resolve("windows");
@@ -95,16 +97,16 @@
   }
 
   public static CfRuntime getCheckedInJdk9() {
-    return new CfRuntime(CfVm.JDK9, getCheckedInJdkHome(JDK9_PATH));
+    return new CfRuntime(CfVm.JDK9, getCheckedInJdkHome(JDK9_PATH, CfVm.JDK9));
   }
 
   public static CfRuntime getCheckedInJdk11() {
-    return new CfRuntime(CfVm.JDK11, getCheckedInJdkHome(JDK11_PATH));
+    return new CfRuntime(CfVm.JDK11, getCheckedInJdkHome(JDK11_PATH, CfVm.JDK11));
   }
 
   // TODO(b/169692487): Add this to 'getCheckedInCfRuntimes' when we start having support for JDK15.
   public static CfRuntime getCheckedInJdk15() {
-    return new CfRuntime(CfVm.JDK15, getCheckedInJdkHome(JDK15_PATH));
+    return new CfRuntime(CfVm.JDK15, getCheckedInJdkHome(JDK15_PATH, CfVm.JDK15));
   }
 
   public static List<CfRuntime> getCheckedInCfRuntimes() {