< prev index next >

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

Print this page
*** 1,7 ***
  /*
!  * Copyright (c) 2022, 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.
--- 1,7 ---
  /*
!  * 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 >