< prev index next >

src/java.base/share/classes/java/lang/invoke/BoundMethodHandle.java

Print this page
@@ -1,7 +1,7 @@
  /*
-  * Copyright (c) 2008, 2023, Oracle and/or its affiliates. All rights reserved.
+  * Copyright (c) 2008, 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.  Oracle designates this

@@ -361,15 +361,21 @@
              extensions[typeNum] = sd;
              return sd;
          }
      }
  
+     static class AOTHolder {
+         static final Specializer SPECIALIZER = new Specializer();
+         static final SpeciesData SimpleMethodHandle_BMH_SPECIES = SPECIALIZER.findSpecies("");
+         static final SpeciesData Species_L_BMH_SPECIES = SPECIALIZER.findSpecies("L");
+     }
+ 
      /*non-public*/
-     static final Specializer SPECIALIZER = new Specializer();
+     static final Specializer SPECIALIZER = AOTHolder.SPECIALIZER;
      static {
-         SimpleMethodHandle.BMH_SPECIES = BoundMethodHandle.SPECIALIZER.findSpecies("");
-         Species_L.BMH_SPECIES = BoundMethodHandle.SPECIALIZER.findSpecies("L");
+         SimpleMethodHandle.BMH_SPECIES = AOTHolder.SimpleMethodHandle_BMH_SPECIES;
+         Species_L.BMH_SPECIES = AOTHolder.Species_L_BMH_SPECIES;
      }
  
      /*non-public*/
      static final class Specializer
              extends ClassSpecializer<BoundMethodHandle, String, SpeciesData> {
< prev index next >