< prev index next >

test/hotspot/jtreg/runtime/cds/appcds/LambdaWithUseImplMethodHandle.java

Print this page
@@ -1,7 +1,7 @@
  /*
-  * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
+  * Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.

@@ -41,10 +41,15 @@
  
  public class LambdaWithUseImplMethodHandle {
  
      // See pkg2/Child.jcod for details about the condition that triggers JDK-8290417
      public static void main(String[] args) throws Exception {
+         test(false);
+         test(true);
+     }
+ 
+     static void test(boolean aotClassLinking) throws Exception {
          String appJar = ClassFileInstaller.getJarPath("test.jar");
          String mainClass = "LambdaWithUseImplMethodHandleApp";
          String expectedMsg = "Called BaseWithProtectedMethod::protectedMethod";
          String classList = "LambdaWithUseImplMethodHandle.list";
          String archiveName = TestCommon.getNewArchiveName();

@@ -55,10 +60,13 @@
          // create archive with the class list
          CDSOptions opts = (new CDSOptions())
              .addPrefix("-XX:ExtraSharedClassListFile=" + classList,
                         "-cp", appJar)
              .setArchiveName(archiveName);
+         if (aotClassLinking) {
+             opts.addPrefix("-XX:+AOTClassLinking");
+         }
          CDSTestUtils.createArchiveAndCheck(opts);
  
          // run with archive
          CDSOptions runOpts = (new CDSOptions())
              .addPrefix("-cp", appJar)
< prev index next >