diff --git a/.jcheck/conf b/.jcheck/conf index f666ff69d5ee3..29eebbdaaa2ed 100644 --- a/.jcheck/conf +++ b/.jcheck/conf @@ -1,7 +1,7 @@ [general] project=jdk jbs=JDK -version=24 +version=25 [checks] error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists diff --git a/doc/building.html b/doc/building.html index cd73863f87932..7157848f561ae 100644 --- a/doc/building.html +++ b/doc/building.html @@ -863,12 +863,12 @@

GNU Bash

are supported.

At least version 3.2 of GNU Bash must be used.

Graphviz and Pandoc

-

In order to build the full docs (see the +

In order to build man pages and the full docs (see the --enable-full-docs configure option) Graphviz and Pandoc are required. Any recent versions -should work. For reference, and subject to change, Oracle builds use -Graphviz 9.0.0 and Pandoc 2.19.2.

+href="https://pandoc.org">Pandoc is required. For full docs also Graphviz is required. Any recent +versions should work. For reference, and subject to change, Oracle +builds use Graphviz 9.0.0 and Pandoc 2.19.2.

Running Configure

To build the JDK, you need a "configuration", which consists of a directory where to store the build output, coupled with information diff --git a/doc/building.md b/doc/building.md index 99bc509dc70d0..04db6e94d1c12 100644 --- a/doc/building.md +++ b/doc/building.md @@ -680,9 +680,9 @@ At least version 3.2 of GNU Bash must be used. ### Graphviz and Pandoc -In order to build the full docs (see the `--enable-full-docs` -configure option) [Graphviz](https://www.graphviz.org) and -[Pandoc](https://pandoc.org) are required. Any recent versions should +In order to build man pages and the full docs (see the `--enable-full-docs` +configure option) [Pandoc](https://pandoc.org) is required. For full docs also +[Graphviz](https://www.graphviz.org) is required. Any recent versions should work. For reference, and subject to change, Oracle builds use Graphviz 9.0.0 and Pandoc 2.19.2. diff --git a/make/Images.gmk b/make/Images.gmk index 5f987a2f71a7d..c5d0ef11b5d2e 100644 --- a/make/Images.gmk +++ b/make/Images.gmk @@ -29,6 +29,7 @@ include $(SPEC) include MakeBase.gmk include CopyFiles.gmk +include DebugInfoUtils.gmk include Execute.gmk include Modules.gmk include Utils.gmk diff --git a/make/StaticLibs.gmk b/make/StaticLibs.gmk index 78918c456eed9..cfca2a774113d 100644 --- a/make/StaticLibs.gmk +++ b/make/StaticLibs.gmk @@ -29,6 +29,7 @@ include $(SPEC) include MakeBase.gmk include CopyFiles.gmk +include DebugInfoUtils.gmk include Modules.gmk include modules/LauncherCommon.gmk diff --git a/make/autoconf/boot-jdk.m4 b/make/autoconf/boot-jdk.m4 index d729012ad6a6f..d39e6e75a94c1 100644 --- a/make/autoconf/boot-jdk.m4 +++ b/make/autoconf/boot-jdk.m4 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 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 @@ -470,7 +470,7 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS], # Maximum amount of heap memory. JVM_HEAP_LIMIT_32="768" # Running a 64 bit JVM allows for and requires a bigger heap - JVM_HEAP_LIMIT_64="1600" + JVM_HEAP_LIMIT_64="2048" JVM_HEAP_LIMIT_GLOBAL=`expr $MEMORY_SIZE / 2` if test "$JVM_HEAP_LIMIT_GLOBAL" -lt "$JVM_HEAP_LIMIT_32"; then JVM_HEAP_LIMIT_32=$JVM_HEAP_LIMIT_GLOBAL diff --git a/make/autoconf/flags-cflags.m4 b/make/autoconf/flags-cflags.m4 index 57654514eb64b..f78ccfe376214 100644 --- a/make/autoconf/flags-cflags.m4 +++ b/make/autoconf/flags-cflags.m4 @@ -302,7 +302,7 @@ AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS], AC_DEFUN([FLAGS_SETUP_OPTIMIZATION], [ - if test "x$TOOLCHAIN_TYPE" = xgcc; then + if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then C_O_FLAG_HIGHEST_JVM="-O3" C_O_FLAG_HIGHEST="-O3" C_O_FLAG_HI="-O3" @@ -311,6 +311,13 @@ AC_DEFUN([FLAGS_SETUP_OPTIMIZATION], C_O_FLAG_DEBUG="-O0" C_O_FLAG_DEBUG_JVM="-O0" C_O_FLAG_NONE="-O0" + + if test "x$TOOLCHAIN_TYPE" = xclang && test "x$OPENJDK_TARGET_OS" = xaix; then + C_O_FLAG_HIGHEST_JVM="${C_O_FLAG_HIGHEST_JVM} -finline-functions" + C_O_FLAG_HIGHEST="${C_O_FLAG_HIGHEST} -finline-functions" + C_O_FLAG_HI="${C_O_FLAG_HI} -finline-functions" + fi + # -D_FORTIFY_SOURCE=2 hardening option needs optimization (at least -O1) enabled # set for lower O-levels -U_FORTIFY_SOURCE to overwrite previous settings if test "x$OPENJDK_TARGET_OS" = xlinux -a "x$DEBUG_LEVEL" = "xfastdebug"; then @@ -331,21 +338,6 @@ AC_DEFUN([FLAGS_SETUP_OPTIMIZATION], C_O_FLAG_DEBUG_JVM="${C_O_FLAG_DEBUG_JVM} ${DISABLE_FORTIFY_CFLAGS}" C_O_FLAG_NONE="${C_O_FLAG_NONE} ${DISABLE_FORTIFY_CFLAGS}" fi - elif test "x$TOOLCHAIN_TYPE" = xclang; then - if test "x$OPENJDK_TARGET_OS" = xaix; then - C_O_FLAG_HIGHEST_JVM="-O3 -finline-functions" - C_O_FLAG_HIGHEST="-O3 -finline-functions" - C_O_FLAG_HI="-O3 -finline-functions" - else - C_O_FLAG_HIGHEST_JVM="-O3" - C_O_FLAG_HIGHEST="-O3" - C_O_FLAG_HI="-O3" - fi - C_O_FLAG_NORM="-O2" - C_O_FLAG_DEBUG_JVM="-O0" - C_O_FLAG_SIZE="-Os" - C_O_FLAG_DEBUG="-O0" - C_O_FLAG_NONE="-O0" elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then C_O_FLAG_HIGHEST_JVM="-O2 -Oy-" C_O_FLAG_HIGHEST="-O2" diff --git a/make/autoconf/jdk-options.m4 b/make/autoconf/jdk-options.m4 index 61638ce5a2c7f..c09f581688ca0 100644 --- a/make/autoconf/jdk-options.m4 +++ b/make/autoconf/jdk-options.m4 @@ -121,7 +121,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS], if test "x$DOT" != "x"; then AC_MSG_RESULT([yes]) else - AC_MSG_RESULT([no, cannot generate full docs]) + AC_MSG_RESULT([no, cannot generate full docs or man pages]) FULL_DOCS_AVAILABLE=false fi @@ -129,7 +129,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS], if test "x$ENABLE_PANDOC" = "xtrue"; then AC_MSG_RESULT([yes]) else - AC_MSG_RESULT([no, cannot generate full docs]) + AC_MSG_RESULT([no, cannot generate full docs or man pages]) FULL_DOCS_AVAILABLE=false fi diff --git a/make/common/DebugInfoUtils.gmk b/make/common/DebugInfoUtils.gmk new file mode 100644 index 0000000000000..69d6c24b5e037 --- /dev/null +++ b/make/common/DebugInfoUtils.gmk @@ -0,0 +1,58 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +ifeq ($(_MAKEBASE_GMK), ) + $(error You must include MakeBase.gmk prior to including DebugInfoUtils.gmk) +endif + +################################################################################ +# +# Common debuginfo utility functions +# +################################################################################ + +################################################################################ +# Find native debuginfo files in a directory +# +# Param 1 - dir to find debuginfo files in +FindDebuginfoFiles = \ + $(wildcard $(addprefix $1/*, $(DEBUGINFO_SUFFIXES)) \ + $(addprefix $1/*/*, $(DEBUGINFO_SUFFIXES)) \ + $(addprefix $1/*/*/*, $(DEBUGINFO_SUFFIXES))) + +# Pick the correct debug info files to copy, either zipped or not. +ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true) + DEBUGINFO_SUFFIXES += .diz +else + DEBUGINFO_SUFFIXES := .debuginfo .pdb .map + # On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM + # dirs. + ifeq ($(call isTargetOs, macosx), true) + $(call FillFindCache, \ + $(SUPPORT_OUTPUTDIR)/modules_libs $(SUPPORT_OUTPUTDIR)/modules_cmds) + FindDebuginfoFiles = \ + $(if $(wildcard $1), $(call containing, .dSYM/, $(call FindFiles, $1))) + endif +endif diff --git a/make/common/FileUtils.gmk b/make/common/FileUtils.gmk index d546ab94a58f0..d3cc4872ebb8f 100644 --- a/make/common/FileUtils.gmk +++ b/make/common/FileUtils.gmk @@ -307,26 +307,3 @@ ifeq ($(DISABLE_CACHE_FIND), true) else FindFiles = $(CacheFindFiles) endif - -# Find native debuginfo files in a directory -# -# Param 1 - dir to find debuginfo files in -FindDebuginfoFiles = \ - $(wildcard $(addprefix $1/*, $(DEBUGINFO_SUFFIXES)) \ - $(addprefix $1/*/*, $(DEBUGINFO_SUFFIXES)) \ - $(addprefix $1/*/*/*, $(DEBUGINFO_SUFFIXES))) - -# Pick the correct debug info files to copy, either zipped or not. -ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true) - DEBUGINFO_SUFFIXES += .diz -else - DEBUGINFO_SUFFIXES := .debuginfo .pdb .map - # On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM - # dirs. - ifeq ($(call isTargetOs, macosx), true) - $(call FillFindCache, \ - $(SUPPORT_OUTPUTDIR)/modules_libs $(SUPPORT_OUTPUTDIR)/modules_cmds) - FindDebuginfoFiles = \ - $(if $(wildcard $1), $(call containing, .dSYM/, $(call FindFiles, $1))) - endif -endif diff --git a/make/common/modules/LauncherCommon.gmk b/make/common/modules/LauncherCommon.gmk index 77f39457b4c2d..98e110a0a86cf 100644 --- a/make/common/modules/LauncherCommon.gmk +++ b/make/common/modules/LauncherCommon.gmk @@ -192,9 +192,7 @@ ifeq ($(call isTargetOsType, unix)+$(MAKEFILE_PREFIX), true+Launcher) MAN_FILES_MD := $(wildcard $(addsuffix /*.md, $(call FindModuleManDirs, $(MODULE)))) ifneq ($(MAN_FILES_MD), ) - ifeq ($(ENABLE_PANDOC), false) - $(info Warning: pandoc not found. Not generating man pages) - else + ifeq ($(ENABLE_PANDOC), true) # Create dynamic man pages from markdown using pandoc. We need # PANDOC_TROFF_MANPAGE_FILTER, a wrapper around # PANDOC_TROFF_MANPAGE_FILTER_JAVASCRIPT. This is created by buildtools-jdk. diff --git a/make/conf/version-numbers.conf b/make/conf/version-numbers.conf index 055f9ca886618..383b7533dee5f 100644 --- a/make/conf/version-numbers.conf +++ b/make/conf/version-numbers.conf @@ -26,17 +26,17 @@ # Default version, product, and vendor information to use, # unless overridden by configure -DEFAULT_VERSION_FEATURE=24 +DEFAULT_VERSION_FEATURE=25 DEFAULT_VERSION_INTERIM=0 DEFAULT_VERSION_UPDATE=0 DEFAULT_VERSION_PATCH=0 DEFAULT_VERSION_EXTRA1=0 DEFAULT_VERSION_EXTRA2=0 DEFAULT_VERSION_EXTRA3=0 -DEFAULT_VERSION_DATE=2025-03-18 -DEFAULT_VERSION_CLASSFILE_MAJOR=68 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`" +DEFAULT_VERSION_DATE=2025-09-16 +DEFAULT_VERSION_CLASSFILE_MAJOR=69 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`" DEFAULT_VERSION_CLASSFILE_MINOR=0 DEFAULT_VERSION_DOCS_API_SINCE=11 -DEFAULT_ACCEPTABLE_BOOT_VERSIONS="23 24" -DEFAULT_JDK_SOURCE_TARGET_VERSION=24 +DEFAULT_ACCEPTABLE_BOOT_VERSIONS="23 24 25" +DEFAULT_JDK_SOURCE_TARGET_VERSION=25 DEFAULT_PROMOTED_VERSION_PRE=ea diff --git a/make/hotspot/lib/JvmFeatures.gmk b/make/hotspot/lib/JvmFeatures.gmk index b94031515f79e..09a48508effa8 100644 --- a/make/hotspot/lib/JvmFeatures.gmk +++ b/make/hotspot/lib/JvmFeatures.gmk @@ -174,6 +174,12 @@ ifeq ($(call check-jvm-feature, link-time-opt), true) -fno-fat-lto-objects JVM_LDFLAGS_FEATURES += $(CXX_O_FLAG_HIGHEST_JVM) -flto=auto \ -fuse-linker-plugin -fno-strict-aliasing + else ifeq ($(call isCompiler, clang), true) + JVM_CFLAGS_FEATURES += -flto -fno-strict-aliasing + ifeq ($(call isBuildOs, aix), true) + JVM_CFLAGS_FEATURES += -ffat-lto-objects + endif + JVM_LDFLAGS_FEATURES += $(CXX_O_FLAG_HIGHEST_JVM) -flto -fno-strict-aliasing else ifeq ($(call isCompiler, microsoft), true) JVM_CFLAGS_FEATURES += -GL JVM_LDFLAGS_FEATURES += -LTCG:INCREMENTAL diff --git a/make/ide/xcode/hotspot/CreateXcodeProject.gmk b/make/ide/xcode/hotspot/CreateXcodeProject.gmk index db8f7f401eff4..1f92ba0716f1e 100644 --- a/make/ide/xcode/hotspot/CreateXcodeProject.gmk +++ b/make/ide/xcode/hotspot/CreateXcodeProject.gmk @@ -42,7 +42,7 @@ ifeq ($(call isTargetOs, macosx), true) PROJECT_FILE_NAME := hotspot.xcodeproj COMPILE_COMMAND_FILE := $(OUTPUTDIR)/compile_commands.json - LINKER_FLAGS_FILE := $(MAKESUPPORT_OUTPUTDIR)/compile-commands/jvm-ldflags.txt + LINKER_FLAGS_FILE := $(MAKESUPPORT_OUTPUTDIR)/compile-commands/LIBRARY_hotspot_variant-server_libjvm_libjvm-ldflags.txt $(eval $(call SetupJavaCompilation, BUILD_PROJECT_CREATOR, \ TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \ @@ -60,7 +60,7 @@ ifeq ($(call isTargetOs, macosx), true) XCODE_PROJ_DEBUG_OPTION := -d endif - XCODE_PROJ_VARDEPS := $(WORKSPACE_ROOT) $(IDE_OUTPUTDIR) \ + XCODE_PROJ_VARDEPS := $(TOPDIR) $(IDE_OUTPUTDIR) \ $(PROJECT_MAKER_DIR)/data $(COMPILE_COMMAND_FILE) $(LINKER_FLAGS_FILE) XCODE_PROJ_VARDEPS_FILE := $(call DependOnVariable, XCODE_PROJ_VARDEPS, \ $(TOOLS_OUTPUTDIR)/xcodeproj.vardeps) @@ -70,7 +70,7 @@ ifeq ($(call isTargetOs, macosx), true) DEPS := $(BUILD_PROJECT_CREATOR) $(COMPILE_COMMAND_FILE) \ $(LINKER_FLAGS_FILE) $(XCODE_PROJ_VARDEPS_FILE), \ OUTPUT_DIR := $(TOOLS_OUTPUTDIR), \ - COMMAND := $(PROJECT_CREATOR_TOOL) $(WORKSPACE_ROOT) $(IDE_OUTPUTDIR) \ + COMMAND := $(PROJECT_CREATOR_TOOL) $(TOPDIR) $(IDE_OUTPUTDIR) \ $(PROJECT_MAKER_DIR)/data $(COMPILE_COMMAND_FILE) \ $(LINKER_FLAGS_FILE) $(XCODE_PROJ_DEBUG_OPTION), \ )) diff --git a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp index ce71d3a22621d..a836d71205e95 100644 --- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp @@ -5305,7 +5305,7 @@ MacroAssembler::KlassDecodeMode MacroAssembler::klass_decode_mode() { if (operand_valid_for_logical_immediate( /*is32*/false, (uint64_t)CompressedKlassPointers::base())) { const size_t range = CompressedKlassPointers::klass_range_end() - CompressedKlassPointers::base(); - const uint64_t range_mask = (1ULL << log2i(range)) - 1; + const uint64_t range_mask = right_n_bits(log2i_ceil(range)); if (((uint64_t)CompressedKlassPointers::base() & range_mask) == 0) { return (_klass_decode_mode = KlassDecodeXor); } diff --git a/src/hotspot/cpu/ppc/assembler_ppc.hpp b/src/hotspot/cpu/ppc/assembler_ppc.hpp index d2584cc1af31d..b99235371aa27 100644 --- a/src/hotspot/cpu/ppc/assembler_ppc.hpp +++ b/src/hotspot/cpu/ppc/assembler_ppc.hpp @@ -506,6 +506,9 @@ class Assembler : public AbstractAssembler { LFSU_OPCODE = (49u << OPCODE_SHIFT | 00u << 1), LFSX_OPCODE = (31u << OPCODE_SHIFT | 535u << 1), + LFIWAX_OPCODE = (31u << OPCODE_SHIFT | 855u << 1), + LFIWZX_OPCODE = (31u << OPCODE_SHIFT | 887u << 1), + STFD_OPCODE = (54u << OPCODE_SHIFT | 00u << 1), STFDU_OPCODE = (55u << OPCODE_SHIFT | 00u << 1), STFDX_OPCODE = (31u << OPCODE_SHIFT | 727u << 1), @@ -513,6 +516,8 @@ class Assembler : public AbstractAssembler { STFSU_OPCODE = (53u << OPCODE_SHIFT | 00u << 1), STFSX_OPCODE = (31u << OPCODE_SHIFT | 663u << 1), + STFIWX_OPCODE = (31u << OPCODE_SHIFT | 983u << 1), + FSQRT_OPCODE = (63u << OPCODE_SHIFT | 22u << 1), // A-FORM FSQRTS_OPCODE = (59u << OPCODE_SHIFT | 22u << 1), // A-FORM @@ -555,6 +560,10 @@ class Assembler : public AbstractAssembler { XVDIVSP_OPCODE = (60u << OPCODE_SHIFT | 88u << 3), XXBRD_OPCODE = (60u << OPCODE_SHIFT | 475u << 2 | 23u << 16), // XX2-FORM XXBRW_OPCODE = (60u << OPCODE_SHIFT | 475u << 2 | 15u << 16), // XX2-FORM + XVCVHPSP_OPCODE= (60u << OPCODE_SHIFT | 475u << 2 | 24u << 16), // XX2-FORM + XVCVSPHP_OPCODE= (60u << OPCODE_SHIFT | 475u << 2 | 25u << 16), // XX2-FORM + XSCVHPDP_OPCODE= (60u << OPCODE_SHIFT | 347u << 2 | 16u << 16), // XX2-FORM + XSCVDPHP_OPCODE= (60u << OPCODE_SHIFT | 347u << 2 | 17u << 16), // XX2-FORM XXPERM_OPCODE = (60u << OPCODE_SHIFT | 26u << 3), XXSEL_OPCODE = (60u << OPCODE_SHIFT | 3u << 4), XXSPLTIB_OPCODE= (60u << OPCODE_SHIFT | 360u << 1), @@ -2076,6 +2085,9 @@ class Assembler : public AbstractAssembler { inline void lfdu( FloatRegister d, int si16, Register a); inline void lfdx( FloatRegister d, Register a, Register b); + inline void lfiwax(FloatRegister d, Register a, Register b); + inline void lfiwzx(FloatRegister d, Register a, Register b); + // PPC 1, section 4.6.3 Floating-Point Store Instructions inline void stfs( FloatRegister s, int si16, Register a); inline void stfsu( FloatRegister s, int si16, Register a); @@ -2084,6 +2096,8 @@ class Assembler : public AbstractAssembler { inline void stfdu( FloatRegister s, int si16, Register a); inline void stfdx( FloatRegister s, Register a, Register b); + inline void stfiwx(FloatRegister s, Register a, Register b); + // PPC 1, section 4.6.4 Floating-Point Move Instructions inline void fmr( FloatRegister d, FloatRegister b); inline void fmr_( FloatRegister d, FloatRegister b); @@ -2348,6 +2362,10 @@ class Assembler : public AbstractAssembler { inline void xxleqv( VectorSRegister d, VectorSRegister a, VectorSRegister b); inline void xxbrd( VectorSRegister d, VectorSRegister b); inline void xxbrw( VectorSRegister d, VectorSRegister b); + inline void xvcvhpsp( VectorSRegister d, VectorSRegister b); + inline void xvcvsphp( VectorSRegister d, VectorSRegister b); + inline void xscvhpdp( VectorSRegister d, VectorSRegister b); + inline void xscvdphp( VectorSRegister d, VectorSRegister b); inline void xxland( VectorSRegister d, VectorSRegister a, VectorSRegister b); inline void xxsel( VectorSRegister d, VectorSRegister a, VectorSRegister b, VectorSRegister c); inline void xxspltib( VectorSRegister d, int ui8); @@ -2474,10 +2492,13 @@ class Assembler : public AbstractAssembler { inline void lfsx( FloatRegister d, Register b); inline void lfd( FloatRegister d, int si16); inline void lfdx( FloatRegister d, Register b); + inline void lfiwax(FloatRegister d, Register b); + inline void lfiwzx(FloatRegister d, Register b); inline void stfs( FloatRegister s, int si16); inline void stfsx( FloatRegister s, Register b); inline void stfd( FloatRegister s, int si16); inline void stfdx( FloatRegister s, Register b); + inline void stfiwx(FloatRegister s, Register b); inline void lvebx( VectorRegister d, Register s2); inline void lvehx( VectorRegister d, Register s2); inline void lvewx( VectorRegister d, Register s2); diff --git a/src/hotspot/cpu/ppc/assembler_ppc.inline.hpp b/src/hotspot/cpu/ppc/assembler_ppc.inline.hpp index 07de57babfa86..eae75da9fbff3 100644 --- a/src/hotspot/cpu/ppc/assembler_ppc.inline.hpp +++ b/src/hotspot/cpu/ppc/assembler_ppc.inline.hpp @@ -741,6 +741,9 @@ inline void Assembler::lfd( FloatRegister d, int si16, Register a) { emit_int3 inline void Assembler::lfdu(FloatRegister d, int si16, Register a) { emit_int32( LFDU_OPCODE | frt(d) | ra(a) | simm(si16,16)); } inline void Assembler::lfdx(FloatRegister d, Register a, Register b) { emit_int32( LFDX_OPCODE | frt(d) | ra0mem(a) | rb(b)); } +inline void Assembler::lfiwax(FloatRegister d, Register a, Register b) { emit_int32( LFIWAX_OPCODE | frt(d) | ra0mem(a) |rb(b)); } +inline void Assembler::lfiwzx(FloatRegister d, Register a, Register b) { emit_int32( LFIWZX_OPCODE | frt(d) | ra0mem(a) |rb(b)); } + // PPC 1, section 4.6.3 Floating-Point Store Instructions // Use ra0mem instead of ra in some instructions below. inline void Assembler::stfs( FloatRegister s, int si16, Register a) { emit_int32( STFS_OPCODE | frs(s) | ra0mem(a) | simm(si16,16)); } @@ -750,6 +753,8 @@ inline void Assembler::stfd( FloatRegister s, int si16, Register a) { emit_int3 inline void Assembler::stfdu(FloatRegister s, int si16, Register a) { emit_int32( STFDU_OPCODE | frs(s) | ra(a) | simm(si16,16)); } inline void Assembler::stfdx(FloatRegister s, Register a, Register b){ emit_int32( STFDX_OPCODE | frs(s) | ra0mem(a) | rb(b)); } +inline void Assembler::stfiwx(FloatRegister s, Register a, Register b) { emit_int32( STFIWX_OPCODE | frs(s) | ra0mem(a) |rb(b)); } + // PPC 1, section 4.6.4 Floating-Point Move Instructions inline void Assembler::fmr( FloatRegister d, FloatRegister b) { emit_int32( FMR_OPCODE | frt(d) | frb(b) | rc(0)); } inline void Assembler::fmr_(FloatRegister d, FloatRegister b) { emit_int32( FMR_OPCODE | frt(d) | frb(b) | rc(1)); } @@ -871,6 +876,10 @@ inline void Assembler::xxlxor( VectorSRegister d, VectorSRegister a, VectorSReg inline void Assembler::xxleqv( VectorSRegister d, VectorSRegister a, VectorSRegister b) { emit_int32( XXLEQV_OPCODE | vsrt(d) | vsra(a) | vsrb(b)); } inline void Assembler::xxbrd( VectorSRegister d, VectorSRegister b) { emit_int32( XXBRD_OPCODE | vsrt(d) | vsrb(b) ); } inline void Assembler::xxbrw( VectorSRegister d, VectorSRegister b) { emit_int32( XXBRW_OPCODE | vsrt(d) | vsrb(b) ); } +inline void Assembler::xvcvhpsp(VectorSRegister d, VectorSRegister b) { emit_int32( XVCVHPSP_OPCODE | vsrt(d) | vsrb(b) ); } +inline void Assembler::xvcvsphp(VectorSRegister d, VectorSRegister b) { emit_int32( XVCVSPHP_OPCODE | vsrt(d) | vsrb(b) ); } +inline void Assembler::xscvhpdp(VectorSRegister d, VectorSRegister b) { emit_int32( XSCVHPDP_OPCODE | vsrt(d) | vsrb(b) ); } +inline void Assembler::xscvdphp(VectorSRegister d, VectorSRegister b) { emit_int32( XSCVDPHP_OPCODE | vsrt(d) | vsrb(b) ); } inline void Assembler::xvdivsp( VectorSRegister d, VectorSRegister a, VectorSRegister b) { emit_int32( XVDIVSP_OPCODE | vsrt(d) | vsra(a) | vsrb(b)); } inline void Assembler::xvdivdp( VectorSRegister d, VectorSRegister a, VectorSRegister b) { emit_int32( XVDIVDP_OPCODE | vsrt(d) | vsra(a) | vsrb(b)); } inline void Assembler::xvabssp( VectorSRegister d, VectorSRegister b) { emit_int32( XVABSSP_OPCODE | vsrt(d) | vsrb(b)); } @@ -1150,12 +1159,17 @@ inline void Assembler::lfsx(FloatRegister d, Register b) { emit_int32( LFSX_OPCO inline void Assembler::lfd( FloatRegister d, int si16) { emit_int32( LFD_OPCODE | frt(d) | simm(si16,16)); } inline void Assembler::lfdx(FloatRegister d, Register b) { emit_int32( LFDX_OPCODE | frt(d) | rb(b)); } +inline void Assembler::lfiwax(FloatRegister d, Register b) { emit_int32( LFIWAX_OPCODE | frt(d) | rb(b)); } +inline void Assembler::lfiwzx(FloatRegister d, Register b) { emit_int32( LFIWZX_OPCODE | frt(d) | rb(b)); } + // ra0 version inline void Assembler::stfs( FloatRegister s, int si16) { emit_int32( STFS_OPCODE | frs(s) | simm(si16, 16)); } inline void Assembler::stfsx(FloatRegister s, Register b) { emit_int32( STFSX_OPCODE | frs(s) | rb(b)); } inline void Assembler::stfd( FloatRegister s, int si16) { emit_int32( STFD_OPCODE | frs(s) | simm(si16, 16)); } inline void Assembler::stfdx(FloatRegister s, Register b) { emit_int32( STFDX_OPCODE | frs(s) | rb(b)); } +inline void Assembler::stfiwx(FloatRegister s, Register b) { emit_int32( STFIWX_OPCODE | frs(s) |rb(b)); } + // ra0 version inline void Assembler::lvebx( VectorRegister d, Register s2) { emit_int32( LVEBX_OPCODE | vrt(d) | rb(s2)); } inline void Assembler::lvehx( VectorRegister d, Register s2) { emit_int32( LVEHX_OPCODE | vrt(d) | rb(s2)); } diff --git a/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp b/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp index b8a271ffc3b46..af426935b2f2b 100644 --- a/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp +++ b/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp @@ -1713,7 +1713,7 @@ void LIR_Assembler::arith_op(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr } -void LIR_Assembler::intrinsic_op(LIR_Code code, LIR_Opr value, LIR_Opr thread, LIR_Opr dest, LIR_Op* op) { +void LIR_Assembler::intrinsic_op(LIR_Code code, LIR_Opr value, LIR_Opr tmp, LIR_Opr dest, LIR_Op* op) { switch (code) { case lir_sqrt: { __ fsqrt(dest->as_double_reg(), value->as_double_reg()); @@ -1723,6 +1723,14 @@ void LIR_Assembler::intrinsic_op(LIR_Code code, LIR_Opr value, LIR_Opr thread, L __ fabs(dest->as_double_reg(), value->as_double_reg()); break; } + case lir_f2hf: { + __ f2hf(dest.as_register(), value.as_float_reg(), tmp.as_float_reg()); + break; + } + case lir_hf2f: { + __ hf2f(dest->as_float_reg(), value.as_register()); + break; + } default: { ShouldNotReachHere(); break; diff --git a/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp b/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp index 7973e9d05459e..4e0908d6e61b5 100644 --- a/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp +++ b/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp @@ -690,6 +690,25 @@ void LIRGenerator::do_MathIntrinsic(Intrinsic* x) { __ abs(value.result(), dst, LIR_OprFact::illegalOpr); break; } + case vmIntrinsics::_floatToFloat16: { + assert(x->number_of_arguments() == 1, "wrong type"); + LIRItem value(x->argument_at(0), this); + value.load_item(); + LIR_Opr dst = rlock_result(x); + LIR_Opr tmp = new_register(T_FLOAT); + // f2hf treats tmp as live_in. Workaround: initialize to some value. + __ move(LIR_OprFact::floatConst(-0.0), tmp); // just to satisfy LinearScan + __ f2hf(value.result(), dst, tmp); + break; + } + case vmIntrinsics::_float16ToFloat: { + assert(x->number_of_arguments() == 1, "wrong type"); + LIRItem value(x->argument_at(0), this); + value.load_item(); + LIR_Opr dst = rlock_result(x); + __ hf2f(value.result(), dst, LIR_OprFact::illegalOpr); + break; + } case vmIntrinsics::_dsqrt: case vmIntrinsics::_dsqrt_strict: { if (VM_Version::has_fsqrt()) { diff --git a/src/hotspot/cpu/ppc/macroAssembler_ppc.hpp b/src/hotspot/cpu/ppc/macroAssembler_ppc.hpp index 237024fa05eaf..3e82c1c678578 100644 --- a/src/hotspot/cpu/ppc/macroAssembler_ppc.hpp +++ b/src/hotspot/cpu/ppc/macroAssembler_ppc.hpp @@ -186,6 +186,9 @@ class MacroAssembler: public Assembler { void inline set_cmpu3(Register dst, bool treat_unordered_like_less); // Branch-free implementation to convert !=0 to 1. void inline normalize_bool(Register dst, Register temp = R0, bool is_64bit = false); + // Convert between half precision float encoded into a short and a float in a FloatRegister. + void inline f2hf(Register dst, FloatRegister src, FloatRegister tmp); + void inline hf2f(FloatRegister dst, Register src); inline void pd_patch_instruction(address branch, address target, const char* file, int line); NOT_PRODUCT(static void pd_print_patched_instruction(address branch);) diff --git a/src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp b/src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp index f98ad592388e7..6f5cd8fbd9671 100644 --- a/src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp +++ b/src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp @@ -297,6 +297,20 @@ inline void MacroAssembler::normalize_bool(Register dst, Register temp, bool is_ } } +inline void MacroAssembler::f2hf(Register dst, FloatRegister src, FloatRegister tmp) { + // Single precision values in FloatRegisters use double precision format on PPC64. + xscvdphp(tmp->to_vsr(), src->to_vsr()); + mffprd(dst, tmp); + // Make it a proper short (sign-extended). + extsh(dst, dst); +} + +inline void MacroAssembler::hf2f(FloatRegister dst, Register src) { + mtfprd(dst, src); + // Single precision values in FloatRegisters use double precision format on PPC64. + xscvhpdp(dst->to_vsr(), dst->to_vsr()); +} + // Convenience bc_far versions inline void MacroAssembler::blt_far(ConditionRegister crx, Label& L, int optimize) { MacroAssembler::bc_far(bcondCRbiIs1, bi0(crx, less), L, optimize); } inline void MacroAssembler::bgt_far(ConditionRegister crx, Label& L, int optimize) { MacroAssembler::bc_far(bcondCRbiIs1, bi0(crx, greater), L, optimize); } diff --git a/src/hotspot/cpu/ppc/ppc.ad b/src/hotspot/cpu/ppc/ppc.ad index cfed8674e898e..549ae0740e2e1 100644 --- a/src/hotspot/cpu/ppc/ppc.ad +++ b/src/hotspot/cpu/ppc/ppc.ad @@ -2077,6 +2077,9 @@ bool Matcher::match_rule_supported(int opcode) { case Op_PopCountI: case Op_PopCountL: return (UsePopCountInstruction && VM_Version::has_popcntw()); + case Op_ConvF2HF: + case Op_ConvHF2F: + return VM_Version::supports_float16(); case Op_AddVB: case Op_AddVS: @@ -11245,6 +11248,34 @@ instruct convF2D_reg(regD dst, regF src) %{ ins_pipe(pipe_class_default); %} +instruct convF2HF_reg_reg(iRegIdst dst, regF src, regF tmp) %{ + match(Set dst (ConvF2HF src)); + effect(TEMP tmp); + ins_cost(3 * DEFAULT_COST); + size(12); + format %{ "xscvdphp $tmp, $src\t# convert to half precision\n\t" + "mffprd $dst, $tmp\t# move result from $tmp to $dst\n\t" + "extsh $dst, $dst\t# make it a proper short" + %} + ins_encode %{ + __ f2hf($dst$$Register, $src$$FloatRegister, $tmp$$FloatRegister); + %} + ins_pipe(pipe_class_default); +%} + +instruct convHF2F_reg_reg(regF dst, iRegIsrc src) %{ + match(Set dst (ConvHF2F src)); + ins_cost(2 * DEFAULT_COST); + size(8); + format %{ "mtfprd $dst, $src\t# move source from $src to $dst\n\t" + "xscvhpdp $dst, $dst\t# convert from half precision" + %} + ins_encode %{ + __ hf2f($dst$$FloatRegister, $src$$Register); + %} + ins_pipe(pipe_class_default); +%} + //----------Control Flow Instructions------------------------------------------ // Compare Instructions diff --git a/src/hotspot/cpu/ppc/stubGenerator_ppc.cpp b/src/hotspot/cpu/ppc/stubGenerator_ppc.cpp index 9f2b668b9c834..00d2e206bf9b5 100644 --- a/src/hotspot/cpu/ppc/stubGenerator_ppc.cpp +++ b/src/hotspot/cpu/ppc/stubGenerator_ppc.cpp @@ -3451,6 +3451,24 @@ class StubGenerator: public StubCodeGenerator { return start; } + address generate_floatToFloat16() { + __ align(CodeEntryAlignment); + StubCodeMark mark(this, "StubRoutines", "floatToFloat16"); + address start = __ function_entry(); + __ f2hf(R3_RET, F1_ARG1, F0); + __ blr(); + return start; + } + + address generate_float16ToFloat() { + __ align(CodeEntryAlignment); + StubCodeMark mark(this, "StubRoutines", "float16ToFloat"); + address start = __ function_entry(); + __ hf2f(F1_RET, R3_ARG1); + __ blr(); + return start; + } + address generate_method_entry_barrier() { __ align(CodeEntryAlignment); StubCodeMark mark(this, "StubRoutines", "nmethod_entry_barrier"); @@ -4678,6 +4696,12 @@ address generate_lookup_secondary_supers_table_stub(u1 super_klass_index) { StubRoutines::_crc32c_table_addr = StubRoutines::ppc::generate_crc_constants(REVERSE_CRC32C_POLY); StubRoutines::_updateBytesCRC32C = generate_CRC32_updateBytes(true); } + + if (VM_Version::supports_float16()) { + // For results consistency both intrinsics should be enabled. + StubRoutines::_hf2f = generate_float16ToFloat(); + StubRoutines::_f2hf = generate_floatToFloat16(); + } } void generate_continuation_stubs() { diff --git a/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp b/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp index e320349583ddc..9147dfc1677ab 100644 --- a/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp +++ b/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp @@ -1155,6 +1155,44 @@ address TemplateInterpreterGenerator::generate_math_entry(AbstractInterpreter::M return entry; } +address TemplateInterpreterGenerator::generate_Float_floatToFloat16_entry() { + if (!VM_Version::supports_float16()) return nullptr; + + address entry = __ pc(); + + __ lfs(F1, Interpreter::stackElementSize, R15_esp); + __ f2hf(R3_RET, F1, F0); + + // Restore caller sp for c2i case (from compiled) and for resized sender frame (from interpreted). + __ resize_frame_absolute(R21_sender_SP, R11_scratch1, R0); + __ blr(); + + __ flush(); + + return entry; +} + +address TemplateInterpreterGenerator::generate_Float_float16ToFloat_entry() { + if (!VM_Version::supports_float16()) return nullptr; + + address entry = __ pc(); + + // Note: Could also use: + //__ li(R3, Interpreter::stackElementSize); + //__ lfiwax(F1_RET, R15_esp, R3); // short stored as 32 bit integer + //__ xscvhpdp(F1_RET->to_vsr(), F1_RET->to_vsr()); + __ lwa(R3, Interpreter::stackElementSize, R15_esp); + __ hf2f(F1_RET, R3); + + // Restore caller sp for c2i case (from compiled) and for resized sender frame (from interpreted). + __ resize_frame_absolute(R21_sender_SP, R11_scratch1, R0); + __ blr(); + + __ flush(); + + return entry; +} + void TemplateInterpreterGenerator::bang_stack_shadow_pages(bool native_call) { // Quick & dirty stack overflow checking: bang the stack & handle trap. // Note that we do the banging after the frame is setup, since the exception @@ -1965,8 +2003,6 @@ address TemplateInterpreterGenerator::generate_Float_intBitsToFloat_entry() { re address TemplateInterpreterGenerator::generate_Float_floatToRawIntBits_entry() { return nullptr; } address TemplateInterpreterGenerator::generate_Double_longBitsToDouble_entry() { return nullptr; } address TemplateInterpreterGenerator::generate_Double_doubleToRawLongBits_entry() { return nullptr; } -address TemplateInterpreterGenerator::generate_Float_float16ToFloat_entry() { return nullptr; } -address TemplateInterpreterGenerator::generate_Float_floatToFloat16_entry() { return nullptr; } // ============================================================================= // Exceptions diff --git a/src/hotspot/cpu/ppc/vm_version_ppc.hpp b/src/hotspot/cpu/ppc/vm_version_ppc.hpp index 9d8e4b88ee2e5..25dd07c966859 100644 --- a/src/hotspot/cpu/ppc/vm_version_ppc.hpp +++ b/src/hotspot/cpu/ppc/vm_version_ppc.hpp @@ -97,6 +97,8 @@ class VM_Version: public Abstract_VM_Version { constexpr static bool supports_recursive_lightweight_locking() { return true; } constexpr static bool supports_secondary_supers_table() { return true; } + static bool supports_float16() { return PowerArchitecturePPC64 >= 9; } + static bool is_determine_features_test_running() { return _is_determine_features_test_running; } // CPU instruction support static bool has_fsqrt() { return (_features & fsqrt_m) != 0; } diff --git a/src/hotspot/cpu/riscv/macroAssembler_riscv.cpp b/src/hotspot/cpu/riscv/macroAssembler_riscv.cpp index 44b806834f987..07c5a940a5091 100644 --- a/src/hotspot/cpu/riscv/macroAssembler_riscv.cpp +++ b/src/hotspot/cpu/riscv/macroAssembler_riscv.cpp @@ -785,7 +785,7 @@ void MacroAssembler::emit_static_call_stub() { // Jump to the entry point of the c2i stub. int32_t offset = 0; - movptr(t1, 0, offset, t0); // lui + lui + slli + add + movptr2(t1, 0, offset, t0); // lui + lui + slli + add jr(t1, offset); } diff --git a/src/hotspot/os/aix/os_aix.cpp b/src/hotspot/os/aix/os_aix.cpp index 44b9571e1024c..26627c2f8fb3b 100644 --- a/src/hotspot/os/aix/os_aix.cpp +++ b/src/hotspot/os/aix/os_aix.cpp @@ -856,9 +856,9 @@ void os::pd_start_thread(Thread* thread) { void os::free_thread(OSThread* osthread) { assert(osthread != nullptr, "osthread not set"); - // We are told to free resources of the argument thread, - // but we can only really operate on the current thread. - assert(Thread::current()->osthread() == osthread, + // We are told to free resources of the argument thread, but we can only really operate + // on the current thread. The current thread may be already detached at this point. + assert(Thread::current_or_null() == nullptr || Thread::current()->osthread() == osthread, "os::free_thread but not current thread"); // Restore caller's signal mask diff --git a/src/hotspot/os/bsd/gc/z/zPhysicalMemoryBacking_bsd.cpp b/src/hotspot/os/bsd/gc/z/zPhysicalMemoryBacking_bsd.cpp index 2e56c092a79b5..16835c8303931 100644 --- a/src/hotspot/os/bsd/gc/z/zPhysicalMemoryBacking_bsd.cpp +++ b/src/hotspot/os/bsd/gc/z/zPhysicalMemoryBacking_bsd.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 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 @@ -79,7 +79,7 @@ ZPhysicalMemoryBacking::ZPhysicalMemoryBacking(size_t max_capacity) _initialized(false) { // Reserve address space for backing memory - _base = (uintptr_t)os::reserve_memory(max_capacity); + _base = (uintptr_t)os::reserve_memory(max_capacity, false, mtJavaHeap); if (_base == 0) { // Failed ZInitialize::error("Failed to reserve address space for backing memory"); diff --git a/src/hotspot/os/bsd/os_bsd.cpp b/src/hotspot/os/bsd/os_bsd.cpp index 8185797563c7d..5db846275d4b4 100644 --- a/src/hotspot/os/bsd/os_bsd.cpp +++ b/src/hotspot/os/bsd/os_bsd.cpp @@ -763,9 +763,9 @@ void os::pd_start_thread(Thread* thread) { void os::free_thread(OSThread* osthread) { assert(osthread != nullptr, "osthread not set"); - // We are told to free resources of the argument thread, - // but we can only really operate on the current thread. - assert(Thread::current()->osthread() == osthread, + // We are told to free resources of the argument thread, but we can only really operate + // on the current thread. The current thread may be already detached at this point. + assert(Thread::current_or_null() == nullptr || Thread::current()->osthread() == osthread, "os::free_thread but not current thread"); // Restore caller's signal mask diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp index d85120f3f1dc3..ed832f37bdf40 100644 --- a/src/hotspot/os/linux/os_linux.cpp +++ b/src/hotspot/os/linux/os_linux.cpp @@ -1190,9 +1190,9 @@ void os::pd_start_thread(Thread* thread) { void os::free_thread(OSThread* osthread) { assert(osthread != nullptr, "osthread not set"); - // We are told to free resources of the argument thread, - // but we can only really operate on the current thread. - assert(Thread::current()->osthread() == osthread, + // We are told to free resources of the argument thread, but we can only really operate + // on the current thread. The current thread may be already detached at this point. + assert(Thread::current_or_null() == nullptr || Thread::current()->osthread() == osthread, "os::free_thread but not current thread"); #ifdef ASSERT @@ -4582,7 +4582,7 @@ static void workaround_expand_exec_shield_cs_limit() { */ char* hint = (char*)(os::Linux::initial_thread_stack_bottom() - (StackOverflow::stack_guard_zone_size() + page_size)); - char* codebuf = os::attempt_reserve_memory_at(hint, page_size); + char* codebuf = os::attempt_reserve_memory_at(hint, page_size, false, mtThread); if (codebuf == nullptr) { // JDK-8197429: There may be a stack gap of one megabyte between @@ -4590,15 +4590,13 @@ static void workaround_expand_exec_shield_cs_limit() { // Linux kernel workaround for CVE-2017-1000364. If we failed to // map our codebuf, try again at an address one megabyte lower. hint -= 1 * M; - codebuf = os::attempt_reserve_memory_at(hint, page_size); + codebuf = os::attempt_reserve_memory_at(hint, page_size, false, mtThread); } if ((codebuf == nullptr) || (!os::commit_memory(codebuf, page_size, true))) { return; // No matter, we tried, best effort. } - MemTracker::record_virtual_memory_tag((address)codebuf, mtInternal); - log_info(os)("[CS limit NX emulation work-around, exec code at: %p]", codebuf); // Some code to exec: the 'ret' instruction diff --git a/src/hotspot/os/windows/os_windows.cpp b/src/hotspot/os/windows/os_windows.cpp index 849fc0c29f051..afd8fe01752b0 100644 --- a/src/hotspot/os/windows/os_windows.cpp +++ b/src/hotspot/os/windows/os_windows.cpp @@ -788,9 +788,9 @@ bool os::create_thread(Thread* thread, ThreadType thr_type, void os::free_thread(OSThread* osthread) { assert(osthread != nullptr, "osthread not set"); - // We are told to free resources of the argument thread, - // but we can only really operate on the current thread. - assert(Thread::current()->osthread() == osthread, + // We are told to free resources of the argument thread, but we can only really operate + // on the current thread. The current thread may be already detached at this point. + assert(Thread::current_or_null() == nullptr || Thread::current()->osthread() == osthread, "os::free_thread but not current thread"); CloseHandle(osthread->thread_handle()); diff --git a/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp b/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp index 7702dbd17ad69..1e3602d08f428 100644 --- a/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp +++ b/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp @@ -501,6 +501,7 @@ static inline void atomic_copy64(const volatile void *src, volatile void *dst) { } extern "C" { + // needs local assembler label '1:' to avoid trouble when using linktime optimization int SpinPause() { // We don't use StubRoutines::aarch64::spin_wait stub in order to // avoid a costly call to os::current_thread_enable_wx() on MacOS. @@ -523,14 +524,14 @@ extern "C" { // to entry for case SpinWait::NOP " add %[d], %[d], %[o] \n" " br %[d] \n" - " b SpinPause_return \n" // case SpinWait::NONE (-1) + " b 1f \n" // case SpinWait::NONE (-1) " nop \n" // padding " nop \n" // case SpinWait::NOP ( 0) - " b SpinPause_return \n" + " b 1f \n" " isb \n" // case SpinWait::ISB ( 1) - " b SpinPause_return \n" + " b 1f \n" " yield \n" // case SpinWait::YIELD ( 2) - "SpinPause_return: \n" + "1: \n" : [d]"=&r"(br_dst) : [o]"r"(off) : "memory"); diff --git a/src/hotspot/share/cds/archiveUtils.cpp b/src/hotspot/share/cds/archiveUtils.cpp index 4d717879e0f65..3530fcff2b3f9 100644 --- a/src/hotspot/share/cds/archiveUtils.cpp +++ b/src/hotspot/share/cds/archiveUtils.cpp @@ -45,6 +45,7 @@ #include "utilities/debug.hpp" #include "utilities/formatBuffer.hpp" #include "utilities/globalDefinitions.hpp" +#include "utilities/spinYield.hpp" CHeapBitMap* ArchivePtrMarker::_ptrmap = nullptr; CHeapBitMap* ArchivePtrMarker::_rw_ptrmap = nullptr; @@ -399,3 +400,162 @@ size_t HeapRootSegments::segment_offset(size_t seg_idx) { return _base_offset + seg_idx * _max_size_in_bytes; } +ArchiveWorkers::ArchiveWorkers() : + _end_semaphore(0), + _num_workers(max_workers()), + _started_workers(0), + _finish_tokens(0), + _state(UNUSED), + _task(nullptr) {} + +ArchiveWorkers::~ArchiveWorkers() { + assert(Atomic::load(&_state) != WORKING, "Should not be working"); +} + +int ArchiveWorkers::max_workers() { + // The pool is used for short-lived bursty tasks. We do not want to spend + // too much time creating and waking up threads unnecessarily. Plus, we do + // not want to overwhelm large machines. This is why we want to be very + // conservative about the number of workers actually needed. + return MAX2(0, log2i_graceful(os::active_processor_count())); +} + +bool ArchiveWorkers::is_parallel() { + return _num_workers > 0; +} + +void ArchiveWorkers::start_worker_if_needed() { + while (true) { + int cur = Atomic::load(&_started_workers); + if (cur >= _num_workers) { + return; + } + if (Atomic::cmpxchg(&_started_workers, cur, cur + 1, memory_order_relaxed) == cur) { + new ArchiveWorkerThread(this); + return; + } + } +} + +void ArchiveWorkers::run_task(ArchiveWorkerTask* task) { + assert(Atomic::load(&_state) == UNUSED, "Should be unused yet"); + assert(Atomic::load(&_task) == nullptr, "Should not have running tasks"); + Atomic::store(&_state, WORKING); + + if (is_parallel()) { + run_task_multi(task); + } else { + run_task_single(task); + } + + assert(Atomic::load(&_state) == WORKING, "Should be working"); + Atomic::store(&_state, SHUTDOWN); +} + +void ArchiveWorkers::run_task_single(ArchiveWorkerTask* task) { + // Single thread needs no chunking. + task->configure_max_chunks(1); + + // Execute the task ourselves, as there are no workers. + task->work(0, 1); +} + +void ArchiveWorkers::run_task_multi(ArchiveWorkerTask* task) { + // Multiple threads can work with multiple chunks. + task->configure_max_chunks(_num_workers * CHUNKS_PER_WORKER); + + // Set up the run and publish the task. Issue one additional finish token + // to cover the semaphore shutdown path, see below. + Atomic::store(&_finish_tokens, _num_workers + 1); + Atomic::release_store(&_task, task); + + // Kick off pool startup by starting a single worker, and proceed + // immediately to executing the task locally. + start_worker_if_needed(); + + // Execute the task ourselves, while workers are catching up. + // This allows us to hide parts of task handoff latency. + task->run(); + + // Done executing task locally, wait for any remaining workers to complete. + // Once all workers report, we can proceed to termination. To do this safely, + // we need to make sure every worker has left. A spin-wait alone would suffice, + // but we do not want to burn cycles on it. A semaphore alone would not be safe, + // since workers can still be inside it as we proceed from wait here. So we block + // on semaphore first, and then spin-wait for all workers to terminate. + _end_semaphore.wait(); + SpinYield spin; + while (Atomic::load(&_finish_tokens) != 0) { + spin.wait(); + } + + OrderAccess::fence(); + + assert(Atomic::load(&_finish_tokens) == 0, "All tokens are consumed"); +} + +void ArchiveWorkers::run_as_worker() { + assert(is_parallel(), "Should be in parallel mode"); + + ArchiveWorkerTask* task = Atomic::load_acquire(&_task); + task->run(); + + // All work done in threads should be visible to caller. + OrderAccess::fence(); + + // Signal the pool the work is complete, and we are exiting. + // Worker cannot do anything else with the pool after this. + if (Atomic::sub(&_finish_tokens, 1, memory_order_relaxed) == 1) { + // Last worker leaving. Notify the pool it can unblock to spin-wait. + // Then consume the last token and leave. + _end_semaphore.signal(); + int last = Atomic::sub(&_finish_tokens, 1, memory_order_relaxed); + assert(last == 0, "Should be"); + } +} + +void ArchiveWorkerTask::run() { + while (true) { + int chunk = Atomic::load(&_chunk); + if (chunk >= _max_chunks) { + return; + } + if (Atomic::cmpxchg(&_chunk, chunk, chunk + 1, memory_order_relaxed) == chunk) { + assert(0 <= chunk && chunk < _max_chunks, "Sanity"); + work(chunk, _max_chunks); + } + } +} + +void ArchiveWorkerTask::configure_max_chunks(int max_chunks) { + if (_max_chunks == 0) { + _max_chunks = max_chunks; + } +} + +ArchiveWorkerThread::ArchiveWorkerThread(ArchiveWorkers* pool) : NamedThread(), _pool(pool) { + set_name("ArchiveWorkerThread"); + if (os::create_thread(this, os::os_thread)) { + os::start_thread(this); + } else { + vm_exit_during_initialization("Unable to create archive worker", + os::native_thread_creation_failed_msg()); + } +} + +void ArchiveWorkerThread::run() { + // Avalanche startup: each worker starts two others. + _pool->start_worker_if_needed(); + _pool->start_worker_if_needed(); + + // Set ourselves up. + os::set_priority(this, NearMaxPriority); + + // Work. + _pool->run_as_worker(); +} + +void ArchiveWorkerThread::post_run() { + this->NamedThread::post_run(); + delete this; +} diff --git a/src/hotspot/share/cds/archiveUtils.hpp b/src/hotspot/share/cds/archiveUtils.hpp index 723332c40e569..a10117e9f9aff 100644 --- a/src/hotspot/share/cds/archiveUtils.hpp +++ b/src/hotspot/share/cds/archiveUtils.hpp @@ -33,6 +33,8 @@ #include "utilities/bitMap.hpp" #include "utilities/exceptions.hpp" #include "utilities/macros.hpp" +#include "runtime/nonJavaThread.hpp" +#include "runtime/semaphore.hpp" class BootstrapInfo; class ReservedSpace; @@ -344,4 +346,74 @@ class HeapRootSegments { HeapRootSegments& operator=(const HeapRootSegments&) = default; }; +class ArchiveWorkers; + +// A task to be worked on by worker threads +class ArchiveWorkerTask : public CHeapObj { + friend class ArchiveWorkers; +private: + const char* _name; + int _max_chunks; + volatile int _chunk; + + void run(); + + void configure_max_chunks(int max_chunks); + +public: + ArchiveWorkerTask(const char* name) : + _name(name), _max_chunks(0), _chunk(0) {} + const char* name() const { return _name; } + virtual void work(int chunk, int max_chunks) = 0; +}; + +class ArchiveWorkerThread : public NamedThread { + friend class ArchiveWorkers; +private: + ArchiveWorkers* const _pool; + + void post_run() override; + +public: + ArchiveWorkerThread(ArchiveWorkers* pool); + const char* type_name() const override { return "Archive Worker Thread"; } + void run() override; +}; + +// Special archive workers. The goal for this implementation is to startup fast, +// distribute spiky workloads efficiently, and shutdown immediately after use. +// This makes the implementation quite different from the normal GC worker pool. +class ArchiveWorkers : public StackObj { + friend class ArchiveWorkerThread; +private: + // Target number of chunks per worker. This should be large enough to even + // out work imbalance, and small enough to keep bookkeeping overheads low. + static constexpr int CHUNKS_PER_WORKER = 4; + static int max_workers(); + + Semaphore _end_semaphore; + + int _num_workers; + int _started_workers; + int _finish_tokens; + + typedef enum { UNUSED, WORKING, SHUTDOWN } State; + volatile State _state; + + ArchiveWorkerTask* _task; + + void run_as_worker(); + void start_worker_if_needed(); + + void run_task_single(ArchiveWorkerTask* task); + void run_task_multi(ArchiveWorkerTask* task); + + bool is_parallel(); + +public: + ArchiveWorkers(); + ~ArchiveWorkers(); + void run_task(ArchiveWorkerTask* task); +}; + #endif // SHARE_CDS_ARCHIVEUTILS_HPP diff --git a/src/hotspot/share/cds/cds_globals.hpp b/src/hotspot/share/cds/cds_globals.hpp index 38f5d8f46a62b..811740cfbcbc0 100644 --- a/src/hotspot/share/cds/cds_globals.hpp +++ b/src/hotspot/share/cds/cds_globals.hpp @@ -117,7 +117,10 @@ product(bool, AOTClassLinking, false, \ "Load/link all archived classes for the boot/platform/app " \ "loaders before application main") \ - + \ + product(bool, AOTCacheParallelRelocation, true, DIAGNOSTIC, \ + "Use parallel relocation code to speed up startup.") \ + \ // end of CDS_FLAGS DECLARE_FLAGS(CDS_FLAGS) diff --git a/src/hotspot/share/cds/filemap.cpp b/src/hotspot/share/cds/filemap.cpp index 91a2a57dee51b..594d8817322fd 100644 --- a/src/hotspot/share/cds/filemap.cpp +++ b/src/hotspot/share/cds/filemap.cpp @@ -1975,6 +1975,32 @@ char* FileMapInfo::map_bitmap_region() { return bitmap_base; } +class SharedDataRelocationTask : public ArchiveWorkerTask { +private: + BitMapView* const _rw_bm; + BitMapView* const _ro_bm; + SharedDataRelocator* const _rw_reloc; + SharedDataRelocator* const _ro_reloc; + +public: + SharedDataRelocationTask(BitMapView* rw_bm, BitMapView* ro_bm, SharedDataRelocator* rw_reloc, SharedDataRelocator* ro_reloc) : + ArchiveWorkerTask("Shared Data Relocation"), + _rw_bm(rw_bm), _ro_bm(ro_bm), _rw_reloc(rw_reloc), _ro_reloc(ro_reloc) {} + + void work(int chunk, int max_chunks) override { + work_on(chunk, max_chunks, _rw_bm, _rw_reloc); + work_on(chunk, max_chunks, _ro_bm, _ro_reloc); + } + + void work_on(int chunk, int max_chunks, BitMapView* bm, SharedDataRelocator* reloc) { + BitMap::idx_t size = bm->size(); + BitMap::idx_t start = MIN2(size, size * chunk / max_chunks); + BitMap::idx_t end = MIN2(size, size * (chunk + 1) / max_chunks); + assert(end > start, "Sanity: no empty slices"); + bm->iterate(reloc, start, end); + } +}; + // This is called when we cannot map the archive at the requested[ base address (usually 0x800000000). // We relocate all pointers in the 2 core regions (ro, rw). bool FileMapInfo::relocate_pointers_in_core_regions(intx addr_delta) { @@ -2013,8 +2039,15 @@ bool FileMapInfo::relocate_pointers_in_core_regions(intx addr_delta) { valid_new_base, valid_new_end, addr_delta); SharedDataRelocator ro_patcher((address*)ro_patch_base + header()->ro_ptrmap_start_pos(), (address*)ro_patch_end, valid_old_base, valid_old_end, valid_new_base, valid_new_end, addr_delta); - rw_ptrmap.iterate(&rw_patcher); - ro_ptrmap.iterate(&ro_patcher); + + if (AOTCacheParallelRelocation) { + ArchiveWorkers workers; + SharedDataRelocationTask task(&rw_ptrmap, &ro_ptrmap, &rw_patcher, &ro_patcher); + workers.run_task(&task); + } else { + rw_ptrmap.iterate(&rw_patcher); + ro_ptrmap.iterate(&ro_patcher); + } // The MetaspaceShared::bm region will be unmapped in MetaspaceShared::initialize_shared_spaces(). @@ -2698,8 +2731,8 @@ ClassFileStream* FileMapInfo::get_stream_from_class_loader(Handle class_loader, const char* file_name, TRAPS) { JavaValue result(T_OBJECT); - TempNewSymbol class_name_sym = SymbolTable::new_symbol(file_name); - Handle ext_class_name = java_lang_String::externalize_classname(class_name_sym, CHECK_NULL); + oop class_name = java_lang_String::create_oop_from_str(file_name, THREAD); + Handle h_class_name = Handle(THREAD, class_name); // byte[] ClassLoader.getResourceAsByteArray(String name) JavaCalls::call_virtual(&result, @@ -2707,7 +2740,7 @@ ClassFileStream* FileMapInfo::get_stream_from_class_loader(Handle class_loader, vmClasses::ClassLoader_klass(), vmSymbols::getResourceAsByteArray_name(), vmSymbols::getResourceAsByteArray_signature(), - ext_class_name, + h_class_name, CHECK_NULL); assert(result.get_type() == T_OBJECT, "just checking"); oop obj = result.get_oop(); diff --git a/src/hotspot/share/cds/metaspaceShared.cpp b/src/hotspot/share/cds/metaspaceShared.cpp index ba17ccddb5219..f21b9c9060d50 100644 --- a/src/hotspot/share/cds/metaspaceShared.cpp +++ b/src/hotspot/share/cds/metaspaceShared.cpp @@ -281,7 +281,7 @@ void MetaspaceShared::initialize_for_static_dump() { SharedBaseAddress = (size_t)_requested_base_address; size_t symbol_rs_size = LP64_ONLY(3 * G) NOT_LP64(128 * M); - _symbol_rs = ReservedSpace(symbol_rs_size); + _symbol_rs = ReservedSpace(symbol_rs_size, mtClassShared); if (!_symbol_rs.is_reserved()) { log_error(cds)("Unable to reserve memory for symbols: " SIZE_FORMAT " bytes.", symbol_rs_size); MetaspaceShared::unrecoverable_writing_error(); diff --git a/src/hotspot/share/cds/runTimeClassInfo.cpp b/src/hotspot/share/cds/runTimeClassInfo.cpp index 0acd89b5bce62..e2d41cd1de261 100644 --- a/src/hotspot/share/cds/runTimeClassInfo.cpp +++ b/src/hotspot/share/cds/runTimeClassInfo.cpp @@ -76,10 +76,13 @@ void RunTimeClassInfo::init(DumpTimeClassInfo& info) { } InstanceKlass* RunTimeClassInfo::klass() const { - if (ArchiveBuilder::is_active() && ArchiveBuilder::current()->is_in_buffer_space((address)this)) { - return ArchiveBuilder::current()->offset_to_buffered(_klass_offset); - } else { + if (MetaspaceShared::is_in_shared_metaspace(this)) { + // is inside a mmaped CDS archive. return ArchiveUtils::offset_to_archived_address(_klass_offset); + } else { + // is a temporary copy of a RunTimeClassInfo that's being initialized + // by the ArchiveBuilder. + return ArchiveBuilder::current()->offset_to_buffered(_klass_offset); } } diff --git a/src/hotspot/share/classfile/classFileParser.cpp b/src/hotspot/share/classfile/classFileParser.cpp index f0586cd7bcc32..a26831cd78328 100644 --- a/src/hotspot/share/classfile/classFileParser.cpp +++ b/src/hotspot/share/classfile/classFileParser.cpp @@ -153,6 +153,8 @@ #define JAVA_24_VERSION 68 +#define JAVA_25_VERSION 69 + void ClassFileParser::set_class_bad_constant_seen(short bad_constant) { assert((bad_constant == JVM_CONSTANT_Module || bad_constant == JVM_CONSTANT_Package) && _major_version >= JAVA_9_VERSION, diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp index daf7eb5371baf..188ce354dd552 100644 --- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp @@ -86,6 +86,7 @@ #include "gc/shared/isGCActiveMark.hpp" #include "gc/shared/locationPrinter.inline.hpp" #include "gc/shared/oopStorageParState.hpp" +#include "gc/shared/partialArrayState.hpp" #include "gc/shared/referenceProcessor.inline.hpp" #include "gc/shared/suspendibleThreadSet.hpp" #include "gc/shared/taskqueue.inline.hpp" @@ -1165,6 +1166,7 @@ G1CollectedHeap::G1CollectedHeap() : _cm_thread(nullptr), _cr(nullptr), _task_queues(nullptr), + _partial_array_state_manager(nullptr), _ref_processor_stw(nullptr), _is_alive_closure_stw(this), _is_subject_to_discovery_stw(this), @@ -1198,9 +1200,13 @@ G1CollectedHeap::G1CollectedHeap() : _task_queues->register_queue(i, q); } + _partial_array_state_manager = new PartialArrayStateManager(n_queues); + _gc_tracer_stw->initialize(); +} - guarantee(_task_queues != nullptr, "task_queues allocation failure."); +PartialArrayStateManager* G1CollectedHeap::partial_array_state_manager() const { + return _partial_array_state_manager; } G1RegionToSpaceMapper* G1CollectedHeap::create_aux_memory_mapper(const char* description, diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp index 0f8bf9ffd2b4f..1b840392769cd 100644 --- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp @@ -82,6 +82,7 @@ class GCMemoryManager; class G1HeapRegion; class MemoryPool; class nmethod; +class PartialArrayStateManager; class ReferenceProcessor; class STWGCTimer; class WorkerThreads; @@ -807,8 +808,9 @@ class G1CollectedHeap : public CollectedHeap { // The concurrent refiner. G1ConcurrentRefine* _cr; - // The parallel task queues - G1ScannerTasksQueueSet *_task_queues; + // Reusable parallel task queues and partial array manager. + G1ScannerTasksQueueSet* _task_queues; + PartialArrayStateManager* _partial_array_state_manager; // ("Weak") Reference processing support. // @@ -874,6 +876,8 @@ class G1CollectedHeap : public CollectedHeap { G1ScannerTasksQueueSet* task_queues() const; G1ScannerTasksQueue* task_queue(uint i) const; + PartialArrayStateManager* partial_array_state_manager() const; + // Create a G1CollectedHeap. // Must call the initialize method afterwards. // May not return if something goes wrong. diff --git a/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp b/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp index 9e48a16018e30..4ec708ae09392 100644 --- a/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp +++ b/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp @@ -105,6 +105,7 @@ G1GCPhaseTimes::G1GCPhaseTimes(STWGCTimer* gc_timer, uint max_gc_threads) : _gc_par_phases[UpdateDerivedPointers] = new WorkerDataArray("UpdateDerivedPointers", "Update Derived Pointers (ms):", max_gc_threads); #endif _gc_par_phases[EagerlyReclaimHumongousObjects] = new WorkerDataArray("EagerlyReclaimHumongousObjects", "Eagerly Reclaim Humongous Objects (ms):", max_gc_threads); + _gc_par_phases[ResetPartialArrayStateManager] = new WorkerDataArray("ResetPartialArrayStateManager", "Reset Partial Array State Manager (ms):", max_gc_threads); _gc_par_phases[ProcessEvacuationFailedRegions] = new WorkerDataArray("ProcessEvacuationFailedRegions", "Process Evacuation Failed Regions (ms):", max_gc_threads); _gc_par_phases[ScanHR]->create_thread_work_items("Scanned Cards:", ScanHRScannedCards); @@ -517,6 +518,7 @@ double G1GCPhaseTimes::print_post_evacuate_collection_set(bool evacuation_failed debug_phase(_gc_par_phases[UpdateDerivedPointers], 1); #endif debug_phase(_gc_par_phases[EagerlyReclaimHumongousObjects], 1); + trace_phase(_gc_par_phases[ResetPartialArrayStateManager]); if (G1CollectedHeap::heap()->should_sample_collection_set_candidates()) { debug_phase(_gc_par_phases[SampleCollectionSetCandidates], 1); diff --git a/src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp b/src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp index a54ef431abd2b..f3bc0efafb929 100644 --- a/src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp +++ b/src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp @@ -87,6 +87,7 @@ class G1GCPhaseTimes : public CHeapObj { UpdateDerivedPointers, #endif EagerlyReclaimHumongousObjects, + ResetPartialArrayStateManager, ProcessEvacuationFailedRegions, ResetMarkingState, NoteStartOfMark, diff --git a/src/hotspot/share/gc/g1/g1ParScanThreadState.cpp b/src/hotspot/share/gc/g1/g1ParScanThreadState.cpp index ad924b2fad49f..f3b7e87bc784b 100644 --- a/src/hotspot/share/gc/g1/g1ParScanThreadState.cpp +++ b/src/hotspot/share/gc/g1/g1ParScanThreadState.cpp @@ -61,8 +61,7 @@ G1ParScanThreadState::G1ParScanThreadState(G1CollectedHeap* g1h, uint worker_id, uint num_workers, G1CollectionSet* collection_set, - G1EvacFailureRegions* evac_failure_regions, - PartialArrayStateAllocator* pas_allocator) + G1EvacFailureRegions* evac_failure_regions) : _g1h(g1h), _task_queue(g1h->task_queue(worker_id)), _rdc_local_qset(rdcqs), @@ -81,7 +80,7 @@ G1ParScanThreadState::G1ParScanThreadState(G1CollectedHeap* g1h, _surviving_young_words(nullptr), _surviving_words_length(collection_set->young_region_length() + 1), _old_gen_is_full(false), - _partial_array_state_allocator(pas_allocator), + _partial_array_state_allocator(g1h->partial_array_state_manager()), _partial_array_stepper(num_workers, ParGCArrayScanChunk), _string_dedup_requests(), _max_num_optional_regions(collection_set->optional_region_length()), @@ -254,7 +253,7 @@ void G1ParScanThreadState::do_partial_array(PartialArrayState* state) { checked_cast(step._index), checked_cast(step._index + _partial_array_stepper.chunk_size())); // Release reference to the state, now that we're done with it. - _partial_array_state_allocator->release(_worker_id, state); + _partial_array_state_allocator.release(state); } MAYBE_INLINE_EVACUATION @@ -277,11 +276,10 @@ void G1ParScanThreadState::start_partial_objarray(G1HeapRegionAttr dest_attr, assert(((array_length - step._index) % _partial_array_stepper.chunk_size()) == 0, "invariant"); PartialArrayState* state = - _partial_array_state_allocator->allocate(_worker_id, - from_obj, to_obj, - step._index, - array_length, - step._ncreate); + _partial_array_state_allocator.allocate(from_obj, to_obj, + step._index, + array_length, + step._ncreate); for (uint i = 0; i < step._ncreate; ++i) { push_on_queue(ScannerTask(state)); } @@ -601,8 +599,7 @@ G1ParScanThreadState* G1ParScanThreadStateSet::state_for_worker(uint worker_id) worker_id, _num_workers, _collection_set, - _evac_failure_regions, - &_partial_array_state_allocator); + _evac_failure_regions); } return _states[worker_id]; } @@ -732,8 +729,7 @@ G1ParScanThreadStateSet::G1ParScanThreadStateSet(G1CollectedHeap* g1h, _surviving_young_words_total(NEW_C_HEAP_ARRAY(size_t, collection_set->young_region_length() + 1, mtGC)), _num_workers(num_workers), _flushed(false), - _evac_failure_regions(evac_failure_regions), - _partial_array_state_allocator(num_workers) + _evac_failure_regions(evac_failure_regions) { for (uint i = 0; i < num_workers; ++i) { _states[i] = nullptr; diff --git a/src/hotspot/share/gc/g1/g1ParScanThreadState.hpp b/src/hotspot/share/gc/g1/g1ParScanThreadState.hpp index f61f993f0280f..27aa29ee30c98 100644 --- a/src/hotspot/share/gc/g1/g1ParScanThreadState.hpp +++ b/src/hotspot/share/gc/g1/g1ParScanThreadState.hpp @@ -84,7 +84,7 @@ class G1ParScanThreadState : public CHeapObj { // Indicates whether in the last generation (old) there is no more space // available for allocation. bool _old_gen_is_full; - PartialArrayStateAllocator* _partial_array_state_allocator; + PartialArrayStateAllocator _partial_array_state_allocator; PartialArrayTaskStepper _partial_array_stepper; StringDedup::Requests _string_dedup_requests; @@ -124,8 +124,7 @@ class G1ParScanThreadState : public CHeapObj { uint worker_id, uint num_workers, G1CollectionSet* collection_set, - G1EvacFailureRegions* evac_failure_regions, - PartialArrayStateAllocator* partial_array_state_allocator); + G1EvacFailureRegions* evac_failure_regions); virtual ~G1ParScanThreadState(); void set_ref_discoverer(ReferenceDiscoverer* rd) { _scanner.set_ref_discoverer(rd); } @@ -247,7 +246,6 @@ class G1ParScanThreadStateSet : public StackObj { uint _num_workers; bool _flushed; G1EvacFailureRegions* _evac_failure_regions; - PartialArrayStateAllocator _partial_array_state_allocator; public: G1ParScanThreadStateSet(G1CollectedHeap* g1h, diff --git a/src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp b/src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp index 1d76a44f8f887..c72dcc9661821 100644 --- a/src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp +++ b/src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp @@ -42,6 +42,7 @@ #include "gc/g1/g1RemSet.hpp" #include "gc/g1/g1YoungGCPostEvacuateTasks.hpp" #include "gc/shared/bufferNode.hpp" +#include "gc/shared/partialArrayState.hpp" #include "jfr/jfrEvents.hpp" #include "oops/access.inline.hpp" #include "oops/compressedOops.inline.hpp" @@ -944,6 +945,25 @@ class G1PostEvacuateCollectionSetCleanupTask2::ResizeTLABsTask : public G1Abstra } }; +class G1PostEvacuateCollectionSetCleanupTask2::ResetPartialArrayStateManagerTask + : public G1AbstractSubTask +{ +public: + ResetPartialArrayStateManagerTask() + : G1AbstractSubTask(G1GCPhaseTimes::ResetPartialArrayStateManager) + {} + + double worker_cost() const override { + return AlmostNoWork; + } + + void do_work(uint worker_id) override { + // This must be in phase2 cleanup, after phase1 has destroyed all of the + // associated allocators. + G1CollectedHeap::heap()->partial_array_state_manager()->reset(); + } +}; + G1PostEvacuateCollectionSetCleanupTask2::G1PostEvacuateCollectionSetCleanupTask2(G1ParScanThreadStateSet* per_thread_states, G1EvacInfo* evacuation_info, G1EvacFailureRegions* evac_failure_regions) : @@ -955,6 +975,7 @@ G1PostEvacuateCollectionSetCleanupTask2::G1PostEvacuateCollectionSetCleanupTask2 if (G1CollectedHeap::heap()->has_humongous_reclaim_candidates()) { add_serial_task(new EagerlyReclaimHumongousObjectsTask()); } + add_serial_task(new ResetPartialArrayStateManagerTask()); if (evac_failure_regions->has_regions_evac_failed()) { add_parallel_task(new ProcessEvacuationFailedRegionsTask(evac_failure_regions)); diff --git a/src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.hpp b/src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.hpp index 96eeaf27de19c..ad850af2eaceb 100644 --- a/src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.hpp +++ b/src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.hpp @@ -58,6 +58,7 @@ class G1PostEvacuateCollectionSetCleanupTask1 : public G1BatchedTask { // - Redirty Logged Cards // - Free Collection Set // - Resize TLABs +// - Reset the reusable PartialArrayStateManager. class G1PostEvacuateCollectionSetCleanupTask2 : public G1BatchedTask { class EagerlyReclaimHumongousObjectsTask; #if COMPILER2_OR_JVMCI @@ -68,6 +69,7 @@ class G1PostEvacuateCollectionSetCleanupTask2 : public G1BatchedTask { class RedirtyLoggedCardsTask; class FreeCollectionSetTask; class ResizeTLABsTask; + class ResetPartialArrayStateManagerTask; public: G1PostEvacuateCollectionSetCleanupTask2(G1ParScanThreadStateSet* per_thread_states, diff --git a/src/hotspot/share/gc/parallel/objectStartArray.cpp b/src/hotspot/share/gc/parallel/objectStartArray.cpp index ef9de7abfd771..2a0f12ec70e72 100644 --- a/src/hotspot/share/gc/parallel/objectStartArray.cpp +++ b/src/hotspot/share/gc/parallel/objectStartArray.cpp @@ -47,11 +47,10 @@ void ObjectStartArray::initialize(MemRegion reserved_region) { // Do not use large-pages for the backing store. The one large page region // will be used for the heap proper. - ReservedSpace backing_store(bytes_to_reserve); + ReservedSpace backing_store(bytes_to_reserve, mtGC); if (!backing_store.is_reserved()) { vm_exit_during_initialization("Could not reserve space for ObjectStartArray"); } - MemTracker::record_virtual_memory_tag(backing_store.base(), mtGC); // We do not commit any memory initially _virtual_space.initialize(backing_store); diff --git a/src/hotspot/share/gc/parallel/psPromotionManager.cpp b/src/hotspot/share/gc/parallel/psPromotionManager.cpp index c740b1488d7b7..525285471c7d9 100644 --- a/src/hotspot/share/gc/parallel/psPromotionManager.cpp +++ b/src/hotspot/share/gc/parallel/psPromotionManager.cpp @@ -51,7 +51,7 @@ PSPromotionManager::PSScannerTasksQueueSet* PSPromotionManager::_stack_array_dep PreservedMarksSet* PSPromotionManager::_preserved_marks_set = nullptr; PSOldGen* PSPromotionManager::_old_gen = nullptr; MutableSpace* PSPromotionManager::_young_space = nullptr; -PartialArrayStateAllocator* PSPromotionManager::_partial_array_state_allocator = nullptr; +PartialArrayStateManager* PSPromotionManager::_partial_array_state_manager = nullptr; void PSPromotionManager::initialize() { ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); @@ -61,21 +61,20 @@ void PSPromotionManager::initialize() { const uint promotion_manager_num = ParallelGCThreads; + assert(_partial_array_state_manager == nullptr, "Attempt to initialize twice"); + _partial_array_state_manager + = new PartialArrayStateManager(promotion_manager_num); + // To prevent false sharing, we pad the PSPromotionManagers // and make sure that the first instance starts at a cache line. assert(_manager_array == nullptr, "Attempt to initialize twice"); _manager_array = PaddedArray::create_unfreeable(promotion_manager_num); - assert(_partial_array_state_allocator == nullptr, "Attempt to initialize twice"); - _partial_array_state_allocator - = new PartialArrayStateAllocator(ParallelGCThreads); - - _stack_array_depth = new PSScannerTasksQueueSet(ParallelGCThreads); + _stack_array_depth = new PSScannerTasksQueueSet(promotion_manager_num); // Create and register the PSPromotionManager(s) for the worker threads. for(uint i=0; iregister_queue(i, _manager_array[i].claimed_stack_depth()); - _manager_array[i]._partial_array_state_allocator_index = i; } // The VMThread gets its own PSPromotionManager, which is not available // for work stealing. @@ -187,7 +186,8 @@ void PSPromotionManager::reset_stats() { // Most members are initialized either by initialize() or reset(). PSPromotionManager::PSPromotionManager() - : _partial_array_stepper(ParallelGCThreads, ParGCArrayScanChunk) + : _partial_array_state_allocator(_partial_array_state_manager), + _partial_array_stepper(ParallelGCThreads, ParGCArrayScanChunk) { // We set the old lab's start array. _old_lab.set_start_array(old_gen()->start_array()); @@ -198,9 +198,6 @@ PSPromotionManager::PSPromotionManager() _target_stack_size = GCDrainStackTargetSize; } - // Initialize to a bad value; fixed by initialize(). - _partial_array_state_allocator_index = UINT_MAX; - // let's choose 1.5x the chunk size _min_array_size_for_chunking = (3 * ParGCArrayScanChunk / 2); @@ -317,7 +314,7 @@ void PSPromotionManager::process_array_chunk(PartialArrayState* state) { process_array_chunk_work(state->destination(), start, end); } // Release reference to state, now that we're done with it. - _partial_array_state_allocator->release(_partial_array_state_allocator_index, state); + _partial_array_state_allocator.release(state); } void PSPromotionManager::push_objArray(oop old_obj, oop new_obj) { @@ -331,11 +328,10 @@ void PSPromotionManager::push_objArray(oop old_obj, oop new_obj) { if (step._ncreate > 0) { TASKQUEUE_STATS_ONLY(++_arrays_chunked); PartialArrayState* state = - _partial_array_state_allocator->allocate(_partial_array_state_allocator_index, - old_obj, new_obj, - step._index, - array_length, - step._ncreate); + _partial_array_state_allocator.allocate(old_obj, new_obj, + step._index, + array_length, + step._ncreate); for (uint i = 0; i < step._ncreate; ++i) { push_depth(ScannerTask(state)); } diff --git a/src/hotspot/share/gc/parallel/psPromotionManager.hpp b/src/hotspot/share/gc/parallel/psPromotionManager.hpp index a69d975956dc3..a6de8623281c9 100644 --- a/src/hotspot/share/gc/parallel/psPromotionManager.hpp +++ b/src/hotspot/share/gc/parallel/psPromotionManager.hpp @@ -28,6 +28,7 @@ #include "gc/parallel/psPromotionLAB.hpp" #include "gc/shared/copyFailedInfo.hpp" #include "gc/shared/gcTrace.hpp" +#include "gc/shared/partialArrayState.hpp" #include "gc/shared/partialArrayTaskStepper.hpp" #include "gc/shared/preservedMarks.hpp" #include "gc/shared/stringdedup/stringDedup.hpp" @@ -50,8 +51,6 @@ class MutableSpace; class PSOldGen; class ParCompactionManager; -class PartialArrayState; -class PartialArrayStateAllocator; class PSPromotionManager { friend class PSScavenge; @@ -88,9 +87,9 @@ class PSPromotionManager { uint _target_stack_size; - static PartialArrayStateAllocator* _partial_array_state_allocator; + static PartialArrayStateManager* _partial_array_state_manager; + PartialArrayStateAllocator _partial_array_state_allocator; PartialArrayTaskStepper _partial_array_stepper; - uint _partial_array_state_allocator_index; uint _min_array_size_for_chunking; PreservedMarks* _preserved_marks; diff --git a/src/hotspot/share/gc/serial/serialBlockOffsetTable.cpp b/src/hotspot/share/gc/serial/serialBlockOffsetTable.cpp index 31f18652c63d6..7ac0fcc8b53c5 100644 --- a/src/hotspot/share/gc/serial/serialBlockOffsetTable.cpp +++ b/src/hotspot/share/gc/serial/serialBlockOffsetTable.cpp @@ -37,13 +37,11 @@ SerialBlockOffsetTable::SerialBlockOffsetTable(MemRegion reserved, size_t init_word_size): _reserved(reserved) { size_t size = compute_size(reserved.word_size()); - ReservedSpace rs(size); + ReservedSpace rs(size, mtGC); if (!rs.is_reserved()) { vm_exit_during_initialization("Could not reserve enough space for heap offset array"); } - MemTracker::record_virtual_memory_tag((address)rs.base(), mtGC); - if (!_vs.initialize(rs, 0)) { vm_exit_during_initialization("Could not reserve enough space for heap offset array"); } diff --git a/src/hotspot/share/gc/shared/partialArrayState.cpp b/src/hotspot/share/gc/shared/partialArrayState.cpp index 48ef974ecfa53..60067c6547b86 100644 --- a/src/hotspot/share/gc/shared/partialArrayState.cpp +++ b/src/hotspot/share/gc/shared/partialArrayState.cpp @@ -52,27 +52,8 @@ void PartialArrayState::add_references(size_t count) { assert(new_count >= count, "reference count overflow"); } -class PartialArrayStateAllocator::Impl : public CHeapObj { - struct FreeListEntry; - - Arena* _arenas; - FreeListEntry** _free_lists; - uint _num_workers; - +class PartialArrayStateAllocator::FreeListEntry { public: - Impl(uint num_workers); - ~Impl(); - - NONCOPYABLE(Impl); - - PartialArrayState* allocate(uint worker_id, - oop src, oop dst, - size_t index, size_t length, - size_t initial_refcount); - void release(uint worker_id, PartialArrayState* state); -}; - -struct PartialArrayStateAllocator::Impl::FreeListEntry { FreeListEntry* _next; FreeListEntry(FreeListEntry* next) : _next(next) {} @@ -81,73 +62,80 @@ struct PartialArrayStateAllocator::Impl::FreeListEntry { NONCOPYABLE(FreeListEntry); }; -PartialArrayStateAllocator::Impl::Impl(uint num_workers) - : _arenas(NEW_C_HEAP_ARRAY(Arena, num_workers, mtGC)), - _free_lists(NEW_C_HEAP_ARRAY(FreeListEntry*, num_workers, mtGC)), - _num_workers(num_workers) -{ - for (uint i = 0; i < _num_workers; ++i) { - ::new (&_arenas[i]) Arena(mtGC); - _free_lists[i] = nullptr; - } -} +PartialArrayStateAllocator::PartialArrayStateAllocator(PartialArrayStateManager* manager) + : _manager(manager), + _free_list(), + _arena(manager->register_allocator()) +{} -PartialArrayStateAllocator::Impl::~Impl() { - // We don't need to clean up the free lists. Deallocating the entries +PartialArrayStateAllocator::~PartialArrayStateAllocator() { + // We don't need to clean up the free list. Deallocating the entries // does nothing, since we're using arena allocation. Instead, leave it - // to the arena destructor to release the memory. - FREE_C_HEAP_ARRAY(FreeListEntry*, _free_lists); - for (uint i = 0; i < _num_workers; ++i) { - _arenas[i].~Arena(); - } - FREE_C_HEAP_ARRAY(Arena*, _arenas); + // to the manager to release the memory. + // Inform the manager that an allocator is no longer in use. + _manager->release_allocator(); } -PartialArrayState* PartialArrayStateAllocator::Impl::allocate(uint worker_id, - oop src, oop dst, - size_t index, - size_t length, - size_t initial_refcount) { +PartialArrayState* PartialArrayStateAllocator::allocate(oop src, oop dst, + size_t index, + size_t length, + size_t initial_refcount) { void* p; - FreeListEntry* head = _free_lists[worker_id]; + FreeListEntry* head = _free_list; if (head == nullptr) { - p = NEW_ARENA_OBJ(&_arenas[worker_id], PartialArrayState); + p = NEW_ARENA_OBJ(_arena, PartialArrayState); } else { - _free_lists[worker_id] = head->_next; + _free_list = head->_next; head->~FreeListEntry(); p = head; } return ::new (p) PartialArrayState(src, dst, index, length, initial_refcount); } -void PartialArrayStateAllocator::Impl::release(uint worker_id, PartialArrayState* state) { +void PartialArrayStateAllocator::release(PartialArrayState* state) { size_t refcount = Atomic::sub(&state->_refcount, size_t(1), memory_order_release); if (refcount != 0) { assert(refcount + 1 != 0, "refcount underflow"); } else { OrderAccess::acquire(); - state->~PartialArrayState(); - _free_lists[worker_id] = ::new (state) FreeListEntry(_free_lists[worker_id]); + // Don't need to call destructor; can't if not destructible. + static_assert(!std::is_destructible::value, "expected"); + _free_list = ::new (state) FreeListEntry(_free_list); } } -PartialArrayStateAllocator::PartialArrayStateAllocator(uint num_workers) - : _impl(new Impl(num_workers)) +PartialArrayStateManager::PartialArrayStateManager(uint max_allocators) + : _arenas(NEW_C_HEAP_ARRAY(Arena, max_allocators, mtGC)), + _max_allocators(max_allocators), + _registered_allocators(0) + DEBUG_ONLY(COMMA _released_allocators(0)) {} -PartialArrayStateAllocator::~PartialArrayStateAllocator() { - delete _impl; +PartialArrayStateManager::~PartialArrayStateManager() { + reset(); + FREE_C_HEAP_ARRAY(Arena, _arenas); } -PartialArrayState* PartialArrayStateAllocator::allocate(uint worker_id, - oop src, oop dst, - size_t index, - size_t length, - size_t initial_refcount) { - return _impl->allocate(worker_id, src, dst, index, length, initial_refcount); +Arena* PartialArrayStateManager::register_allocator() { + uint idx = Atomic::fetch_then_add(&_registered_allocators, 1u, memory_order_relaxed); + assert(idx < _max_allocators, "exceeded configured max number of allocators"); + return ::new (&_arenas[idx]) Arena(mtGC); } -void PartialArrayStateAllocator::release(uint worker_id, PartialArrayState* state) { - _impl->release(worker_id, state); +#ifdef ASSERT +void PartialArrayStateManager::release_allocator() { + uint old = Atomic::fetch_then_add(&_released_allocators, 1u, memory_order_relaxed); + assert(old < Atomic::load(&_registered_allocators), "too many releases"); } +#endif // ASSERT +void PartialArrayStateManager::reset() { + uint count = Atomic::load(&_registered_allocators); + assert(count == Atomic::load(&_released_allocators), + "some allocators still active"); + for (uint i = 0; i < count; ++i) { + _arenas[i].~Arena(); + } + Atomic::store(&_registered_allocators, 0u); + DEBUG_ONLY(Atomic::store(&_released_allocators, 0u);) +} diff --git a/src/hotspot/share/gc/shared/partialArrayState.hpp b/src/hotspot/share/gc/shared/partialArrayState.hpp index fb226e08665a0..3208c6d68077f 100644 --- a/src/hotspot/share/gc/shared/partialArrayState.hpp +++ b/src/hotspot/share/gc/shared/partialArrayState.hpp @@ -30,7 +30,9 @@ #include "utilities/globalDefinitions.hpp" #include "utilities/macros.hpp" +class Arena; class PartialArrayStateAllocator; +class PartialArrayStateManager; // Instances of this class are used to represent processing progress for an // array task in a taskqueue. When a sufficiently large array needs to be @@ -52,8 +54,8 @@ class PartialArrayStateAllocator; // referring to a given state that is added to a taskqueue must increase the // reference count by one. When the processing of a task referring to a state // is complete, the reference count must be decreased by one. When the -// reference count reaches zero the state should be released to the allocator -// for later reuse. +// reference count reaches zero the state is released to the allocator for +// later reuse. class PartialArrayState { oop _source; oop _destination; @@ -66,11 +68,13 @@ class PartialArrayState { PartialArrayState(oop src, oop dst, size_t index, size_t length, size_t initial_refcount); - ~PartialArrayState() = default; + +public: + // Deleted to require management by allocator object. + ~PartialArrayState() = delete; NONCOPYABLE(PartialArrayState); -public: // Add count references, one per referring task being added to a taskqueue. void add_references(size_t count); @@ -91,39 +95,39 @@ class PartialArrayState { // This class provides memory management for PartialArrayStates. // -// States are initially allocated from a set of arenas owned by the allocator. -// This allows the entire set of allocated states to be discarded without the -// need to keep track of or find them under some circumstances. For example, -// if G1 concurrent marking is aborted and needs to restart because of a full -// marking queue, the queue doesn't need to be searched for tasks referring to -// states to allow releasing them. Instead the queue contents can just be -// discarded, and the memory for the no longer referenced states will -// eventually be reclaimed when the arenas are reset. +// States are initially arena allocated from the manager, using a per-thread +// allocator. This allows the entire set of allocated states to be discarded +// without the need to keep track of or find them under some circumstances. +// For example, if G1 concurrent marking is aborted and needs to restart +// because of a full marking queue, the queue doesn't need to be searched for +// tasks referring to states to allow releasing them. Instead the queue +// contents can just be discarded, and the memory for the no longer referenced +// states will eventually be reclaimed when the arena is reset. // -// A set of free-lists is placed in front of the arena allocators. This -// causes the maximum number of allocated states to be based on the number of +// The allocators each provide a free-list of states. When a state is +// released and its reference count has reached zero, it is added to the +// allocator's free-list, for use by future allocation requests. This causes +// the maximum number of allocated states to be based on the number of // in-progress arrays, rather than the total number of arrays that need to be -// processed. The use of free-list allocators is the reason for reference -// counting states. +// processed. // -// The arena and free-list to use for an allocation operation is designated by -// the worker_id used in the operation. This avoids locking and such on those -// data structures, at the cost of possibly doing more total arena allocation -// that would be needed with a single shared arena and free-list. +// An allocator object is not thread-safe. class PartialArrayStateAllocator : public CHeapObj { - class Impl; - Impl* _impl; + class FreeListEntry; + + PartialArrayStateManager* _manager; + FreeListEntry* _free_list; + Arena* _arena; // Obtained from _manager. public: - PartialArrayStateAllocator(uint num_workers); + explicit PartialArrayStateAllocator(PartialArrayStateManager* manager); ~PartialArrayStateAllocator(); NONCOPYABLE(PartialArrayStateAllocator); // Create a new state, obtaining the memory for it from the free-list or - // arena associated with worker_id. - PartialArrayState* allocate(uint worker_id, - oop src, oop dst, + // from the associated manager. + PartialArrayState* allocate(oop src, oop dst, size_t index, size_t length, size_t initial_refcount); @@ -131,7 +135,70 @@ class PartialArrayStateAllocator : public CHeapObj { // state to the free-list associated with worker_id. The state must have // been allocated by this allocator, but that allocation doesn't need to // have been associated with worker_id. - void release(uint worker_id, PartialArrayState* state); + void release(PartialArrayState* state); +}; + +// This class provides memory management for PartialArrayStates. +// +// States are allocated using an allocator object. Those allocators in turn +// may request memory for a state from their associated manager. The manager +// is responsible for obtaining and releasing memory used for states by the +// associated allocators. +// +// A state may be allocated by one allocator, but end up on the free-list of a +// different allocator. This can happen because a task referring to the state +// may be stolen from the queue where it was initially added. This is permitted +// because a state's memory won't be reclaimed until all of the allocators +// associated with the manager that is ultimately providing the memory have +// been deleted and the manager is reset. +// +// A manager is used in two distinct and non-overlapping phases. +// +// - allocating: This is the initial phase. During this phase, new allocators +// may be created, and allocators may request memory from the manager. +// +// - releasing: When an allocator is destroyed the manager transitions to this +// phase. It remains in this phase until all extent allocators associated with +// this manager have been destroyed. During this phase, new allocators may not +// be created, nor may extent allocators request memory from this manager. +// +// Once all the associated allocators have been destroyed the releasing phase +// ends and the manager may be reset or deleted. Resetting transitions back +// to the allocating phase. +class PartialArrayStateManager : public CHeapObj { + friend class PartialArrayStateAllocator; + + // Use an arena for each allocator, for thread-safe concurrent allocation by + // different allocators. + Arena* _arenas; + + // Limit on the number of allocators this manager supports. + uint _max_allocators; + + // The number of allocators that have been registered/released. + // Atomic to support concurrent registration, and concurrent release. + // Phasing restriction forbids registration concurrent with release. + volatile uint _registered_allocators; + DEBUG_ONLY(volatile uint _released_allocators;) + + // These are all for sole use of the befriended allocator class. + Arena* register_allocator(); + void release_allocator() NOT_DEBUG_RETURN; + +public: + explicit PartialArrayStateManager(uint max_allocators); + + // Release the memory that has been requested by allocators associated with + // this manager. + // precondition: all associated allocators have been deleted. + ~PartialArrayStateManager(); + + NONCOPYABLE(PartialArrayStateManager); + + // Recycle the memory that has been requested by allocators associated with + // this manager. + // precondition: all associated allocators have been deleted. + void reset(); }; #endif // SHARE_GC_SHARED_PARTIALARRAYSTATE_HPP diff --git a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp index b906ae2ca0b96..c6bcbd18a1683 100644 --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp @@ -465,11 +465,17 @@ void ShenandoahBarrierSetC2::post_barrier(GraphKit* kit, } if (ReduceInitialCardMarks && obj == kit->just_allocated_object(kit->control())) { - // We can skip marks on a freshly-allocated object in Eden. - // Keep this code in sync with new_deferred_store_barrier() in runtime.cpp. - // That routine informs GC to take appropriate compensating steps, - // upon a slow-path allocation, so as to make this card-mark - // elision safe. + // We use card marks to track old to young references in Generational Shenandoah; + // see flag ShenandoahCardBarrier above. + // Objects are always allocated in the young generation and initialized + // before they are promoted. There's always a safepoint (e.g. at final mark) + // before an object is promoted from young to old. Promotion entails dirtying of + // the cards backing promoted objects, so they will be guaranteed to be scanned + // at the next remembered set scan of the old generation. + // Thus, we can safely skip card-marking of initializing stores on a + // freshly-allocated object. If any of the assumptions above change in + // the future, this code will need to be re-examined; see check in + // ShenandoahCardBarrier::on_slowpath_allocation_exit(). return; } diff --git a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp index 38e363664dc3a..62067bccb1ed7 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp @@ -88,6 +88,14 @@ bool ShenandoahBarrierSet::need_keep_alive_barrier(DecoratorSet decorators, Basi return (on_weak_ref || unknown) && keep_alive; } +void ShenandoahBarrierSet::on_slowpath_allocation_exit(JavaThread* thread, oop new_obj) { +#if COMPILER2_OR_JVMCI + assert(!ReduceInitialCardMarks || !ShenandoahCardBarrier || ShenandoahGenerationalHeap::heap()->is_in_young(new_obj), + "Error: losing card mark on initialzing store to old gen"); +#endif // COMPILER2_OR_JVMCI + assert(thread->deferred_card_mark().is_empty(), "We don't use this"); +} + void ShenandoahBarrierSet::on_thread_create(Thread* thread) { // Create thread local data ShenandoahThreadLocalData::create(thread); diff --git a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp index 8d1dc92761a59..0d38cc757f44a 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp @@ -77,17 +77,21 @@ class ShenandoahBarrierSet: public BarrierSet { return (decorators & IN_NATIVE) != 0; } - void print_on(outputStream* st) const; + void print_on(outputStream* st) const override; template inline void arraycopy_barrier(T* src, T* dst, size_t count); inline void clone_barrier(oop src); void clone_barrier_runtime(oop src); - virtual void on_thread_create(Thread* thread); - virtual void on_thread_destroy(Thread* thread); - virtual void on_thread_attach(Thread* thread); - virtual void on_thread_detach(Thread* thread); + // Support for optimizing compilers to call the barrier set on slow path allocations + // that did not enter a TLAB. Used for e.g. ReduceInitialCardMarks to take any + // compensating actions to restore card-marks that might otherwise be incorrectly elided. + void on_slowpath_allocation_exit(JavaThread* thread, oop new_obj) override; + void on_thread_create(Thread* thread) override; + void on_thread_destroy(Thread* thread) override; + void on_thread_attach(Thread* thread) override; + void on_thread_detach(Thread* thread) override; static inline oop resolve_forwarded_not_null(oop p); static inline oop resolve_forwarded_not_null_mutator(oop p); diff --git a/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp b/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp index 8a82498225a95..136ac22d840ff 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp @@ -56,15 +56,8 @@ void ShenandoahControlThread::run_service() { const GCCause::Cause default_cause = GCCause::_shenandoah_concurrent_gc; int sleep = ShenandoahControlIntervalMin; - double last_shrink_time = os::elapsedTime(); double last_sleep_adjust_time = os::elapsedTime(); - // Shrink period avoids constantly polling regions for shrinking. - // Having a period 10x lower than the delay would mean we hit the - // shrinking with lag of less than 1/10-th of true delay. - // ShenandoahUncommitDelay is in msecs, but shrink_period is in seconds. - const double shrink_period = (double)ShenandoahUncommitDelay / 1000 / 10; - ShenandoahCollectorPolicy* const policy = heap->shenandoah_policy(); ShenandoahHeuristics* const heuristics = heap->heuristics(); while (!in_graceful_shutdown() && !should_terminate()) { @@ -76,9 +69,6 @@ void ShenandoahControlThread::run_service() { // This control loop iteration has seen this much allocation. const size_t allocs_seen = reset_allocs_seen(); - // Check if we have seen a new target for soft max heap size. - const bool soft_max_changed = heap->check_soft_max_changed(); - // Choose which GC mode to run in. The block below should select a single mode. GCMode mode = none; GCCause::Cause cause = GCCause::_last_gc_cause; @@ -136,6 +126,9 @@ void ShenandoahControlThread::run_service() { assert (!gc_requested || cause != GCCause::_last_gc_cause, "GC cause should be set"); if (gc_requested) { + // Cannot uncommit bitmap slices during concurrent reset + ShenandoahNoUncommitMark forbid_region_uncommit(heap); + // GC is starting, bump the internal ID update_gc_id(); @@ -238,29 +231,20 @@ void ShenandoahControlThread::run_service() { } } - const double current = os::elapsedTime(); - - if (ShenandoahUncommit && (is_gc_requested || soft_max_changed || (current - last_shrink_time > shrink_period))) { - // Explicit GC tries to uncommit everything down to min capacity. - // Soft max change tries to uncommit everything down to target capacity. - // Periodic uncommit tries to uncommit suitable regions down to min capacity. - - double shrink_before = (is_gc_requested || soft_max_changed) ? - current : - current - (ShenandoahUncommitDelay / 1000.0); - - size_t shrink_until = soft_max_changed ? - heap->soft_max_capacity() : - heap->min_capacity(); - - heap->maybe_uncommit(shrink_before, shrink_until); - heap->phase_timings()->flush_cycle_to_global(); - last_shrink_time = current; + // Check if we have seen a new target for soft max heap size or if a gc was requested. + // Either of these conditions will attempt to uncommit regions. + if (ShenandoahUncommit) { + if (heap->check_soft_max_changed()) { + heap->notify_soft_max_changed(); + } else if (is_gc_requested) { + heap->notify_explicit_gc_requested(); + } } // Wait before performing the next action. If allocation happened during this wait, // we exit sooner, to let heuristics re-evaluate new conditions. If we are at idle, // back off exponentially. + const double current = os::elapsedTime(); if (heap->has_changed()) { sleep = ShenandoahControlIntervalMin; } else if ((current - last_sleep_adjust_time) * 1000 > ShenandoahControlIntervalAdjustPeriod){ diff --git a/src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp b/src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp index 1c644a9acccd7..a48b2baa18f38 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp @@ -73,8 +73,9 @@ class ShenandoahResetBitmapTask : public WorkerTask { WorkerTask("Shenandoah Reset Bitmap"), _generation(generation) {} void work(uint worker_id) { - ShenandoahHeapRegion* region = _regions.next(); ShenandoahHeap* heap = ShenandoahHeap::heap(); + assert(!heap->is_uncommit_in_progress(), "Cannot uncommit bitmaps while resetting them."); + ShenandoahHeapRegion* region = _regions.next(); ShenandoahMarkingContext* const ctx = heap->marking_context(); while (region != nullptr) { auto const affiliation = region->affiliation(); diff --git a/src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.cpp b/src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.cpp index ef0fbf671a0dd..33af35c6b9555 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.cpp @@ -67,15 +67,8 @@ void ShenandoahGenerationalControlThread::run_service() { const GCMode default_mode = concurrent_normal; ShenandoahGenerationType generation = GLOBAL; - double last_shrink_time = os::elapsedTime(); uint age_period = 0; - // Shrink period avoids constantly polling regions for shrinking. - // Having a period 10x lower than the delay would mean we hit the - // shrinking with lag of less than 1/10-th of true delay. - // ShenandoahUncommitDelay is in msecs, but shrink_period is in seconds. - const double shrink_period = (double)ShenandoahUncommitDelay / 1000 / 10; - ShenandoahCollectorPolicy* const policy = heap->shenandoah_policy(); // Heuristics are notified of allocation failures here and other outcomes @@ -191,6 +184,9 @@ void ShenandoahGenerationalControlThread::run_service() { assert (!gc_requested || cause != GCCause::_no_gc, "GC cause should be set"); if (gc_requested) { + // Cannot uncommit bitmap slices during concurrent reset + ShenandoahNoUncommitMark forbid_region_uncommit(heap); + // Blow away all soft references on this cycle, if handling allocation failure, // either implicit or explicit GC request, or we are requested to do so unconditionally. if (generation == GLOBAL && (alloc_failure_pending || is_gc_requested || ShenandoahAlwaysClearSoftRefs)) { @@ -303,24 +299,14 @@ void ShenandoahGenerationalControlThread::run_service() { } } - const double current = os::elapsedTime(); - - if (ShenandoahUncommit && (is_gc_requested || soft_max_changed || (current - last_shrink_time > shrink_period))) { - // Explicit GC tries to uncommit everything down to min capacity. - // Soft max change tries to uncommit everything down to target capacity. - // Periodic uncommit tries to uncommit suitable regions down to min capacity. - - double shrink_before = (is_gc_requested || soft_max_changed) ? - current : - current - (ShenandoahUncommitDelay / 1000.0); - - size_t shrink_until = soft_max_changed ? - heap->soft_max_capacity() : - heap->min_capacity(); - - heap->maybe_uncommit(shrink_before, shrink_until); - heap->phase_timings()->flush_cycle_to_global(); - last_shrink_time = current; + // Check if we have seen a new target for soft max heap size or if a gc was requested. + // Either of these conditions will attempt to uncommit regions. + if (ShenandoahUncommit) { + if (heap->check_soft_max_changed()) { + heap->notify_soft_max_changed(); + } else if (is_gc_requested) { + heap->notify_explicit_gc_requested(); + } } // Wait for ShenandoahControlIntervalMax unless there was an allocation failure or another request was made mid-cycle. diff --git a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp index 6ef66926b72fa..c1bc9dc661643 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp @@ -25,8 +25,10 @@ */ #include "precompiled.hpp" -#include "memory/allocation.hpp" -#include "memory/universe.hpp" + +#include "cds/archiveHeapWriter.hpp" +#include "classfile/systemDictionary.hpp" +#include "code/codeCache.hpp" #include "gc/shared/classUnloadingContext.hpp" #include "gc/shared/fullGCForwarding.hpp" @@ -42,17 +44,16 @@ #include "gc/shenandoah/heuristics/shenandoahYoungHeuristics.hpp" #include "gc/shenandoah/shenandoahAllocRequest.hpp" #include "gc/shenandoah/shenandoahBarrierSet.hpp" -#include "gc/shenandoah/shenandoahClosures.inline.hpp" +#include "gc/shenandoah/shenandoahCodeRoots.hpp" #include "gc/shenandoah/shenandoahCollectionSet.hpp" #include "gc/shenandoah/shenandoahCollectorPolicy.hpp" #include "gc/shenandoah/shenandoahConcurrentMark.hpp" -#include "gc/shenandoah/shenandoahMarkingContext.inline.hpp" #include "gc/shenandoah/shenandoahControlThread.hpp" +#include "gc/shenandoah/shenandoahClosures.inline.hpp" #include "gc/shenandoah/shenandoahFreeSet.hpp" #include "gc/shenandoah/shenandoahGenerationalEvacuationTask.hpp" #include "gc/shenandoah/shenandoahGenerationalHeap.hpp" #include "gc/shenandoah/shenandoahGlobalGeneration.hpp" -#include "gc/shenandoah/shenandoahPhaseTimings.hpp" #include "gc/shenandoah/shenandoahHeap.inline.hpp" #include "gc/shenandoah/shenandoahHeapRegionClosures.hpp" #include "gc/shenandoah/shenandoahHeapRegion.inline.hpp" @@ -65,13 +66,14 @@ #include "gc/shenandoah/shenandoahPacer.inline.hpp" #include "gc/shenandoah/shenandoahPadding.hpp" #include "gc/shenandoah/shenandoahParallelCleaning.inline.hpp" +#include "gc/shenandoah/shenandoahPhaseTimings.hpp" #include "gc/shenandoah/shenandoahReferenceProcessor.hpp" #include "gc/shenandoah/shenandoahRootProcessor.inline.hpp" #include "gc/shenandoah/shenandoahScanRemembered.inline.hpp" #include "gc/shenandoah/shenandoahSTWMark.hpp" +#include "gc/shenandoah/shenandoahUncommitThread.hpp" #include "gc/shenandoah/shenandoahUtils.hpp" #include "gc/shenandoah/shenandoahVerifier.hpp" -#include "gc/shenandoah/shenandoahCodeRoots.hpp" #include "gc/shenandoah/shenandoahVMOperations.hpp" #include "gc/shenandoah/shenandoahWorkGroup.hpp" #include "gc/shenandoah/shenandoahWorkerPolicy.hpp" @@ -79,17 +81,16 @@ #include "gc/shenandoah/mode/shenandoahGenerationalMode.hpp" #include "gc/shenandoah/mode/shenandoahPassiveMode.hpp" #include "gc/shenandoah/mode/shenandoahSATBMode.hpp" -#include "utilities/globalDefinitions.hpp" #if INCLUDE_JFR #include "gc/shenandoah/shenandoahJfrSupport.hpp" #endif -#include "cds/archiveHeapWriter.hpp" -#include "classfile/systemDictionary.hpp" -#include "code/codeCache.hpp" + +#include "memory/allocation.hpp" #include "memory/classLoaderMetaspace.hpp" #include "memory/metaspaceUtils.hpp" +#include "memory/universe.hpp" #include "nmt/mallocTracker.hpp" #include "nmt/memTracker.hpp" #include "oops/compressedOops.inline.hpp" @@ -102,6 +103,7 @@ #include "runtime/safepointMechanism.hpp" #include "runtime/stackWatermarkSet.hpp" #include "runtime/vmThread.hpp" +#include "utilities/globalDefinitions.hpp" #include "utilities/events.hpp" #include "utilities/powerOfTwo.hpp" @@ -459,6 +461,10 @@ jint ShenandoahHeap::initialize() { initialize_controller(); + if (ShenandoahUncommit) { + _uncommit_thread = new ShenandoahUncommitThread(this); + } + print_init_logger(); FullGCForwarding::initialize(_heap_region); @@ -530,6 +536,7 @@ ShenandoahHeap::ShenandoahHeap(ShenandoahCollectorPolicy* policy) : _update_refs_iterator(this), _global_generation(nullptr), _control_thread(nullptr), + _uncommit_thread(nullptr), _young_generation(nullptr), _old_generation(nullptr), _shenandoah_policy(policy), @@ -800,60 +807,15 @@ bool ShenandoahHeap::is_in(const void* p) const { } } -void ShenandoahHeap::maybe_uncommit(double shrink_before, size_t shrink_until) { - assert (ShenandoahUncommit, "should be enabled"); - - // Determine if there is work to do. This avoids taking heap lock if there is - // no work available, avoids spamming logs with superfluous logging messages, - // and minimises the amount of work while locks are taken. - - if (committed() <= shrink_until) return; - - bool has_work = false; - for (size_t i = 0; i < num_regions(); i++) { - ShenandoahHeapRegion* r = get_region(i); - if (r->is_empty_committed() && (r->empty_time() < shrink_before)) { - has_work = true; - break; - } - } - - if (has_work) { - static const char* msg = "Concurrent uncommit"; - ShenandoahConcurrentPhase gcPhase(msg, ShenandoahPhaseTimings::conc_uncommit, true /* log_heap_usage */); - EventMark em("%s", msg); - - op_uncommit(shrink_before, shrink_until); +void ShenandoahHeap::notify_soft_max_changed() { + if (_uncommit_thread != nullptr) { + _uncommit_thread->notify_soft_max_changed(); } } -void ShenandoahHeap::op_uncommit(double shrink_before, size_t shrink_until) { - assert (ShenandoahUncommit, "should be enabled"); - - // Application allocates from the beginning of the heap, and GC allocates at - // the end of it. It is more efficient to uncommit from the end, so that applications - // could enjoy the near committed regions. GC allocations are much less frequent, - // and therefore can accept the committing costs. - - size_t count = 0; - for (size_t i = num_regions(); i > 0; i--) { // care about size_t underflow - ShenandoahHeapRegion* r = get_region(i - 1); - if (r->is_empty_committed() && (r->empty_time() < shrink_before)) { - ShenandoahHeapLocker locker(lock()); - if (r->is_empty_committed()) { - if (committed() < shrink_until + ShenandoahHeapRegion::region_size_bytes()) { - break; - } - - r->make_uncommitted(); - count++; - } - } - SpinPause(); // allow allocators to take the lock - } - - if (count > 0) { - notify_heap_changed(); +void ShenandoahHeap::notify_explicit_gc_requested() { + if (_uncommit_thread != nullptr) { + _uncommit_thread->notify_explicit_gc_requested(); } } @@ -1507,6 +1469,10 @@ void ShenandoahHeap::gc_threads_do(ThreadClosure* tcl) const { tcl->do_thread(_control_thread); } + if (_uncommit_thread != nullptr) { + tcl->do_thread(_uncommit_thread); + } + workers()->threads_do(tcl); if (_safepoint_workers != nullptr) { _safepoint_workers->threads_do(tcl); @@ -2094,6 +2060,11 @@ void ShenandoahHeap::stop() { // Step 3. Wait until GC worker exits normally. control_thread()->stop(); + + // Stop 4. Shutdown uncommit thread. + if (_uncommit_thread != nullptr) { + _uncommit_thread->stop(); + } } void ShenandoahHeap::stw_unload_classes(bool full_gc) { @@ -2521,7 +2492,7 @@ bool ShenandoahHeap::uncommit_bitmap_slice(ShenandoahHeapRegion *r) { if (is_bitmap_slice_committed(r, true)) { // Some other region from the group is still committed, meaning the bitmap - // slice is should stay committed, exit right away. + // slice should stay committed, exit right away. return true; } @@ -2535,6 +2506,27 @@ bool ShenandoahHeap::uncommit_bitmap_slice(ShenandoahHeapRegion *r) { return true; } +void ShenandoahHeap::forbid_uncommit() { + if (_uncommit_thread != nullptr) { + _uncommit_thread->forbid_uncommit(); + } +} + +void ShenandoahHeap::allow_uncommit() { + if (_uncommit_thread != nullptr) { + _uncommit_thread->allow_uncommit(); + } +} + +#ifdef ASSERT +bool ShenandoahHeap::is_uncommit_in_progress() { + if (_uncommit_thread != nullptr) { + return _uncommit_thread->is_uncommit_in_progress(); + } + return false; +} +#endif + void ShenandoahHeap::safepoint_synchronize_begin() { StackWatermarkSet::safepoint_synchronize_begin(); SuspendibleThreadSet::synchronize(); diff --git a/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp b/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp index a9a793f9e605d..5f957b734104d 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp @@ -70,6 +70,7 @@ class ShenandoahFullGC; class ShenandoahMonitoringSupport; class ShenandoahPacer; class ShenandoahReferenceProcessor; +class ShenandoahUncommitThread; class ShenandoahVerifier; class ShenandoahWorkerThreads; class VMStructs; @@ -252,11 +253,14 @@ class ShenandoahHeap : public CollectedHeap { // ---------- Periodic Tasks // -private: +public: + // Notify heuristics and region state change logger that the state of the heap has changed void notify_heap_changed(); -public: + // Force counters to update void set_forced_counters_update(bool value); + + // Update counters if forced flag is set void handle_force_counters_update(); // ---------- Workers handling @@ -440,11 +444,6 @@ class ShenandoahHeap : public CollectedHeap { void cancel_gc(GCCause::Cause cause); public: - // These will uncommit empty regions if heap::committed > shrink_until - // and there exists at least one region which was made empty before shrink_before. - void maybe_uncommit(double shrink_before, size_t shrink_until); - void op_uncommit(double shrink_before, size_t shrink_until); - // Returns true if the soft maximum heap has been changed using management APIs. bool check_soft_max_changed(); @@ -478,14 +477,22 @@ class ShenandoahHeap : public CollectedHeap { void notify_gc_no_progress(); size_t get_gc_no_progress_count() const; -// -// Mark support + // The uncommit thread targets soft max heap, notify this thread when that value has changed. + void notify_soft_max_changed(); + + // An explicit GC request may have freed regions, notify the uncommit thread. + void notify_explicit_gc_requested(); + private: ShenandoahGeneration* _global_generation; protected: + // The control thread presides over concurrent collection cycles ShenandoahController* _control_thread; + // The uncommit thread periodically attempts to uncommit regions that have been empty for longer than ShenandoahUncommitDelay + ShenandoahUncommitThread* _uncommit_thread; + ShenandoahYoungGeneration* _young_generation; ShenandoahOldGeneration* _old_generation; @@ -500,7 +507,7 @@ class ShenandoahHeap : public CollectedHeap { ShenandoahMmuTracker _mmu_tracker; public: - ShenandoahController* control_thread() { return _control_thread; } + ShenandoahController* control_thread() const { return _control_thread; } ShenandoahGeneration* global_generation() const { return _global_generation; } ShenandoahYoungGeneration* young_generation() const { @@ -726,6 +733,20 @@ class ShenandoahHeap : public CollectedHeap { bool uncommit_bitmap_slice(ShenandoahHeapRegion *r); bool is_bitmap_slice_committed(ShenandoahHeapRegion* r, bool skip_self = false); + // During concurrent reset, the control thread will zero out the mark bitmaps for committed regions. + // This cannot happen when the uncommit thread is simultaneously trying to uncommit regions and their bitmaps. + // To prevent these threads from working at the same time, we provide these methods for the control thread to + // prevent the uncommit thread from working while a collection cycle is in progress. + + // Forbid uncommits (will stop and wait if regions are being uncommitted) + void forbid_uncommit(); + + // Allow the uncommit thread to process regions + void allow_uncommit(); +#ifdef ASSERT + bool is_uncommit_in_progress(); +#endif + // Liveness caching support ShenandoahLiveData* get_liveness_cache(uint worker_id); void flush_liveness_cache(uint worker_id); diff --git a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp index 05ab60c0bb66b..4c8cb8c20570d 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp @@ -189,7 +189,6 @@ class outputStream; f(full_gc_reconstruct_remembered_set, " Reconstruct Remembered Set") \ f(full_gc_heapdump_post, " Post Heap Dump") \ \ - f(conc_uncommit, "Concurrent Uncommit") \ f(pacing, "Pacing") \ \ f(heap_iteration_roots, "Heap Iteration") \ diff --git a/src/hotspot/share/gc/shenandoah/shenandoahUncommitThread.cpp b/src/hotspot/share/gc/shenandoah/shenandoahUncommitThread.cpp new file mode 100644 index 0000000000000..85bb3349d5c97 --- /dev/null +++ b/src/hotspot/share/gc/shenandoah/shenandoahUncommitThread.cpp @@ -0,0 +1,198 @@ +/* + * Copyright Amazon.com Inc. 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. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +#include "precompiled.hpp" +#include "gc/shenandoah/shenandoahHeap.inline.hpp" +#include "gc/shenandoah/shenandoahHeapRegion.hpp" +#include "gc/shenandoah/shenandoahUncommitThread.hpp" +#include "logging/log.hpp" +#include "runtime/mutexLocker.hpp" +#include "utilities/events.hpp" + +ShenandoahUncommitThread::ShenandoahUncommitThread(ShenandoahHeap* heap) + : _heap(heap), + _stop_lock(Mutex::safepoint - 2, "ShenandoahUncommitStop_lock", true), + _uncommit_lock(Mutex::safepoint - 2, "ShenandoahUncommitCancel_lock", true) { + set_name("Shenandoah Uncommit Thread"); + create_and_start(); + + // Allow uncommits. This is managed by the control thread during a GC. + _uncommit_allowed.set(); +} + +void ShenandoahUncommitThread::run_service() { + assert(ShenandoahUncommit, "Thread should only run when uncommit is enabled"); + + // poll_interval avoids constantly polling regions for shrinking. + // Having an interval 10x lower than the delay would mean we hit the + // shrinking with lag of less than 1/10-th of true delay. + // ShenandoahUncommitDelay is in millis, but shrink_period is in seconds. + const int64_t poll_interval = int64_t(ShenandoahUncommitDelay) / 10; + const double shrink_period = double(ShenandoahUncommitDelay) / 1000; + bool timed_out = false; + while (!should_terminate()) { + bool soft_max_changed = _soft_max_changed.try_unset(); + bool explicit_gc_requested = _explicit_gc_requested.try_unset(); + + if (soft_max_changed || explicit_gc_requested || timed_out) { + double current = os::elapsedTime(); + size_t shrink_until = soft_max_changed ? _heap->soft_max_capacity() : _heap->min_capacity(); + double shrink_before = (soft_max_changed || explicit_gc_requested) ? + current : + current - shrink_period; + + // Explicit GC tries to uncommit everything down to min capacity. + // Soft max change tries to uncommit everything down to target capacity. + // Periodic uncommit tries to uncommit suitable regions down to min capacity. + if (should_uncommit(shrink_before, shrink_until)) { + uncommit(shrink_before, shrink_until); + } + } + { + MonitorLocker locker(&_stop_lock, Mutex::_no_safepoint_check_flag); + if (!_stop_requested.is_set()) { + timed_out = locker.wait(poll_interval); + } + } + } +} + +bool ShenandoahUncommitThread::should_uncommit(double shrink_before, size_t shrink_until) const { + // Only start uncommit if the GC is idle, is not trying to run and there is work to do. + return _heap->is_idle() && is_uncommit_allowed() && has_work(shrink_before, shrink_until); +} + +bool ShenandoahUncommitThread::has_work(double shrink_before, size_t shrink_until) const { + // Determine if there is work to do. This avoids locking the heap if there is + // no work available, avoids spamming logs with superfluous logging messages, + // and minimises the amount of work while locks are held. + + if (_heap->committed() <= shrink_until) { + return false; + } + + for (size_t i = 0; i < _heap->num_regions(); i++) { + ShenandoahHeapRegion *r = _heap->get_region(i); + if (r->is_empty_committed() && (r->empty_time() < shrink_before)) { + return true; + } + } + + return false; +} + +void ShenandoahUncommitThread::notify_soft_max_changed() { + assert(is_uncommit_allowed(), "Only notify if uncommit is allowed"); + if (_soft_max_changed.try_set()) { + MonitorLocker locker(&_stop_lock, Mutex::_no_safepoint_check_flag); + locker.notify_all(); + } +} + +void ShenandoahUncommitThread::notify_explicit_gc_requested() { + assert(is_uncommit_allowed(), "Only notify if uncommit is allowed"); + if (_explicit_gc_requested.try_set()) { + MonitorLocker locker(&_stop_lock, Mutex::_no_safepoint_check_flag); + locker.notify_all(); + } +} + +bool ShenandoahUncommitThread::is_uncommit_allowed() const { + return _uncommit_allowed.is_set(); +} + +void ShenandoahUncommitThread::uncommit(double shrink_before, size_t shrink_until) { + assert(ShenandoahUncommit, "should be enabled"); + assert(_uncommit_in_progress.is_unset(), "Uncommit should not be in progress"); + + if (!is_uncommit_allowed()) { + return; + } + + const char* msg = "Concurrent uncommit"; + EventMark em("%s", msg); + double start = os::elapsedTime(); + log_info(gc, start)("%s", msg); + + _uncommit_in_progress.set(); + + // Application allocates from the beginning of the heap, and GC allocates at + // the end of it. It is more efficient to uncommit from the end, so that applications + // could enjoy the near committed regions. GC allocations are much less frequent, + // and therefore can accept the committing costs. + size_t count = 0; + for (size_t i = _heap->num_regions(); i > 0; i--) { + if (!is_uncommit_allowed()) { + break; + } + + ShenandoahHeapRegion* r = _heap->get_region(i - 1); + if (r->is_empty_committed() && (r->empty_time() < shrink_before)) { + SuspendibleThreadSetJoiner sts_joiner; + ShenandoahHeapLocker locker(_heap->lock()); + if (r->is_empty_committed()) { + if (_heap->committed() < shrink_until + ShenandoahHeapRegion::region_size_bytes()) { + break; + } + + r->make_uncommitted(); + count++; + } + } + SpinPause(); // allow allocators to take the lock + } + + { + MonitorLocker locker(&_uncommit_lock, Mutex::_no_safepoint_check_flag); + _uncommit_in_progress.unset(); + locker.notify_all(); + } + + if (count > 0) { + _heap->notify_heap_changed(); + } + + double elapsed = os::elapsedTime() - start; + log_info(gc)("%s " PROPERFMT " (" PROPERFMT ") %.3fms", + msg, PROPERFMTARGS(count * ShenandoahHeapRegion::region_size_bytes()), PROPERFMTARGS(_heap->capacity()), + elapsed * MILLIUNITS); +} + +void ShenandoahUncommitThread::stop_service() { + MonitorLocker locker(&_stop_lock, Mutex::_safepoint_check_flag); + _stop_requested.set(); + locker.notify_all(); +} + +void ShenandoahUncommitThread::forbid_uncommit() { + MonitorLocker locker(&_uncommit_lock, Mutex::_no_safepoint_check_flag); + _uncommit_allowed.unset(); + while (_uncommit_in_progress.is_set()) { + locker.wait(); + } +} + +void ShenandoahUncommitThread::allow_uncommit() { + _uncommit_allowed.set(); +} diff --git a/src/hotspot/share/gc/shenandoah/shenandoahUncommitThread.hpp b/src/hotspot/share/gc/shenandoah/shenandoahUncommitThread.hpp new file mode 100644 index 0000000000000..6c4e26e4e0fd8 --- /dev/null +++ b/src/hotspot/share/gc/shenandoah/shenandoahUncommitThread.hpp @@ -0,0 +1,97 @@ +/* + * Copyright Amazon.com Inc. 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. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHUNCOMMITTHREAD +#define SHARE_GC_SHENANDOAH_SHENANDOAHUNCOMMITTHREAD + +#include "gc/shared/concurrentGCThread.hpp" + +class ShenandoahHeap; + +class ShenandoahUncommitThread : public ConcurrentGCThread { + ShenandoahHeap* const _heap; + + // Indicates that `SoftMaxHeapSize` has changed + ShenandoahSharedFlag _soft_max_changed; + + // Indicates that an explicit gc has been requested + ShenandoahSharedFlag _explicit_gc_requested; + + // Indicates that the thread should stop and terminate + ShenandoahSharedFlag _stop_requested; + + // Indicates whether it is safe to uncommit regions + ShenandoahSharedFlag _uncommit_allowed; + + // Indicates that regions are being actively uncommitted + ShenandoahSharedFlag _uncommit_in_progress; + + // This lock is used to coordinate stopping and terminating this thread + Monitor _stop_lock; + + // This lock is used to coordinate allowing or forbidding regions to be uncommitted + Monitor _uncommit_lock; + + // True if there are regions to uncommit and uncommits are allowed + bool should_uncommit(double shrink_before, size_t shrink_until) const; + + // True if there are regions that have been empty for longer than ShenandoahUncommitDelay and the committed + // memory is higher than soft max capacity or minimum capacity + bool has_work(double shrink_before, size_t shrink_until) const; + + // Perform the work of uncommitting empty regions + void uncommit(double shrink_before, size_t shrink_until); + + // True if the control thread has allowed this thread to uncommit regions + bool is_uncommit_allowed() const; + +public: + explicit ShenandoahUncommitThread(ShenandoahHeap* heap); + + // Periodically check for regions to uncommit + void run_service() override; + + // Wake up this thread and try to uncommit for changed soft max size + void notify_soft_max_changed(); + + // Wake up this thread and try to uncommit for min heap size + void notify_explicit_gc_requested(); + + // Wait for uncommit operations to stop, returns immediately if uncommit thread is idle + void forbid_uncommit(); + + // Allows uncommit operations to happen, does not block + void allow_uncommit(); + + // True if uncommit is in progress + bool is_uncommit_in_progress() { + return _uncommit_in_progress.is_set(); + } +protected: + // Interrupt and stop this thread + void stop_service() override; +}; + + +#endif //SHARE_GC_SHENANDOAH_SHENANDOAHUNCOMMITTHREAD diff --git a/src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp b/src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp index 190822af9d6bb..fd30279d318a2 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp @@ -242,4 +242,19 @@ class ShenandoahSuspendibleThreadSetLeaver { } }; +// Regions cannot be uncommitted when concurrent reset is zeroing out the bitmaps. +// This CADR class enforces this by forbidding region uncommits while it is in scope. +class ShenandoahNoUncommitMark : public StackObj { + ShenandoahHeap* const _heap; +public: + explicit ShenandoahNoUncommitMark(ShenandoahHeap* heap) : _heap(heap) { + _heap->forbid_uncommit(); + } + + ~ShenandoahNoUncommitMark() { + _heap->allow_uncommit(); + } +}; + + #endif // SHARE_GC_SHENANDOAH_SHENANDOAHUTILS_HPP diff --git a/src/hotspot/share/memory/heap.cpp b/src/hotspot/share/memory/heap.cpp index 658ec3e8de773..92a376defa5a5 100644 --- a/src/hotspot/share/memory/heap.cpp +++ b/src/hotspot/share/memory/heap.cpp @@ -227,13 +227,11 @@ bool CodeHeap::reserve(ReservedSpace rs, size_t committed_size, size_t segment_s const size_t committed_segments_size = align_to_page_size(_number_of_committed_segments); // reserve space for _segmap - ReservedSpace seg_rs(reserved_segments_size); + ReservedSpace seg_rs(reserved_segments_size, mtCode); if (!_segmap.initialize(seg_rs, committed_segments_size)) { return false; } - MemTracker::record_virtual_memory_tag((address)_segmap.low_boundary(), mtCode); - assert(_segmap.committed_size() >= (size_t) _number_of_committed_segments, "could not commit enough space for segment map"); assert(_segmap.reserved_size() >= (size_t) _number_of_reserved_segments , "could not reserve enough space for segment map"); assert(_segmap.reserved_size() >= _segmap.committed_size() , "just checking"); diff --git a/src/hotspot/share/memory/virtualspace.cpp b/src/hotspot/share/memory/virtualspace.cpp index 614a3ab784bbb..33574f7f5d1ea 100644 --- a/src/hotspot/share/memory/virtualspace.cpp +++ b/src/hotspot/share/memory/virtualspace.cpp @@ -45,20 +45,20 @@ ReservedSpace::ReservedSpace() : _base(nullptr), _size(0), _noaccess_prefix(0), _alignment(0), _special(false), _fd_for_heap(-1), _executable(false) { } -ReservedSpace::ReservedSpace(size_t size) : _fd_for_heap(-1) { +ReservedSpace::ReservedSpace(size_t size, MemTag mem_tag) : _fd_for_heap(-1) { // Want to use large pages where possible. If the size is // not large page aligned the mapping will be a mix of // large and normal pages. size_t page_size = os::page_size_for_region_unaligned(size, 1); size_t alignment = os::vm_allocation_granularity(); - initialize(size, alignment, page_size, nullptr, false); + initialize(size, alignment, page_size, nullptr, false, mem_tag); } ReservedSpace::ReservedSpace(size_t size, size_t preferred_page_size) : _fd_for_heap(-1) { // When a page size is given we don't want to mix large // and normal pages. If the size is not a multiple of the // page size it will be aligned up to achieve this. - size_t alignment = os::vm_allocation_granularity();; + size_t alignment = os::vm_allocation_granularity(); if (preferred_page_size != os::vm_page_size()) { alignment = MAX2(preferred_page_size, alignment); size = align_up(size, alignment); @@ -81,19 +81,19 @@ ReservedSpace::ReservedSpace(char* base, size_t size, size_t alignment, size_t p } // Helper method -static char* attempt_map_or_reserve_memory_at(char* base, size_t size, int fd, bool executable) { +static char* attempt_map_or_reserve_memory_at(char* base, size_t size, int fd, bool executable, MemTag mem_tag) { if (fd != -1) { return os::attempt_map_memory_to_file_at(base, size, fd); } - return os::attempt_reserve_memory_at(base, size, executable); + return os::attempt_reserve_memory_at(base, size, executable, mem_tag); } // Helper method -static char* map_or_reserve_memory(size_t size, int fd, bool executable) { +static char* map_or_reserve_memory(size_t size, int fd, bool executable, MemTag mem_tag) { if (fd != -1) { return os::map_memory_to_file(size, fd); } - return os::reserve_memory(size, executable); + return os::reserve_memory(size, executable, mem_tag); } // Helper method @@ -154,7 +154,7 @@ static void log_on_large_pages_failure(char* req_addr, size_t bytes) { } static char* reserve_memory(char* requested_address, const size_t size, - const size_t alignment, int fd, bool exec) { + const size_t alignment, int fd, bool exec, MemTag mem_tag) { char* base; // If the memory was requested at a particular address, use // os::attempt_reserve_memory_at() to avoid mapping over something @@ -163,12 +163,12 @@ static char* reserve_memory(char* requested_address, const size_t size, assert(is_aligned(requested_address, alignment), "Requested address " PTR_FORMAT " must be aligned to " SIZE_FORMAT, p2i(requested_address), alignment); - base = attempt_map_or_reserve_memory_at(requested_address, size, fd, exec); + base = attempt_map_or_reserve_memory_at(requested_address, size, fd, exec, mem_tag); } else { // Optimistically assume that the OS returns an aligned base pointer. // When reserving a large address range, most OSes seem to align to at // least 64K. - base = map_or_reserve_memory(size, fd, exec); + base = map_or_reserve_memory(size, fd, exec, mem_tag); // Check alignment constraints. This is only needed when there is // no requested address. if (!is_aligned(base, alignment)) { @@ -220,7 +220,8 @@ void ReservedSpace::reserve(size_t size, size_t alignment, size_t page_size, char* requested_address, - bool executable) { + bool executable, + MemTag mem_tag) { assert(is_aligned(size, alignment), "Size must be aligned to the requested alignment"); // There are basically three different cases that we need to handle below: @@ -235,7 +236,7 @@ void ReservedSpace::reserve(size_t size, // When there is a backing file directory for this space then whether // large pages are allocated is up to the filesystem of the backing file. // So UseLargePages is not taken into account for this reservation. - char* base = reserve_memory(requested_address, size, alignment, _fd_for_heap, executable); + char* base = reserve_memory(requested_address, size, alignment, _fd_for_heap, executable, mem_tag); if (base != nullptr) { initialize_members(base, size, alignment, os::vm_page_size(), true, executable); } @@ -266,7 +267,7 @@ void ReservedSpace::reserve(size_t size, } // == Case 3 == - char* base = reserve_memory(requested_address, size, alignment, -1, executable); + char* base = reserve_memory(requested_address, size, alignment, -1, executable, mem_tag); if (base != nullptr) { // Successful mapping. initialize_members(base, size, alignment, page_size, false, executable); @@ -277,7 +278,8 @@ void ReservedSpace::initialize(size_t size, size_t alignment, size_t page_size, char* requested_address, - bool executable) { + bool executable, + MemTag mem_tag) { const size_t granularity = os::vm_allocation_granularity(); assert((size & (granularity - 1)) == 0, "size not aligned to os::vm_allocation_granularity()"); @@ -298,7 +300,7 @@ void ReservedSpace::initialize(size_t size, alignment = MAX2(alignment, os::vm_page_size()); // Reserve the memory. - reserve(size, alignment, page_size, requested_address, executable); + reserve(size, alignment, page_size, requested_address, executable, mem_tag); // Check that the requested address is used if given. if (failed_to_reserve_as_requested(_base, requested_address)) { @@ -424,7 +426,7 @@ void ReservedHeapSpace::try_reserve_heap(size_t size, p2i(requested_address), size); - reserve(size, alignment, page_size, requested_address, false); + reserve(size, alignment, page_size, requested_address, false, mtJavaHeap); // Check alignment constraints. if (is_reserved() && !is_aligned(_base, _alignment)) { @@ -610,7 +612,7 @@ void ReservedHeapSpace::initialize_compressed_heap(const size_t size, size_t ali // Last, desperate try without any placement. if (_base == nullptr) { log_trace(gc, heap, coops)("Trying to allocate at address null heap of size " SIZE_FORMAT_X, size + noaccess_prefix); - initialize(size + noaccess_prefix, alignment, page_size, nullptr, false); + initialize(size + noaccess_prefix, alignment, page_size, nullptr, false, mtJavaHeap); } } } @@ -653,7 +655,7 @@ ReservedHeapSpace::ReservedHeapSpace(size_t size, size_t alignment, size_t page_ ShouldNotReachHere(); #endif // _LP64 } else { - initialize(size, alignment, page_size, nullptr, false); + initialize(size, alignment, page_size, nullptr, false, mtJavaHeap); } assert(markWord::encode_pointer_as_mark(_base).decode_pointer() == _base, @@ -661,10 +663,6 @@ ReservedHeapSpace::ReservedHeapSpace(size_t size, size_t alignment, size_t page_ assert(markWord::encode_pointer_as_mark(&_base[size]).decode_pointer() == &_base[size], "area must be distinguishable from marks for mark-sweep"); - if (base() != nullptr) { - MemTracker::record_virtual_memory_tag((address)base(), mtJavaHeap); - } - if (_fd_for_heap != -1) { ::close(_fd_for_heap); } @@ -679,8 +677,7 @@ MemRegion ReservedHeapSpace::region() const { ReservedCodeSpace::ReservedCodeSpace(size_t r_size, size_t rs_align, size_t rs_page_size) : ReservedSpace() { - initialize(r_size, rs_align, rs_page_size, /*requested address*/ nullptr, /*executable*/ true); - MemTracker::record_virtual_memory_tag((address)base(), mtCode); + initialize(r_size, rs_align, rs_page_size, /*requested address*/ nullptr, /*executable*/ true, mtCode); } // VirtualSpace diff --git a/src/hotspot/share/memory/virtualspace.hpp b/src/hotspot/share/memory/virtualspace.hpp index 022bcabe7536f..6139c3a413f0e 100644 --- a/src/hotspot/share/memory/virtualspace.hpp +++ b/src/hotspot/share/memory/virtualspace.hpp @@ -26,6 +26,7 @@ #define SHARE_MEMORY_VIRTUALSPACE_HPP #include "memory/memRegion.hpp" +#include "nmt/memTag.hpp" #include "utilities/globalDefinitions.hpp" class outputStream; @@ -61,16 +62,16 @@ class ReservedSpace { size_t page_size, bool special, bool executable); void initialize(size_t size, size_t alignment, size_t page_size, - char* requested_address, bool executable); + char* requested_address, bool executable, MemTag mem_tag = mtNone); void reserve(size_t size, size_t alignment, size_t page_size, - char* requested_address, bool executable); + char* requested_address, bool executable, MemTag mem_tag); public: // Constructor ReservedSpace(); // Initialize the reserved space with the given size. Depending on the size // a suitable page size and alignment will be used. - explicit ReservedSpace(size_t size); + ReservedSpace(size_t size, MemTag mem_tag); // Initialize the reserved space with the given size. The preferred_page_size // is used as the minimum page size/alignment. This may waste some space if // the given size is not aligned to that value, as the reservation will be diff --git a/src/hotspot/share/prims/jni.cpp b/src/hotspot/share/prims/jni.cpp index 7bea3441fa5bf..40d3b5062580a 100644 --- a/src/hotspot/share/prims/jni.cpp +++ b/src/hotspot/share/prims/jni.cpp @@ -2402,11 +2402,10 @@ static char* get_bad_address() { static char* bad_address = nullptr; if (bad_address == nullptr) { size_t size = os::vm_allocation_granularity(); - bad_address = os::reserve_memory(size); + bad_address = os::reserve_memory(size, false, mtInternal); if (bad_address != nullptr) { os::protect_memory(bad_address, size, os::MEM_PROT_READ, /*is_committed*/false); - MemTracker::record_virtual_memory_tag((void*)bad_address, mtInternal); } } return bad_address; diff --git a/src/hotspot/share/prims/whitebox.cpp b/src/hotspot/share/prims/whitebox.cpp index af5f3cf79cabc..d25ee27c0e116 100644 --- a/src/hotspot/share/prims/whitebox.cpp +++ b/src/hotspot/share/prims/whitebox.cpp @@ -711,19 +711,11 @@ WB_ENTRY(void, WB_NMTFree(JNIEnv* env, jobject o, jlong mem)) WB_END WB_ENTRY(jlong, WB_NMTReserveMemory(JNIEnv* env, jobject o, jlong size)) - jlong addr = 0; - - addr = (jlong)(uintptr_t)os::reserve_memory(size); - MemTracker::record_virtual_memory_tag((address)addr, mtTest); - - return addr; + return (jlong)(uintptr_t)os::reserve_memory(size, false, mtTest); WB_END WB_ENTRY(jlong, WB_NMTAttemptReserveMemoryAt(JNIEnv* env, jobject o, jlong addr, jlong size)) - addr = (jlong)(uintptr_t)os::attempt_reserve_memory_at((char*)(uintptr_t)addr, (size_t)size); - MemTracker::record_virtual_memory_tag((address)addr, mtTest); - - return addr; + return (jlong)(uintptr_t)os::attempt_reserve_memory_at((char*)(uintptr_t)addr, (size_t)size, false, mtTest); WB_END WB_ENTRY(void, WB_NMTCommitMemory(JNIEnv* env, jobject o, jlong addr, jlong size)) diff --git a/src/hotspot/share/runtime/safepointMechanism.cpp b/src/hotspot/share/runtime/safepointMechanism.cpp index a6aadf5ebc400..c7e3f55eba355 100644 --- a/src/hotspot/share/runtime/safepointMechanism.cpp +++ b/src/hotspot/share/runtime/safepointMechanism.cpp @@ -58,9 +58,8 @@ void SafepointMechanism::default_initialize() { // Polling page const size_t page_size = os::vm_page_size(); const size_t allocation_size = 2 * page_size; - char* polling_page = os::reserve_memory(allocation_size); - os::commit_memory_or_exit(polling_page, allocation_size, false, "Unable to commit Safepoint polling page"); - MemTracker::record_virtual_memory_tag((address)polling_page, mtSafepoint); + char* polling_page = os::reserve_memory(allocation_size, !ExecMem, mtSafepoint); + os::commit_memory_or_exit(polling_page, allocation_size, !ExecMem, "Unable to commit Safepoint polling page"); char* bad_page = polling_page; char* good_page = polling_page + page_size; diff --git a/src/hotspot/share/utilities/debug.cpp b/src/hotspot/share/utilities/debug.cpp index 7286f70412ae5..07e93ca5710e7 100644 --- a/src/hotspot/share/utilities/debug.cpp +++ b/src/hotspot/share/utilities/debug.cpp @@ -715,10 +715,9 @@ struct TestMultipleStaticAssertFormsInClassScope { // Support for showing register content on asserts/guarantees. #ifdef CAN_SHOW_REGISTERS_ON_ASSERT void initialize_assert_poison() { - char* page = os::reserve_memory(os::vm_page_size()); + char* page = os::reserve_memory(os::vm_page_size(), !ExecMem, mtInternal); if (page) { - MemTracker::record_virtual_memory_tag(page, mtInternal); - if (os::commit_memory(page, os::vm_page_size(), false) && + if (os::commit_memory(page, os::vm_page_size(), !ExecMem) && os::protect_memory(page, os::vm_page_size(), os::MEM_PROT_NONE)) { g_assert_poison = page; g_assert_poison_read_only = page; diff --git a/src/java.base/share/classes/java/io/ObjectInputStream.java b/src/java.base/share/classes/java/io/ObjectInputStream.java index 31d0aecf83110..a47d2d5a325a9 100644 --- a/src/java.base/share/classes/java/io/ObjectInputStream.java +++ b/src/java.base/share/classes/java/io/ObjectInputStream.java @@ -42,7 +42,6 @@ import jdk.internal.event.DeserializationEvent; import jdk.internal.misc.Unsafe; import jdk.internal.util.ByteArray; -import sun.reflect.misc.ReflectUtil; /** * An ObjectInputStream deserializes primitive data and objects previously @@ -1828,12 +1827,6 @@ private ObjectStreamClass readClassDesc(boolean unshared) }; } - private boolean isCustomSubclass() { - // Return true if this class is a custom subclass of ObjectInputStream - return getClass().getClassLoader() - != ObjectInputStream.class.getClassLoader(); - } - /** * Reads in and returns class descriptor for a dynamic proxy class. Sets * passHandle to proxy class descriptor's assigned handle. If proxy class @@ -1879,12 +1872,6 @@ private ObjectStreamClass readProxyDesc(boolean unshared) } else if (!Proxy.isProxyClass(cl)) { throw new InvalidClassException("Not a proxy"); } else { - // ReflectUtil.checkProxyPackageAccess makes a test - // equivalent to isCustomSubclass so there's no need - // to condition this call to isCustomSubclass == true here. - ReflectUtil.checkProxyPackageAccess( - getClass().getClassLoader(), - cl.getInterfaces()); // Filter the interfaces for (Class clazz : cl.getInterfaces()) { filterCheck(clazz, -1); @@ -1954,12 +1941,9 @@ private ObjectStreamClass readNonProxyDesc(boolean unshared) Class cl = null; ClassNotFoundException resolveEx = null; bin.setBlockDataMode(true); - final boolean checksRequired = isCustomSubclass(); try { if ((cl = resolveClass(readDesc)) == null) { resolveEx = new ClassNotFoundException("null class"); - } else if (checksRequired) { - ReflectUtil.checkPackageAccess(cl); } } catch (ClassNotFoundException ex) { resolveEx = ex; diff --git a/src/java.base/share/classes/java/io/ObjectOutputStream.java b/src/java.base/share/classes/java/io/ObjectOutputStream.java index 5225c673705d5..71bda09bd8c8f 100644 --- a/src/java.base/share/classes/java/io/ObjectOutputStream.java +++ b/src/java.base/share/classes/java/io/ObjectOutputStream.java @@ -35,7 +35,6 @@ import jdk.internal.util.ByteArray; import jdk.internal.access.JavaLangAccess; import jdk.internal.access.SharedSecrets; -import sun.reflect.misc.ReflectUtil; import static jdk.internal.util.ModifiedUtf.putChar; import static jdk.internal.util.ModifiedUtf.utfLen; @@ -1170,12 +1169,6 @@ private void writeClassDesc(ObjectStreamClass desc, boolean unshared) } } - private boolean isCustomSubclass() { - // Return true if this class is a custom subclass of ObjectOutputStream - return getClass().getClassLoader() - != ObjectOutputStream.class.getClassLoader(); - } - /** * Writes class descriptor representing a dynamic proxy class to stream. */ @@ -1193,9 +1186,6 @@ private void writeProxyDesc(ObjectStreamClass desc, boolean unshared) } bout.setBlockDataMode(true); - if (isCustomSubclass()) { - ReflectUtil.checkPackageAccess(cl); - } annotateProxyClass(cl); bout.setBlockDataMode(false); bout.writeByte(TC_ENDBLOCKDATA); @@ -1222,9 +1212,6 @@ private void writeNonProxyDesc(ObjectStreamClass desc, boolean unshared) Class cl = desc.forClass(); bout.setBlockDataMode(true); - if (cl != null && isCustomSubclass()) { - ReflectUtil.checkPackageAccess(cl); - } annotateClass(cl); bout.setBlockDataMode(false); bout.writeByte(TC_ENDBLOCKDATA); diff --git a/src/java.base/share/classes/java/lang/Class.java b/src/java.base/share/classes/java/lang/Class.java index 23b8ac3fb9093..7929dd1a09f11 100644 --- a/src/java.base/share/classes/java/lang/Class.java +++ b/src/java.base/share/classes/java/lang/Class.java @@ -60,7 +60,6 @@ import java.util.Arrays; import java.util.Collection; import java.util.HashMap; -import java.util.HashSet; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; @@ -91,7 +90,6 @@ import sun.reflect.generics.repository.ConstructorRepository; import sun.reflect.generics.scope.ClassScope; import sun.reflect.annotation.*; -import sun.reflect.misc.ReflectUtil; /** * Instances of the class {@code Class} represent classes and diff --git a/src/java.base/share/classes/java/lang/classfile/ClassFile.java b/src/java.base/share/classes/java/lang/classfile/ClassFile.java index db293f415888a..d87d27676bcf8 100644 --- a/src/java.base/share/classes/java/lang/classfile/ClassFile.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassFile.java @@ -641,6 +641,12 @@ default List verify(Path path) throws IOException { /** The class major version of JAVA_24. */ int JAVA_24_VERSION = 68; + /** + * The class major version of JAVA_25. + * @since 25 + */ + int JAVA_25_VERSION = 69; + /** * A minor version number indicating a class uses preview features * of a Java SE version since 12, for major versions {@value @@ -652,7 +658,7 @@ default List verify(Path path) throws IOException { * {@return the latest major Java version} */ static int latestMajorVersion() { - return JAVA_24_VERSION; + return JAVA_25_VERSION; } /** diff --git a/src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java b/src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java index 72abe96a55991..b2fa39e166170 100644 --- a/src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java +++ b/src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java @@ -318,6 +318,18 @@ public enum ClassFileFormatVersion { * The Java Virtual Machine Specification, Java SE 24 Edition */ RELEASE_24(68), + + /** + * The version introduced by the Java Platform, Standard Edition + * 25. + * + * @since 25 + * + * @see + * The Java Virtual Machine Specification, Java SE 25 Edition + */ + RELEASE_25(69), ; // Reduce code churn when appending new constants // Note to maintainers: when adding constants for newer releases, @@ -333,7 +345,7 @@ private ClassFileFormatVersion(int major) { * {@return the latest class file format version} */ public static ClassFileFormatVersion latest() { - return RELEASE_24; + return RELEASE_25; } /** diff --git a/src/java.base/share/classes/java/lang/reflect/Proxy.java b/src/java.base/share/classes/java/lang/reflect/Proxy.java index 77f3d3e1e7120..83a1520ce082f 100644 --- a/src/java.base/share/classes/java/lang/reflect/Proxy.java +++ b/src/java.base/share/classes/java/lang/reflect/Proxy.java @@ -52,7 +52,6 @@ import jdk.internal.misc.VM; import jdk.internal.loader.ClassLoaderValue; import jdk.internal.vm.annotation.Stable; -import sun.reflect.misc.ReflectUtil; import static java.lang.invoke.MethodType.methodType; import static java.lang.module.ModuleDescriptor.Modifier.SYNTHETIC; @@ -984,7 +983,7 @@ public static InvocationHandler getInvocationHandler(Object proxy) return ih; } - private static final String PROXY_PACKAGE_PREFIX = ReflectUtil.PROXY_PACKAGE; + private static final String PROXY_PACKAGE_PREFIX = "com.sun.proxy"; /** * A cache of Method -> MethodHandle for default methods. diff --git a/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java b/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java index d51b4ba077064..73fa3eea1bd3a 100644 --- a/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java +++ b/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java @@ -610,12 +610,11 @@ public class ForkJoinPool extends AbstractExecutorService { * it tries to deactivate()), giving up (and rescanning) on "ctl" * contention. To avoid missed signals during deactivation, the * method rescans and reactivates if there may have been a missed - * (external) signal during deactivation. To reduce false-alarm - * reactivations while doing so, we scan multiple times - * (analogously to method quiescent()) before trying to - * reactivate. Because idle workers are often not yet blocked - * (parked), we use a WorkQueue field to advertise that a waiter - * actually needs unparking upon signal. + * signal during deactivation. To reduce false-alarm reactivations + * while doing so, we scan multiple times (analogously to method + * quiescent()) before trying to reactivate. Because idle workers + * are often not yet blocked (parked), we use a WorkQueue field to + * advertise that a waiter actually needs unparking upon signal. * * Quiescence. Workers scan looking for work, giving up when they * don't find any, without being sure that none are available. @@ -1996,7 +1995,7 @@ private int deactivate(WorkQueue w, int phase) { return IDLE; int p = phase | IDLE, activePhase = phase + (IDLE << 1); long pc = ctl, qc = (activePhase & LMASK) | ((pc - RC_UNIT) & UMASK); - w.stackPred = (int)pc; // set ctl stack link + int sp = w.stackPred = (int)pc; // set ctl stack link w.phase = p; if (!compareAndSetCtl(pc, qc)) // try to enqueue return w.phase = phase; // back out on possible signal @@ -2006,18 +2005,18 @@ private int deactivate(WorkQueue w, int phase) { (qs = queues) == null || (n = qs.length) <= 0) return IDLE; // terminating int prechecks = Math.min(ac, 2); // reactivation threshold - for (int k = Math.max(n + (n << 1), SPIN_WAITS << 1);;) { - WorkQueue q; int cap; ForkJoinTask[] a; + for (int k = Math.max(n << 2, SPIN_WAITS << 1);;) { + WorkQueue q; int cap; ForkJoinTask[] a; long c; if (w.phase == activePhase) return activePhase; if (--k < 0) return awaitWork(w, p); // block, drop, or exit - if ((k & 1) != 0) - Thread.onSpinWait(); // interleave spins and rechecks - else if ((q = qs[k & (n - 1)]) != null && - (a = q.array) != null && (cap = a.length) > 0 && + if ((q = qs[k & (n - 1)]) == null) + Thread.onSpinWait(); + else if ((a = q.array) != null && (cap = a.length) > 0 && a[q.base & (cap - 1)] != null && --prechecks < 0 && - ctl == qc && compareAndSetCtl(qc, pc)) + (int)(c = ctl) == activePhase && + compareAndSetCtl(c, (sp & LMASK) | ((c + RC_UNIT) & UMASK))) return w.phase = activePhase; // reactivate } } diff --git a/src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java b/src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java index f8cc49fe25e9d..91995e44ce6cc 100644 --- a/src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java +++ b/src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java @@ -227,7 +227,7 @@ public ClassReader( this.b = classFileBuffer; // Check the class' major_version. This field is after the magic and minor_version fields, which // use 4 and 2 bytes respectively. - if (checkClassVersion && readShort(classFileOffset + 6) > Opcodes.V24) { + if (checkClassVersion && readShort(classFileOffset + 6) > Opcodes.V25) { throw new IllegalArgumentException( "Unsupported class file major version " + readShort(classFileOffset + 6)); } diff --git a/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java b/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java index b51c8978061fd..12ac4e0a41710 100644 --- a/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java +++ b/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java @@ -314,6 +314,7 @@ public interface Opcodes { int V22 = 0 << 16 | 66; int V23 = 0 << 16 | 67; int V24 = 0 << 16 | 68; + int V25 = 0 << 16 | 69; /** * Version flag indicating that the class is using 'preview' features. diff --git a/src/java.base/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java b/src/java.base/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java index 7f2829eda2004..75750d38f2fab 100644 --- a/src/java.base/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java +++ b/src/java.base/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 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 @@ -29,7 +29,6 @@ import java.lang.reflect.AnnotatedType; import java.lang.reflect.Constructor; import java.lang.reflect.GenericDeclaration; -import java.lang.reflect.Member; import java.lang.reflect.Method; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; @@ -41,7 +40,6 @@ import sun.reflect.annotation.AnnotationType; import sun.reflect.generics.factory.GenericsFactory; import sun.reflect.generics.tree.FieldTypeSignature; -import sun.reflect.misc.ReflectUtil; /** * Implementation of {@code java.lang.reflect.TypeVariable} interface @@ -135,13 +133,9 @@ public Type[] getBounds() { * @since 1.5 */ public D getGenericDeclaration() { - if (genericDeclaration instanceof Class c) - ReflectUtil.checkPackageAccess(c); - else if ((genericDeclaration instanceof Method) || - (genericDeclaration instanceof Constructor)) - ReflectUtil.conservativeCheckMemberAccess((Member)genericDeclaration); - else - throw new AssertionError("Unexpected kind of GenericDeclaration"); + assert genericDeclaration instanceof Class || + genericDeclaration instanceof Method || + genericDeclaration instanceof Constructor : "Unexpected kind of GenericDeclaration"; return genericDeclaration; } diff --git a/src/java.base/share/classes/sun/reflect/misc/ConstructorUtil.java b/src/java.base/share/classes/sun/reflect/misc/ConstructorUtil.java deleted file mode 100644 index e0e4233c8a5da..0000000000000 --- a/src/java.base/share/classes/sun/reflect/misc/ConstructorUtil.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2005, 2011, 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 - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package sun.reflect.misc; - -import java.lang.reflect.Constructor; - -public final class ConstructorUtil { - - private ConstructorUtil() { - } - - public static Constructor getConstructor(Class cls, Class[] params) - throws NoSuchMethodException { - ReflectUtil.checkPackageAccess(cls); - return cls.getConstructor(params); - } - - public static Constructor[] getConstructors(Class cls) { - ReflectUtil.checkPackageAccess(cls); - return cls.getConstructors(); - } -} diff --git a/src/java.base/share/classes/sun/reflect/misc/FieldUtil.java b/src/java.base/share/classes/sun/reflect/misc/FieldUtil.java deleted file mode 100644 index 705597c5ecba8..0000000000000 --- a/src/java.base/share/classes/sun/reflect/misc/FieldUtil.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2005, 2011, 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 - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package sun.reflect.misc; - -import java.lang.reflect.Field; - -/* - * Create a trampoline class. - */ -public final class FieldUtil { - - private FieldUtil() { - } - - public static Field getField(Class cls, String name) - throws NoSuchFieldException { - ReflectUtil.checkPackageAccess(cls); - return cls.getField(name); - } - - public static Field[] getFields(Class cls) { - ReflectUtil.checkPackageAccess(cls); - return cls.getFields(); - } -} diff --git a/src/java.base/share/classes/sun/reflect/misc/MethodUtil.java b/src/java.base/share/classes/sun/reflect/misc/MethodUtil.java index fb03b68db1c66..8d950c9a81888 100644 --- a/src/java.base/share/classes/sun/reflect/misc/MethodUtil.java +++ b/src/java.base/share/classes/sun/reflect/misc/MethodUtil.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 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 @@ -79,15 +79,9 @@ private MethodUtil() { public static Method getMethod(Class cls, String name, Class[] args) throws NoSuchMethodException { - ReflectUtil.checkPackageAccess(cls); return cls.getMethod(name, args); } - public static Method[] getMethods(Class cls) { - ReflectUtil.checkPackageAccess(cls); - return cls.getMethods(); - } - /* * Bounce through the trampoline. */ @@ -140,7 +134,6 @@ protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException { // First, check if the class has already been loaded - ReflectUtil.checkPackageAccess(name); Class c = findLoadedClass(name); if (c == null) { try { diff --git a/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java b/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java index 86eadc2b2eea1..812e77a0a82d0 100644 --- a/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java +++ b/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java @@ -25,10 +25,6 @@ package sun.reflect.misc; -import java.lang.reflect.Member; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.lang.reflect.Proxy; import jdk.internal.reflect.Reflection; public final class ReflectUtil { @@ -67,112 +63,4 @@ public static void ensureMemberAccess(Class currentClass, target == null ? null : target.getClass(), modifiers); } - - /** - * Does nothing. - */ - public static void conservativeCheckMemberAccess(Member m) { - } - - /** - * Does nothing. - */ - public static void checkPackageAccess(Class clazz) { - } - - /** - * Does nothing - */ - public static void checkPackageAccess(String name) { - } - - /** - * Returns true. - */ - public static boolean isPackageAccessible(Class clazz) { - return true; - } - - /** - * Returns false. - */ - public static boolean needsPackageAccessCheck(ClassLoader from, ClassLoader to) { - return false; - } - - /** - * Does nothing - */ - public static void checkProxyPackageAccess(Class clazz) { - } - - /** - * Does nothing. - */ - public static void checkProxyPackageAccess(ClassLoader ccl, - Class... interfaces) { - } - - // Note that bytecode instrumentation tools may exclude 'sun.*' - // classes but not generated proxy classes and so keep it in com.sun.* - public static final String PROXY_PACKAGE = "com.sun.proxy"; - - /** - * Test if the given class is a proxy class that implements - * non-public interface. Such proxy class may be in a non-restricted - * package that bypasses checkPackageAccess. - */ - public static boolean isNonPublicProxyClass(Class cls) { - if (!Proxy.isProxyClass(cls)) { - return false; - } - return !Modifier.isPublic(cls.getModifiers()); - } - - /** - * Check if the given method is a method declared in the proxy interface - * implemented by the given proxy instance. - * - * @param proxy a proxy instance - * @param method an interface method dispatched to a InvocationHandler - * - * @throws IllegalArgumentException if the given proxy or method is invalid. - */ - public static void checkProxyMethod(Object proxy, Method method) { - // check if it is a valid proxy instance - if (proxy == null || !Proxy.isProxyClass(proxy.getClass())) { - throw new IllegalArgumentException("Not a Proxy instance"); - } - if (Modifier.isStatic(method.getModifiers())) { - throw new IllegalArgumentException("Can't handle static method"); - } - - Class c = method.getDeclaringClass(); - if (c == Object.class) { - String name = method.getName(); - if (name.equals("hashCode") || name.equals("equals") || name.equals("toString")) { - return; - } - } - - if (isSuperInterface(proxy.getClass(), c)) { - return; - } - - // disallow any method not declared in one of the proxy interfaces - throw new IllegalArgumentException("Can't handle: " + method); - } - - private static boolean isSuperInterface(Class c, Class intf) { - for (Class i : c.getInterfaces()) { - if (i == intf) { - return true; - } - if (isSuperInterface(i, intf)) { - return true; - } - } - return false; - } - } diff --git a/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java b/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java index 59461b54a2bba..9260ce532f160 100644 --- a/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java +++ b/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java @@ -444,6 +444,18 @@ public enum SourceVersion { * The Java Language Specification, Java SE 24 Edition */ RELEASE_24, + + /** + * The version introduced by the Java Platform, Standard Edition + * 25. + * + * @since 25 + * + * @see + * The Java Language Specification, Java SE 25 Edition + */ + RELEASE_25, ; // Reduce code churn when appending new constants // Note that when adding constants for newer releases, the @@ -453,7 +465,7 @@ public enum SourceVersion { * {@return the latest source version that can be modeled} */ public static SourceVersion latest() { - return RELEASE_24; + return RELEASE_25; } private static final SourceVersion latestSupported = getLatestSupported(); @@ -468,7 +480,7 @@ public static SourceVersion latest() { private static SourceVersion getLatestSupported() { int intVersion = Runtime.version().feature(); return (intVersion >= 11) ? - valueOf("RELEASE_" + Math.min(24, intVersion)): + valueOf("RELEASE_" + Math.min(25, intVersion)): RELEASE_10; } diff --git a/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java b/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java index 8940edd685f5a..4d36781c58488 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java @@ -44,7 +44,7 @@ * @see AbstractAnnotationValueVisitor9 * @since 14 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) public abstract class AbstractAnnotationValueVisitor14 extends AbstractAnnotationValueVisitor9 { /** diff --git a/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitorPreview.java b/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitorPreview.java index 724ebe593790c..4afcc7fbf1db3 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitorPreview.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitorPreview.java @@ -50,7 +50,7 @@ * @see AbstractAnnotationValueVisitor14 * @since 23 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) @PreviewFeature(feature=PreviewFeature.Feature.LANGUAGE_MODEL, reflective=true) public abstract class AbstractAnnotationValueVisitorPreview extends AbstractAnnotationValueVisitor14 { diff --git a/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java b/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java index fb4ea7681ccae..3a57ef18c5bb2 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java @@ -50,7 +50,7 @@ * @see AbstractElementVisitor9 * @since 16 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) public abstract class AbstractElementVisitor14 extends AbstractElementVisitor9 { /** * Constructor for concrete subclasses to call. diff --git a/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitorPreview.java b/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitorPreview.java index 7297e7c0c7b26..b9642b203fe10 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitorPreview.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitorPreview.java @@ -53,7 +53,7 @@ * @see AbstractElementVisitor14 * @since 23 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) @PreviewFeature(feature=PreviewFeature.Feature.LANGUAGE_MODEL, reflective=true) public abstract class AbstractElementVisitorPreview extends AbstractElementVisitor14 { /** diff --git a/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java b/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java index ff5fb44e1f1f2..eb96f4abb997a 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java @@ -47,7 +47,7 @@ * @see AbstractTypeVisitor9 * @since 14 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) public abstract class AbstractTypeVisitor14 extends AbstractTypeVisitor9 { /** * Constructor for concrete subclasses to call. diff --git a/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitorPreview.java b/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitorPreview.java index 823bad0748acd..74b007356d483 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitorPreview.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitorPreview.java @@ -53,7 +53,7 @@ * @see AbstractTypeVisitor14 * @since 23 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) @PreviewFeature(feature=PreviewFeature.Feature.LANGUAGE_MODEL, reflective=true) public abstract class AbstractTypeVisitorPreview extends AbstractTypeVisitor14 { /** diff --git a/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java b/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java index d52b62e8e9f5d..d7941d6e15392 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java @@ -61,7 +61,7 @@ * @see ElementKindVisitor9 * @since 16 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) public class ElementKindVisitor14 extends ElementKindVisitor9 { /** * Constructor for concrete subclasses; uses {@code null} for the diff --git a/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitorPreview.java b/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitorPreview.java index 71d5f15fc85b9..868e89c23eb02 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitorPreview.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitorPreview.java @@ -67,7 +67,7 @@ * @see ElementKindVisitor14 * @since 23 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) @PreviewFeature(feature=PreviewFeature.Feature.LANGUAGE_MODEL, reflective=true) public class ElementKindVisitorPreview extends ElementKindVisitor14 { /** diff --git a/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java b/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java index 2f6fb0e03a0d7..e0c05ab228eff 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java @@ -77,7 +77,7 @@ * @see ElementScanner9 * @since 16 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) public class ElementScanner14 extends ElementScanner9 { /** * Constructor for concrete subclasses; uses {@code null} for the diff --git a/src/java.compiler/share/classes/javax/lang/model/util/ElementScannerPreview.java b/src/java.compiler/share/classes/javax/lang/model/util/ElementScannerPreview.java index 85c30afcf2bc2..6d80aa8c66182 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/ElementScannerPreview.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/ElementScannerPreview.java @@ -81,7 +81,7 @@ * @see ElementScanner14 * @since 23 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) @PreviewFeature(feature=PreviewFeature.Feature.LANGUAGE_MODEL, reflective=true) public class ElementScannerPreview extends ElementScanner14 { /** diff --git a/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java b/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java index e0d36308454c1..4682e2a7ee84e 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java @@ -52,7 +52,7 @@ * @see SimpleAnnotationValueVisitor9 * @since 14 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) public class SimpleAnnotationValueVisitor14 extends SimpleAnnotationValueVisitor9 { /** * Constructor for concrete subclasses; uses {@code null} for the diff --git a/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitorPreview.java b/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitorPreview.java index c0444c91060a2..a477f33017c95 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitorPreview.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitorPreview.java @@ -58,7 +58,7 @@ * @see SimpleAnnotationValueVisitor14 * @since 23 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) @PreviewFeature(feature=PreviewFeature.Feature.LANGUAGE_MODEL, reflective=true) public class SimpleAnnotationValueVisitorPreview extends SimpleAnnotationValueVisitor14 { /** diff --git a/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java b/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java index 8c47818ab3042..db97e59152f94 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java @@ -58,7 +58,7 @@ * @see SimpleElementVisitor9 * @since 16 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) public class SimpleElementVisitor14 extends SimpleElementVisitor9 { /** * Constructor for concrete subclasses; uses {@code null} for the diff --git a/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitorPreview.java b/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitorPreview.java index 79da686ee0869..0d9914f3852ef 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitorPreview.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitorPreview.java @@ -61,7 +61,7 @@ * @see SimpleElementVisitor14 * @since 23 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) @PreviewFeature(feature=PreviewFeature.Feature.LANGUAGE_MODEL, reflective=true) public class SimpleElementVisitorPreview extends SimpleElementVisitor14 { /** diff --git a/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java b/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java index 7ee6c25526d0f..3f962137987dc 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java @@ -56,7 +56,7 @@ * @see SimpleTypeVisitor9 * @since 14 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) public class SimpleTypeVisitor14 extends SimpleTypeVisitor9 { /** * Constructor for concrete subclasses; uses {@code null} for the diff --git a/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitorPreview.java b/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitorPreview.java index 1efbe7108370c..13a0ad41d7ed8 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitorPreview.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitorPreview.java @@ -62,7 +62,7 @@ * @see SimpleTypeVisitor14 * @since 23 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) @PreviewFeature(feature=PreviewFeature.Feature.LANGUAGE_MODEL, reflective=true) public class SimpleTypeVisitorPreview extends SimpleTypeVisitor14 { /** diff --git a/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java b/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java index 9c86f855564d6..57d43e77500b5 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java @@ -61,7 +61,7 @@ * @see TypeKindVisitor9 * @since 14 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) public class TypeKindVisitor14 extends TypeKindVisitor9 { /** * Constructor for concrete subclasses to call; uses {@code null} diff --git a/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitorPreview.java b/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitorPreview.java index 70e0498f5658b..3ae19353a0bbb 100644 --- a/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitorPreview.java +++ b/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitorPreview.java @@ -66,7 +66,7 @@ * @see TypeKindVisitor14 * @since 23 */ -@SupportedSourceVersion(RELEASE_24) +@SupportedSourceVersion(RELEASE_25) @PreviewFeature(feature=PreviewFeature.Feature.LANGUAGE_MODEL, reflective=true) public class TypeKindVisitorPreview extends TypeKindVisitor14 { /** diff --git a/src/java.desktop/macosx/classes/com/apple/laf/AquaCaret.java b/src/java.desktop/macosx/classes/com/apple/laf/AquaCaret.java index 9b0981aa8b29a..3c1b147d1eab4 100644 --- a/src/java.desktop/macosx/classes/com/apple/laf/AquaCaret.java +++ b/src/java.desktop/macosx/classes/com/apple/laf/AquaCaret.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -189,20 +189,25 @@ protected synchronized void damage(final Rectangle r) { // intersection of the caret rectangle and the component less the border, if any. final Rectangle caretRect = new Rectangle(x, y, width, height); final Border border = getComponent().getBorder(); - if (border != null) { - final Rectangle alloc = getComponent().getBounds(); - alloc.x = alloc.y = 0; + final Rectangle alloc = getComponent().getBounds(); + alloc.x = alloc.y = 0; + if (border != null && border.isBorderOpaque()) { final Insets borderInsets = border.getBorderInsets(getComponent()); alloc.x += borderInsets.left; alloc.y += borderInsets.top; alloc.width -= borderInsets.left + borderInsets.right; alloc.height -= borderInsets.top + borderInsets.bottom; Rectangle2D.intersect(caretRect, alloc, caretRect); + x = caretRect.x; + y = caretRect.y; + width = Math.max(caretRect.width, 1); + height = Math.max(caretRect.height, 1); + } else { + x = alloc.x; + y = alloc.y; + width = alloc.width; + height = alloc.height; } - x = caretRect.x; - y = caretRect.y; - width = Math.max(caretRect.width, 1); - height = Math.max(caretRect.height, 1); repaint(); } diff --git a/src/java.management/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java b/src/java.management/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java index 53eeb721a13c2..b1fcf7999c620 100644 --- a/src/java.management/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java +++ b/src/java.management/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java @@ -46,7 +46,6 @@ import javax.management.RuntimeErrorException; import javax.management.RuntimeMBeanException; import javax.management.RuntimeOperationsException; -import sun.reflect.misc.ConstructorUtil; /** * Implements the MBeanInstantiator interface. Provides methods for @@ -681,7 +680,7 @@ static Class[] loadSignatureClasses(String signature[], private Constructor findConstructor(Class c, Class[] params) { try { - return ConstructorUtil.getConstructor(c, params); + return c.getConstructor(params); } catch (Exception e) { return null; } diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java index 572a7b126750c..f1c25d032d05c 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java @@ -148,6 +148,11 @@ public enum Source { * 24, tbd */ JDK24("24"), + + /** + * 25, tbd + */ + JDK25("25"), ; // Reduce code churn when appending new constants private static final Context.Key sourceKey = new Context.Key<>(); @@ -200,6 +205,7 @@ public boolean isSupported() { public Target requiredTarget() { return switch(this) { + case JDK25 -> Target.JDK1_25; case JDK24 -> Target.JDK1_24; case JDK23 -> Target.JDK1_23; case JDK22 -> Target.JDK1_22; @@ -351,6 +357,7 @@ public static SourceVersion toSourceVersion(Source source) { case JDK22 -> RELEASE_22; case JDK23 -> RELEASE_23; case JDK24 -> RELEASE_24; + case JDK25 -> RELEASE_25; default -> null; }; } diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java index c7e71f74d8a78..202d92f63bc61 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java @@ -128,6 +128,7 @@ public enum Version { V66(66, 0), // JDK 22 V67(67, 0), // JDK 23 V68(68, 0), // JDK 24 + V69(69, 0), // JDK 25 ; // Reduce code churn when appending new constants Version(int major, int minor) { this.major = major; diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java index b7449cd0577f0..90f235fff04bc 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java @@ -107,6 +107,9 @@ public enum Target { /** JDK 24. */ JDK1_24("24", 68, 0), + + /** JDK 25. */ + JDK1_25("25", 69, 0), ; // Reduce code churn when appending new constants private static final Context.Key targetKey = new Context.Key<>(); diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java index d0eee6d6195c7..7aca585f37ef5 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java @@ -55,7 +55,7 @@ * deletion without notice. */ @SupportedAnnotationTypes("*") -@SupportedSourceVersion(SourceVersion.RELEASE_24) +@SupportedSourceVersion(SourceVersion.RELEASE_25) public class PrintingProcessor extends AbstractProcessor { PrintWriter writer; diff --git a/src/jdk.compiler/share/data/symbols/java.base-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.base-O.sym.txt new file mode 100644 index 0000000000000..8ce4d000efa54 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.base-O.sym.txt @@ -0,0 +1,3713 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.base +header exports java/io,java/lang,java/lang/annotation,java/lang/classfile,java/lang/classfile/attribute,java/lang/classfile/components,java/lang/classfile/constantpool,java/lang/classfile/instruction,java/lang/constant,java/lang/foreign,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr],jdk/internal/javac[java.compiler\u005C;u002C;java.desktop\u005C;u002C;java.se\u005C;u002C;jdk.compiler\u005C;u002C;jdk.incubator.vector\u005C;u002C;jdk.jartool\u005C;u002C;jdk.jdeps\u005C;u002C;jdk.jfr\u005C;u002C;jdk.jlink\u005C;u002C;jdk.jshell],jdk/internal/vm/vector[jdk.incubator.vector] extraModulePackages jdk/internal/access/foreign,jdk/internal/classfile/impl,jdk/internal/constant,jdk/internal/foreign/abi,jdk/internal/foreign/abi/aarch64/linux,jdk/internal/foreign/abi/aarch64/macos,jdk/internal/foreign/abi/aarch64/windows,jdk/internal/foreign/abi/fallback,jdk/internal/foreign/abi/ppc64/aix,jdk/internal/foreign/abi/ppc64/linux,jdk/internal/foreign/abi/riscv64/linux,jdk/internal/foreign/abi/s390/linux,jdk/internal/foreign/abi/x64/sysv,jdk/internal/foreign/abi/x64/windows,jdk/internal/foreign/layout,sun/nio/ch,sun/net,jdk/internal/foreign,jdk/internal/foreign,sun/net,sun/nio/ch uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/InetAddressResolverProvider,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/io/JdkConsoleProvider,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target macos-aarch64 flags 8000 + +class name java/io/BufferedInputStream +-method name read descriptor ()I +-method name read descriptor ([BII)I +-method name skip descriptor (J)J +-method name available descriptor ()I +-method name mark descriptor (I)V +-method name reset descriptor ()V +-method name transferTo descriptor (Ljava/io/OutputStream;)J +method name read descriptor ()I thrownTypes java/io/IOException flags 21 +method name read descriptor ([BII)I thrownTypes java/io/IOException flags 21 +method name skip descriptor (J)J thrownTypes java/io/IOException flags 21 +method name available descriptor ()I thrownTypes java/io/IOException flags 21 +method name mark descriptor (I)V flags 21 +method name reset descriptor ()V thrownTypes java/io/IOException flags 21 +method name transferTo descriptor (Ljava/io/OutputStream;)J thrownTypes java/io/IOException flags 21 + +class name java/io/BufferedOutputStream +-method name write descriptor (I)V +-method name write descriptor ([BII)V +-method name flush descriptor ()V +method name write descriptor (I)V thrownTypes java/io/IOException flags 21 +method name write descriptor ([BII)V thrownTypes java/io/IOException flags 21 +method name flush descriptor ()V thrownTypes java/io/IOException flags 21 + +class name java/io/ByteArrayOutputStream +-method name writeTo descriptor (Ljava/io/OutputStream;)V +method name writeTo descriptor (Ljava/io/OutputStream;)V thrownTypes java/io/IOException flags 21 + +class name java/io/Console +method name println descriptor ()Ljava/io/Console; flags 1 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;IMPLICIT_CLASSES;) +method name readln descriptor ()Ljava/lang/String; flags 1 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;IMPLICIT_CLASSES;) + +class name java/io/IO +method name println descriptor ()V flags 9 +method name readln descriptor ()Ljava/lang/String; flags 9 + +class name java/io/ObjectInputStream +-method name descriptor ()V +-method name enableResolveObject descriptor (Z)Z +method name descriptor ()V thrownTypes java/io/IOException flags 4 +method name enableResolveObject descriptor (Z)Z flags 4 + +class name java/io/ObjectOutputStream +-method name descriptor ()V +-method name enableReplaceObject descriptor (Z)Z +method name descriptor ()V thrownTypes java/io/IOException flags 4 +method name enableReplaceObject descriptor (Z)Z flags 4 + +class name java/io/ObjectStreamClass +-method name forClass descriptor ()Ljava/lang/Class; +method name forClass descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>; + +class name java/io/ObjectStreamField +-method name getType descriptor ()Ljava/lang/Class; +method name getType descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>; + +class name java/io/ProxyingConsole +method name readln descriptor ()Ljava/lang/String; flags 1 + +class name java/io/PushbackInputStream +-method name close descriptor ()V +method name close descriptor ()V thrownTypes java/io/IOException flags 21 + +class name java/io/Reader +method name of descriptor (Ljava/lang/CharSequence;)Ljava/io/Reader; flags 9 + +class name java/lang/Character$UnicodeBlock +field name TODHRI descriptor Ljava/lang/Character$UnicodeBlock; flags 19 +field name GARAY descriptor Ljava/lang/Character$UnicodeBlock; flags 19 +field name TULU_TIGALARI descriptor Ljava/lang/Character$UnicodeBlock; flags 19 +field name MYANMAR_EXTENDED_C descriptor Ljava/lang/Character$UnicodeBlock; flags 19 +field name SUNUWAR descriptor Ljava/lang/Character$UnicodeBlock; flags 19 +field name EGYPTIAN_HIEROGLYPHS_EXTENDED_A descriptor Ljava/lang/Character$UnicodeBlock; flags 19 +field name GURUNG_KHEMA descriptor Ljava/lang/Character$UnicodeBlock; flags 19 +field name KIRAT_RAI descriptor Ljava/lang/Character$UnicodeBlock; flags 19 +field name SYMBOLS_FOR_LEGACY_COMPUTING_SUPPLEMENT descriptor Ljava/lang/Character$UnicodeBlock; flags 19 +field name OL_ONAL descriptor Ljava/lang/Character$UnicodeBlock; flags 19 + +class name java/lang/Character$UnicodeScript +field name TODHRI descriptor Ljava/lang/Character$UnicodeScript; flags 4019 +field name GARAY descriptor Ljava/lang/Character$UnicodeScript; flags 4019 +field name TULU_TIGALARI descriptor Ljava/lang/Character$UnicodeScript; flags 4019 +field name SUNUWAR descriptor Ljava/lang/Character$UnicodeScript; flags 4019 +field name GURUNG_KHEMA descriptor Ljava/lang/Character$UnicodeScript; flags 4019 +field name KIRAT_RAI descriptor Ljava/lang/Character$UnicodeScript; flags 4019 +field name OL_ONAL descriptor Ljava/lang/Character$UnicodeScript; flags 4019 + +class name java/lang/Class +-method name getSigners descriptor ()[Ljava/lang/Object; +-method name forName descriptor (Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; +-method name forName descriptor (Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class; +-method name getClassLoader descriptor ()Ljava/lang/ClassLoader; +-method name getEnclosingMethod descriptor ()Ljava/lang/reflect/Method; +-method name getEnclosingConstructor descriptor ()Ljava/lang/reflect/Constructor; +-method name getDeclaringClass descriptor ()Ljava/lang/Class; +-method name getEnclosingClass descriptor ()Ljava/lang/Class; +-method name getClasses descriptor ()[Ljava/lang/Class; +-method name getFields descriptor ()[Ljava/lang/reflect/Field; +-method name getMethods descriptor ()[Ljava/lang/reflect/Method; +-method name getConstructors descriptor ()[Ljava/lang/reflect/Constructor; +-method name getField descriptor (Ljava/lang/String;)Ljava/lang/reflect/Field; +-method name getMethod descriptor (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; +-method name getConstructor descriptor ([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; +-method name getDeclaredClasses descriptor ()[Ljava/lang/Class; +-method name getDeclaredFields descriptor ()[Ljava/lang/reflect/Field; +-method name getDeclaredMethods descriptor ()[Ljava/lang/reflect/Method; +-method name getDeclaredConstructors descriptor ()[Ljava/lang/reflect/Constructor; +-method name getDeclaredField descriptor (Ljava/lang/String;)Ljava/lang/reflect/Field; +-method name getDeclaredMethod descriptor (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; +-method name getDeclaredConstructor descriptor ([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; +-method name getNestHost descriptor ()Ljava/lang/Class; +-method name getNestMembers descriptor ()[Ljava/lang/Class; +-method name getRecordComponents descriptor ()[Ljava/lang/reflect/RecordComponent; +-method name getPermittedSubclasses descriptor ()[Ljava/lang/Class; +method name getSigners descriptor ()[Ljava/lang/Object; flags 1 +method name forName descriptor (Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; thrownTypes java/lang/ClassNotFoundException flags 9 signature (Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class<*>; +method name forName descriptor (Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class; flags 9 signature (Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class<*>; +method name getClassLoader descriptor ()Ljava/lang/ClassLoader; flags 1 +method name getEnclosingMethod descriptor ()Ljava/lang/reflect/Method; flags 1 +method name getEnclosingConstructor descriptor ()Ljava/lang/reflect/Constructor; flags 1 signature ()Ljava/lang/reflect/Constructor<*>; +method name getDeclaringClass descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>; +method name getEnclosingClass descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>; +method name getClasses descriptor ()[Ljava/lang/Class; flags 1 signature ()[Ljava/lang/Class<*>; +method name getFields descriptor ()[Ljava/lang/reflect/Field; flags 1 +method name getMethods descriptor ()[Ljava/lang/reflect/Method; flags 1 +method name getConstructors descriptor ()[Ljava/lang/reflect/Constructor; flags 1 signature ()[Ljava/lang/reflect/Constructor<*>; +method name getField descriptor (Ljava/lang/String;)Ljava/lang/reflect/Field; thrownTypes java/lang/NoSuchFieldException flags 1 +method name getMethod descriptor (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; thrownTypes java/lang/NoSuchMethodException flags 81 signature (Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method; +method name getConstructor descriptor ([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; thrownTypes java/lang/NoSuchMethodException flags 81 signature ([Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor; +method name getDeclaredClasses descriptor ()[Ljava/lang/Class; flags 1 signature ()[Ljava/lang/Class<*>; +method name getDeclaredFields descriptor ()[Ljava/lang/reflect/Field; flags 1 +method name getRecordComponents descriptor ()[Ljava/lang/reflect/RecordComponent; flags 1 +method name getDeclaredMethods descriptor ()[Ljava/lang/reflect/Method; flags 1 +method name getDeclaredConstructors descriptor ()[Ljava/lang/reflect/Constructor; flags 1 signature ()[Ljava/lang/reflect/Constructor<*>; +method name getDeclaredField descriptor (Ljava/lang/String;)Ljava/lang/reflect/Field; thrownTypes java/lang/NoSuchFieldException flags 1 +method name getDeclaredMethod descriptor (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; thrownTypes java/lang/NoSuchMethodException flags 81 signature (Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method; +method name getDeclaredConstructor descriptor ([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; thrownTypes java/lang/NoSuchMethodException flags 81 signature ([Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor; +method name getNestHost descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>; +method name getNestMembers descriptor ()[Ljava/lang/Class; flags 1 signature ()[Ljava/lang/Class<*>; +method name getPermittedSubclasses descriptor ()[Ljava/lang/Class; flags 1 signature ()[Ljava/lang/Class<*>; + +class name java/lang/ClassLoader +-method name getParent descriptor ()Ljava/lang/ClassLoader; +-method name getPlatformClassLoader descriptor ()Ljava/lang/ClassLoader; +-method name getSystemClassLoader descriptor ()Ljava/lang/ClassLoader; +method name getParent descriptor ()Ljava/lang/ClassLoader; flags 11 +method name getPlatformClassLoader descriptor ()Ljava/lang/ClassLoader; flags 9 +method name getSystemClassLoader descriptor ()Ljava/lang/ClassLoader; flags 9 + +class name java/lang/Math +-method name tanh descriptor (D)D +method name tanh descriptor (D)D flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; + +class name java/lang/Process +method name waitFor descriptor (Ljava/time/Duration;)Z thrownTypes java/lang/InterruptedException flags 1 + +class name java/lang/Runtime +-method name load descriptor (Ljava/lang/String;)V +-method name loadLibrary descriptor (Ljava/lang/String;)V +method name load descriptor (Ljava/lang/String;)V flags 1 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;@Ljdk/internal/javac/Restricted; +method name loadLibrary descriptor (Ljava/lang/String;)V flags 1 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;@Ljdk/internal/javac/Restricted; + +class name java/lang/ScopedValue +-method name runWhere descriptor (Ljava/lang/ScopedValue;Ljava/lang/Object;Ljava/lang/Runnable;)V +-method name callWhere descriptor (Ljava/lang/ScopedValue;Ljava/lang/Object;Ljava/lang/ScopedValue$CallableOp;)Ljava/lang/Object; + +class name java/lang/SecurityManager +header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") +innerclass innerClass java/lang/StackWalker$StackFrame outerClass java/lang/StackWalker innerClassName StackFrame flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name getClassContext descriptor ()[Ljava/lang/Class; +-method name checkMulticast descriptor (Ljava/net/InetAddress;B)V +method name getClassContext descriptor ()[Ljava/lang/Class; flags 4 signature ()[Ljava/lang/Class<*>; +method name checkMulticast descriptor (Ljava/net/InetAddress;B)V flags 1 + +class name java/lang/System +header extends java/lang/Object nestMembers java/lang/System$LoggerFinder,java/lang/System$Logger,java/lang/System$Logger$Level flags 31 +innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 +innerclass innerClass java/lang/System$LoggerFinder outerClass java/lang/System innerClassName LoggerFinder flags 409 +innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 +innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 +-method name load descriptor (Ljava/lang/String;)V +-method name loadLibrary descriptor (Ljava/lang/String;)V +-method name setSecurityManager descriptor (Ljava/lang/SecurityManager;)V +method name load descriptor (Ljava/lang/String;)V flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;@Ljdk/internal/javac/Restricted; +method name loadLibrary descriptor (Ljava/lang/String;)V flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;@Ljdk/internal/javac/Restricted; +method name setSecurityManager descriptor (Ljava/lang/SecurityManager;)V flags 9 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") + +class name java/lang/System$LoggerFinder +header extends java/lang/Object nestHost java/lang/System flags 421 +innerclass innerClass java/lang/System$LoggerFinder outerClass java/lang/System innerClassName LoggerFinder flags 409 +innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 + +class name java/lang/Thread +-method name getContextClassLoader descriptor ()Ljava/lang/ClassLoader; +method name getContextClassLoader descriptor ()Ljava/lang/ClassLoader; flags 1 + +class name java/lang/classfile/AccessFlags +header extends java/lang/Object implements java/lang/classfile/ClassElement,java/lang/classfile/MethodElement,java/lang/classfile/FieldElement sealed true permittedSubclasses jdk/internal/classfile/impl/AccessFlagsImpl flags 601 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +-method name ofClass descriptor (I)Ljava/lang/classfile/AccessFlags; +-method name ofClass descriptor ([Ljava/lang/reflect/AccessFlag;)Ljava/lang/classfile/AccessFlags; +-method name ofField descriptor (I)Ljava/lang/classfile/AccessFlags; +-method name ofField descriptor ([Ljava/lang/reflect/AccessFlag;)Ljava/lang/classfile/AccessFlags; +-method name ofMethod descriptor (I)Ljava/lang/classfile/AccessFlags; +-method name ofMethod descriptor ([Ljava/lang/reflect/AccessFlag;)Ljava/lang/classfile/AccessFlags; + +class name java/lang/classfile/Annotation +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl flags 601 + +class name java/lang/classfile/AnnotationElement +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$AnnotationElementImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$AnnotationElementImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName AnnotationElementImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfClass outerClass java/lang/classfile/AnnotationValue innerClassName OfClass flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfString outerClass java/lang/classfile/AnnotationValue innerClassName OfString flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfLong outerClass java/lang/classfile/AnnotationValue innerClassName OfLong flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfInt outerClass java/lang/classfile/AnnotationValue innerClassName OfInt flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfChar outerClass java/lang/classfile/AnnotationValue innerClassName OfChar flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfShort outerClass java/lang/classfile/AnnotationValue innerClassName OfShort flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfByte outerClass java/lang/classfile/AnnotationValue innerClassName OfByte flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfBoolean outerClass java/lang/classfile/AnnotationValue innerClassName OfBoolean flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfDouble outerClass java/lang/classfile/AnnotationValue innerClassName OfDouble flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfFloat outerClass java/lang/classfile/AnnotationValue innerClassName OfFloat flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfAnnotation outerClass java/lang/classfile/AnnotationValue innerClassName OfAnnotation flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfArray outerClass java/lang/classfile/AnnotationValue innerClassName OfArray flags 609 + +class name java/lang/classfile/AnnotationValue +header extends java/lang/Object nestMembers java/lang/classfile/AnnotationValue$OfEnum,java/lang/classfile/AnnotationValue$OfClass,java/lang/classfile/AnnotationValue$OfBoolean,java/lang/classfile/AnnotationValue$OfByte,java/lang/classfile/AnnotationValue$OfChar,java/lang/classfile/AnnotationValue$OfShort,java/lang/classfile/AnnotationValue$OfInt,java/lang/classfile/AnnotationValue$OfLong,java/lang/classfile/AnnotationValue$OfFloat,java/lang/classfile/AnnotationValue$OfDouble,java/lang/classfile/AnnotationValue$OfString,java/lang/classfile/AnnotationValue$OfConstant,java/lang/classfile/AnnotationValue$OfArray,java/lang/classfile/AnnotationValue$OfAnnotation sealed true permittedSubclasses java/lang/classfile/AnnotationValue$OfAnnotation,java/lang/classfile/AnnotationValue$OfArray,java/lang/classfile/AnnotationValue$OfConstant,java/lang/classfile/AnnotationValue$OfClass,java/lang/classfile/AnnotationValue$OfEnum flags 601 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfEnumImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfEnumImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfEnum outerClass java/lang/classfile/AnnotationValue innerClassName OfEnum flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfClassImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfClassImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfClass outerClass java/lang/classfile/AnnotationValue innerClassName OfClass flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfStringImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfStringImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfString outerClass java/lang/classfile/AnnotationValue innerClassName OfString flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfDoubleImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfDoubleImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfDouble outerClass java/lang/classfile/AnnotationValue innerClassName OfDouble flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfFloatImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfFloatImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfFloat outerClass java/lang/classfile/AnnotationValue innerClassName OfFloat flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfLongImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfLongImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfLong outerClass java/lang/classfile/AnnotationValue innerClassName OfLong flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfIntImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfIntImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfInt outerClass java/lang/classfile/AnnotationValue innerClassName OfInt flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfShortImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfShortImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfShort outerClass java/lang/classfile/AnnotationValue innerClassName OfShort flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfCharImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfCharImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfChar outerClass java/lang/classfile/AnnotationValue innerClassName OfChar flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfByteImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfByteImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfByte outerClass java/lang/classfile/AnnotationValue innerClassName OfByte flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfBooleanImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfBooleanImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfBoolean outerClass java/lang/classfile/AnnotationValue innerClassName OfBoolean flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfAnnotationImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfAnnotationImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfArrayImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfArrayImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfArray outerClass java/lang/classfile/AnnotationValue innerClassName OfArray flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfConstant outerClass java/lang/classfile/AnnotationValue innerClassName OfConstant flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfAnnotation outerClass java/lang/classfile/AnnotationValue innerClassName OfAnnotation flags 609 +-method name ofString descriptor (Ljava/lang/classfile/constantpool/Utf8Entry;)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofString descriptor (Ljava/lang/String;)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofDouble descriptor (Ljava/lang/classfile/constantpool/DoubleEntry;)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofDouble descriptor (D)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofFloat descriptor (Ljava/lang/classfile/constantpool/FloatEntry;)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofFloat descriptor (F)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofLong descriptor (Ljava/lang/classfile/constantpool/LongEntry;)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofLong descriptor (J)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofInt descriptor (Ljava/lang/classfile/constantpool/IntegerEntry;)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofInt descriptor (I)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofShort descriptor (Ljava/lang/classfile/constantpool/IntegerEntry;)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofShort descriptor (S)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofChar descriptor (Ljava/lang/classfile/constantpool/IntegerEntry;)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofChar descriptor (C)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofByte descriptor (Ljava/lang/classfile/constantpool/IntegerEntry;)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofByte descriptor (B)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofBoolean descriptor (Ljava/lang/classfile/constantpool/IntegerEntry;)Ljava/lang/classfile/AnnotationValue$OfConstant; +-method name ofBoolean descriptor (Z)Ljava/lang/classfile/AnnotationValue$OfConstant; +field name TAG_BYTE descriptor I constantValue 66 flags 19 +field name TAG_CHAR descriptor I constantValue 67 flags 19 +field name TAG_DOUBLE descriptor I constantValue 68 flags 19 +field name TAG_FLOAT descriptor I constantValue 70 flags 19 +field name TAG_INT descriptor I constantValue 73 flags 19 +field name TAG_LONG descriptor I constantValue 74 flags 19 +field name TAG_SHORT descriptor I constantValue 83 flags 19 +field name TAG_BOOLEAN descriptor I constantValue 90 flags 19 +field name TAG_STRING descriptor I constantValue 115 flags 19 +field name TAG_ENUM descriptor I constantValue 101 flags 19 +field name TAG_CLASS descriptor I constantValue 99 flags 19 +field name TAG_ANNOTATION descriptor I constantValue 64 flags 19 +field name TAG_ARRAY descriptor I constantValue 91 flags 19 +method name ofString descriptor (Ljava/lang/classfile/constantpool/Utf8Entry;)Ljava/lang/classfile/AnnotationValue$OfString; flags 9 +method name ofString descriptor (Ljava/lang/String;)Ljava/lang/classfile/AnnotationValue$OfString; flags 9 +method name ofDouble descriptor (Ljava/lang/classfile/constantpool/DoubleEntry;)Ljava/lang/classfile/AnnotationValue$OfDouble; flags 9 +method name ofDouble descriptor (D)Ljava/lang/classfile/AnnotationValue$OfDouble; flags 9 +method name ofFloat descriptor (Ljava/lang/classfile/constantpool/FloatEntry;)Ljava/lang/classfile/AnnotationValue$OfFloat; flags 9 +method name ofFloat descriptor (F)Ljava/lang/classfile/AnnotationValue$OfFloat; flags 9 +method name ofLong descriptor (Ljava/lang/classfile/constantpool/LongEntry;)Ljava/lang/classfile/AnnotationValue$OfLong; flags 9 +method name ofLong descriptor (J)Ljava/lang/classfile/AnnotationValue$OfLong; flags 9 +method name ofInt descriptor (Ljava/lang/classfile/constantpool/IntegerEntry;)Ljava/lang/classfile/AnnotationValue$OfInt; flags 9 +method name ofInt descriptor (I)Ljava/lang/classfile/AnnotationValue$OfInt; flags 9 +method name ofShort descriptor (Ljava/lang/classfile/constantpool/IntegerEntry;)Ljava/lang/classfile/AnnotationValue$OfShort; flags 9 +method name ofShort descriptor (S)Ljava/lang/classfile/AnnotationValue$OfShort; flags 9 +method name ofChar descriptor (Ljava/lang/classfile/constantpool/IntegerEntry;)Ljava/lang/classfile/AnnotationValue$OfChar; flags 9 +method name ofChar descriptor (C)Ljava/lang/classfile/AnnotationValue$OfChar; flags 9 +method name ofByte descriptor (Ljava/lang/classfile/constantpool/IntegerEntry;)Ljava/lang/classfile/AnnotationValue$OfByte; flags 9 +method name ofByte descriptor (B)Ljava/lang/classfile/AnnotationValue$OfByte; flags 9 +method name ofBoolean descriptor (Ljava/lang/classfile/constantpool/IntegerEntry;)Ljava/lang/classfile/AnnotationValue$OfBoolean; flags 9 +method name ofBoolean descriptor (Z)Ljava/lang/classfile/AnnotationValue$OfBoolean; flags 9 + +class name java/lang/classfile/AnnotationValue$OfAnnotation +header extends java/lang/Object implements java/lang/classfile/AnnotationValue nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfAnnotationImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfAnnotation outerClass java/lang/classfile/AnnotationValue innerClassName OfAnnotation flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfAnnotationImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfAnnotationImpl flags 19 + +class name java/lang/classfile/AnnotationValue$OfArray +header extends java/lang/Object implements java/lang/classfile/AnnotationValue nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfArrayImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfArray outerClass java/lang/classfile/AnnotationValue innerClassName OfArray flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfArrayImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfArrayImpl flags 19 + +class name java/lang/classfile/AnnotationValue$OfBoolean +header extends java/lang/Object implements java/lang/classfile/AnnotationValue$OfConstant nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfBooleanImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfBoolean outerClass java/lang/classfile/AnnotationValue innerClassName OfBoolean flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfConstant outerClass java/lang/classfile/AnnotationValue innerClassName OfConstant flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfBooleanImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfBooleanImpl flags 19 +method name constant descriptor ()Ljava/lang/classfile/constantpool/IntegerEntry; flags 401 +method name resolvedValue descriptor ()Ljava/lang/Boolean; flags 1 +method name resolvedValue descriptor ()Ljava/lang/constant/Constable; flags 1041 +method name constant descriptor ()Ljava/lang/classfile/constantpool/AnnotationConstantValueEntry; flags 1041 + +class name java/lang/classfile/AnnotationValue$OfByte +header extends java/lang/Object implements java/lang/classfile/AnnotationValue$OfConstant nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfByteImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfByte outerClass java/lang/classfile/AnnotationValue innerClassName OfByte flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfConstant outerClass java/lang/classfile/AnnotationValue innerClassName OfConstant flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfByteImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfByteImpl flags 19 +method name constant descriptor ()Ljava/lang/classfile/constantpool/IntegerEntry; flags 401 +method name resolvedValue descriptor ()Ljava/lang/Byte; flags 1 +method name resolvedValue descriptor ()Ljava/lang/constant/Constable; flags 1041 +method name constant descriptor ()Ljava/lang/classfile/constantpool/AnnotationConstantValueEntry; flags 1041 + +class name java/lang/classfile/AnnotationValue$OfChar +header extends java/lang/Object implements java/lang/classfile/AnnotationValue$OfConstant nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfCharImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfChar outerClass java/lang/classfile/AnnotationValue innerClassName OfChar flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfConstant outerClass java/lang/classfile/AnnotationValue innerClassName OfConstant flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfCharImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfCharImpl flags 19 +method name constant descriptor ()Ljava/lang/classfile/constantpool/IntegerEntry; flags 401 +method name charValue descriptor ()C flags 401 +method name resolvedValue descriptor ()Ljava/lang/Character; flags 1 +method name resolvedValue descriptor ()Ljava/lang/constant/Constable; flags 1041 +method name constant descriptor ()Ljava/lang/classfile/constantpool/AnnotationConstantValueEntry; flags 1041 + +-class name java/lang/classfile/AnnotationValue$OfCharacter + +class name java/lang/classfile/AnnotationValue$OfClass +header extends java/lang/Object implements java/lang/classfile/AnnotationValue nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfClassImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfClass outerClass java/lang/classfile/AnnotationValue innerClassName OfClass flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfClassImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfClassImpl flags 19 + +class name java/lang/classfile/AnnotationValue$OfConstant +header extends java/lang/Object implements java/lang/classfile/AnnotationValue nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses java/lang/classfile/AnnotationValue$OfString,java/lang/classfile/AnnotationValue$OfDouble,java/lang/classfile/AnnotationValue$OfFloat,java/lang/classfile/AnnotationValue$OfLong,java/lang/classfile/AnnotationValue$OfInt,java/lang/classfile/AnnotationValue$OfShort,java/lang/classfile/AnnotationValue$OfChar,java/lang/classfile/AnnotationValue$OfByte,java/lang/classfile/AnnotationValue$OfBoolean flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfConstant outerClass java/lang/classfile/AnnotationValue innerClassName OfConstant flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfString outerClass java/lang/classfile/AnnotationValue innerClassName OfString flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfDouble outerClass java/lang/classfile/AnnotationValue innerClassName OfDouble flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfFloat outerClass java/lang/classfile/AnnotationValue innerClassName OfFloat flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfLong outerClass java/lang/classfile/AnnotationValue innerClassName OfLong flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfInt outerClass java/lang/classfile/AnnotationValue innerClassName OfInt flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfShort outerClass java/lang/classfile/AnnotationValue innerClassName OfShort flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfChar outerClass java/lang/classfile/AnnotationValue innerClassName OfChar flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfByte outerClass java/lang/classfile/AnnotationValue innerClassName OfByte flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfBoolean outerClass java/lang/classfile/AnnotationValue innerClassName OfBoolean flags 609 +-method name constantValue descriptor ()Ljava/lang/constant/ConstantDesc; +method name resolvedValue descriptor ()Ljava/lang/constant/Constable; flags 401 + +class name java/lang/classfile/AnnotationValue$OfDouble +header extends java/lang/Object implements java/lang/classfile/AnnotationValue$OfConstant nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfDoubleImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfDouble outerClass java/lang/classfile/AnnotationValue innerClassName OfDouble flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfConstant outerClass java/lang/classfile/AnnotationValue innerClassName OfConstant flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfDoubleImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfDoubleImpl flags 19 +method name constant descriptor ()Ljava/lang/classfile/constantpool/DoubleEntry; flags 401 +method name resolvedValue descriptor ()Ljava/lang/Double; flags 1 +method name resolvedValue descriptor ()Ljava/lang/constant/Constable; flags 1041 +method name constant descriptor ()Ljava/lang/classfile/constantpool/AnnotationConstantValueEntry; flags 1041 + +class name java/lang/classfile/AnnotationValue$OfEnum +header extends java/lang/Object implements java/lang/classfile/AnnotationValue nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfEnumImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfEnum outerClass java/lang/classfile/AnnotationValue innerClassName OfEnum flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfEnumImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfEnumImpl flags 19 + +class name java/lang/classfile/AnnotationValue$OfFloat +header extends java/lang/Object implements java/lang/classfile/AnnotationValue$OfConstant nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfFloatImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfFloat outerClass java/lang/classfile/AnnotationValue innerClassName OfFloat flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfConstant outerClass java/lang/classfile/AnnotationValue innerClassName OfConstant flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfFloatImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfFloatImpl flags 19 +method name constant descriptor ()Ljava/lang/classfile/constantpool/FloatEntry; flags 401 +method name resolvedValue descriptor ()Ljava/lang/Float; flags 1 +method name resolvedValue descriptor ()Ljava/lang/constant/Constable; flags 1041 +method name constant descriptor ()Ljava/lang/classfile/constantpool/AnnotationConstantValueEntry; flags 1041 + +class name java/lang/classfile/AnnotationValue$OfInt +header extends java/lang/Object implements java/lang/classfile/AnnotationValue$OfConstant nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfIntImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfInt outerClass java/lang/classfile/AnnotationValue innerClassName OfInt flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfConstant outerClass java/lang/classfile/AnnotationValue innerClassName OfConstant flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfIntImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfIntImpl flags 19 +method name constant descriptor ()Ljava/lang/classfile/constantpool/IntegerEntry; flags 401 +method name intValue descriptor ()I flags 401 +method name resolvedValue descriptor ()Ljava/lang/Integer; flags 1 +method name resolvedValue descriptor ()Ljava/lang/constant/Constable; flags 1041 +method name constant descriptor ()Ljava/lang/classfile/constantpool/AnnotationConstantValueEntry; flags 1041 + +-class name java/lang/classfile/AnnotationValue$OfInteger + +class name java/lang/classfile/AnnotationValue$OfLong +header extends java/lang/Object implements java/lang/classfile/AnnotationValue$OfConstant nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfLongImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfLong outerClass java/lang/classfile/AnnotationValue innerClassName OfLong flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfConstant outerClass java/lang/classfile/AnnotationValue innerClassName OfConstant flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfLongImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfLongImpl flags 19 +method name constant descriptor ()Ljava/lang/classfile/constantpool/LongEntry; flags 401 +method name resolvedValue descriptor ()Ljava/lang/Long; flags 1 +method name resolvedValue descriptor ()Ljava/lang/constant/Constable; flags 1041 +method name constant descriptor ()Ljava/lang/classfile/constantpool/AnnotationConstantValueEntry; flags 1041 + +class name java/lang/classfile/AnnotationValue$OfShort +header extends java/lang/Object implements java/lang/classfile/AnnotationValue$OfConstant nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfShortImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfShort outerClass java/lang/classfile/AnnotationValue innerClassName OfShort flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfConstant outerClass java/lang/classfile/AnnotationValue innerClassName OfConstant flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfShortImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfShortImpl flags 19 +method name constant descriptor ()Ljava/lang/classfile/constantpool/IntegerEntry; flags 401 +method name resolvedValue descriptor ()Ljava/lang/Short; flags 1 +method name resolvedValue descriptor ()Ljava/lang/constant/Constable; flags 1041 +method name constant descriptor ()Ljava/lang/classfile/constantpool/AnnotationConstantValueEntry; flags 1041 + +class name java/lang/classfile/AnnotationValue$OfString +header extends java/lang/Object implements java/lang/classfile/AnnotationValue$OfConstant nestHost java/lang/classfile/AnnotationValue sealed true permittedSubclasses jdk/internal/classfile/impl/AnnotationImpl$OfStringImpl flags 601 +innerclass innerClass java/lang/classfile/AnnotationValue$OfString outerClass java/lang/classfile/AnnotationValue innerClassName OfString flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfConstant outerClass java/lang/classfile/AnnotationValue innerClassName OfConstant flags 609 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfStringImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfStringImpl flags 19 +method name constant descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 401 +method name resolvedValue descriptor ()Ljava/lang/String; flags 1 +method name resolvedValue descriptor ()Ljava/lang/constant/Constable; flags 1041 +method name constant descriptor ()Ljava/lang/classfile/constantpool/AnnotationConstantValueEntry; flags 1041 + +class name java/lang/classfile/Attribute +header extends java/lang/Object implements java/lang/classfile/ClassFileElement sealed true permittedSubclasses java/lang/classfile/attribute/AnnotationDefaultAttribute,java/lang/classfile/attribute/BootstrapMethodsAttribute,java/lang/classfile/attribute/CharacterRangeTableAttribute,java/lang/classfile/attribute/CodeAttribute,java/lang/classfile/attribute/CompilationIDAttribute,java/lang/classfile/attribute/ConstantValueAttribute,java/lang/classfile/attribute/DeprecatedAttribute,java/lang/classfile/attribute/EnclosingMethodAttribute,java/lang/classfile/attribute/ExceptionsAttribute,java/lang/classfile/attribute/InnerClassesAttribute,java/lang/classfile/attribute/LineNumberTableAttribute,java/lang/classfile/attribute/LocalVariableTableAttribute,java/lang/classfile/attribute/LocalVariableTypeTableAttribute,java/lang/classfile/attribute/MethodParametersAttribute,java/lang/classfile/attribute/ModuleAttribute,java/lang/classfile/attribute/ModuleHashesAttribute,java/lang/classfile/attribute/ModuleMainClassAttribute,java/lang/classfile/attribute/ModulePackagesAttribute,java/lang/classfile/attribute/ModuleResolutionAttribute,java/lang/classfile/attribute/ModuleTargetAttribute,java/lang/classfile/attribute/NestHostAttribute,java/lang/classfile/attribute/NestMembersAttribute,java/lang/classfile/attribute/PermittedSubclassesAttribute,java/lang/classfile/attribute/RecordAttribute,java/lang/classfile/attribute/RuntimeInvisibleAnnotationsAttribute,java/lang/classfile/attribute/RuntimeInvisibleParameterAnnotationsAttribute,java/lang/classfile/attribute/RuntimeInvisibleTypeAnnotationsAttribute,java/lang/classfile/attribute/RuntimeVisibleAnnotationsAttribute,java/lang/classfile/attribute/RuntimeVisibleParameterAnnotationsAttribute,java/lang/classfile/attribute/RuntimeVisibleTypeAnnotationsAttribute,java/lang/classfile/attribute/SignatureAttribute,java/lang/classfile/attribute/SourceDebugExtensionAttribute,java/lang/classfile/attribute/SourceFileAttribute,java/lang/classfile/attribute/SourceIDAttribute,java/lang/classfile/attribute/StackMapTableAttribute,java/lang/classfile/attribute/SyntheticAttribute,java/lang/classfile/attribute/UnknownAttribute,jdk/internal/classfile/impl/BoundAttribute,jdk/internal/classfile/impl/UnboundAttribute,java/lang/classfile/CustomAttribute flags 601 signature ;>Ljava/lang/Object;Ljava/lang/classfile/ClassFileElement; +-method name attributeName descriptor ()Ljava/lang/String; +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 401 + +class name java/lang/classfile/AttributeMapper +header extends java/lang/Object nestMembers java/lang/classfile/AttributeMapper$AttributeStability flags 601 signature ;>Ljava/lang/Object; +innerclass innerClass java/lang/classfile/AttributeMapper$AttributeStability outerClass java/lang/classfile/AttributeMapper innerClassName AttributeStability flags 4019 +-method name readAttribute descriptor (Ljava/lang/classfile/AttributedElement;Ljava/lang/classfile/ClassReader;I)Ljava/lang/Object; +-method name writeAttribute descriptor (Ljava/lang/classfile/BufWriter;Ljava/lang/Object;)V +method name readAttribute descriptor (Ljava/lang/classfile/AttributedElement;Ljava/lang/classfile/ClassReader;I)Ljava/lang/classfile/Attribute; flags 401 signature (Ljava/lang/classfile/AttributedElement;Ljava/lang/classfile/ClassReader;I)TA; +method name writeAttribute descriptor (Ljava/lang/classfile/BufWriter;Ljava/lang/classfile/Attribute;)V flags 401 signature (Ljava/lang/classfile/BufWriter;TA;)V + +class name java/lang/classfile/AttributeMapper$AttributeStability +header extends java/lang/Enum nestHost java/lang/classfile/AttributeMapper flags 4031 signature Ljava/lang/Enum; +innerclass innerClass java/lang/classfile/AttributeMapper$AttributeStability outerClass java/lang/classfile/AttributeMapper innerClassName AttributeStability flags 4019 + +class name java/lang/classfile/AttributedElement +header extends java/lang/Object implements java/lang/classfile/ClassFileElement sealed true permittedSubclasses java/lang/classfile/ClassModel,java/lang/classfile/CodeModel,java/lang/classfile/FieldModel,java/lang/classfile/MethodModel,java/lang/classfile/attribute/RecordComponentInfo,jdk/internal/classfile/impl/AbstractUnboundModel flags 601 + +class name java/lang/classfile/Attributes +header extends java/lang/Object flags 31 + +class name java/lang/classfile/BootstrapMethodEntry +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/BootstrapMethodEntryImpl flags 601 + +class name java/lang/classfile/BufWriter +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/BufWriterImpl flags 601 +-method name writeBytes descriptor (Ljava/lang/classfile/BufWriter;)V +-method name writeList descriptor (Ljava/util/List;)V +-method name writeListIndices descriptor (Ljava/util/List;)V +-method name copyTo descriptor ([BI)V + +class name java/lang/classfile/ClassBuilder +header extends java/lang/Object implements java/lang/classfile/ClassFileBuilder sealed true permittedSubclasses jdk/internal/classfile/impl/ChainedClassBuilder,jdk/internal/classfile/impl/DirectClassBuilder flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/ClassFileBuilder; +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +-method name original descriptor ()Ljava/util/Optional; + +class name java/lang/classfile/ClassElement +header extends java/lang/Object implements java/lang/classfile/ClassFileElement sealed true permittedSubclasses java/lang/classfile/AccessFlags,java/lang/classfile/Superclass,java/lang/classfile/Interfaces,java/lang/classfile/ClassFileVersion,java/lang/classfile/FieldModel,java/lang/classfile/MethodModel,java/lang/classfile/CustomAttribute,java/lang/classfile/attribute/CompilationIDAttribute,java/lang/classfile/attribute/DeprecatedAttribute,java/lang/classfile/attribute/EnclosingMethodAttribute,java/lang/classfile/attribute/InnerClassesAttribute,java/lang/classfile/attribute/ModuleAttribute,java/lang/classfile/attribute/ModuleHashesAttribute,java/lang/classfile/attribute/ModuleMainClassAttribute,java/lang/classfile/attribute/ModulePackagesAttribute,java/lang/classfile/attribute/ModuleResolutionAttribute,java/lang/classfile/attribute/ModuleTargetAttribute,java/lang/classfile/attribute/NestHostAttribute,java/lang/classfile/attribute/NestMembersAttribute,java/lang/classfile/attribute/PermittedSubclassesAttribute,java/lang/classfile/attribute/RecordAttribute,java/lang/classfile/attribute/RuntimeInvisibleAnnotationsAttribute,java/lang/classfile/attribute/RuntimeInvisibleTypeAnnotationsAttribute,java/lang/classfile/attribute/RuntimeVisibleAnnotationsAttribute,java/lang/classfile/attribute/RuntimeVisibleTypeAnnotationsAttribute,java/lang/classfile/attribute/SignatureAttribute,java/lang/classfile/attribute/SourceDebugExtensionAttribute,java/lang/classfile/attribute/SourceFileAttribute,java/lang/classfile/attribute/SourceIDAttribute,java/lang/classfile/attribute/SyntheticAttribute,java/lang/classfile/attribute/UnknownAttribute flags 601 + +class name java/lang/classfile/ClassFile +header extends java/lang/Object nestMembers java/lang/classfile/ClassFile$AttributesProcessingOption,java/lang/classfile/ClassFile$StackMapsOption,java/lang/classfile/ClassFile$ShortJumpsOption,java/lang/classfile/ClassFile$LineNumbersOption,java/lang/classfile/ClassFile$DebugElementsOption,java/lang/classfile/ClassFile$DeadLabelsOption,java/lang/classfile/ClassFile$DeadCodeOption,java/lang/classfile/ClassFile$ConstantPoolSharingOption,java/lang/classfile/ClassFile$ClassHierarchyResolverOption,java/lang/classfile/ClassFile$AttributeMapperOption,java/lang/classfile/ClassFile$Option sealed true permittedSubclasses jdk/internal/classfile/impl/ClassFileImpl flags 601 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 +innerclass innerClass java/lang/classfile/ClassFile$AttributesProcessingOption outerClass java/lang/classfile/ClassFile innerClassName AttributesProcessingOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$StackMapsOption outerClass java/lang/classfile/ClassFile innerClassName StackMapsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$ShortJumpsOption outerClass java/lang/classfile/ClassFile innerClassName ShortJumpsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$LineNumbersOption outerClass java/lang/classfile/ClassFile innerClassName LineNumbersOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$DebugElementsOption outerClass java/lang/classfile/ClassFile innerClassName DebugElementsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$DeadLabelsOption outerClass java/lang/classfile/ClassFile innerClassName DeadLabelsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$DeadCodeOption outerClass java/lang/classfile/ClassFile innerClassName DeadCodeOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$ConstantPoolSharingOption outerClass java/lang/classfile/ClassFile innerClassName ConstantPoolSharingOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$ClassHierarchyResolverOption outerClass java/lang/classfile/ClassFile innerClassName ClassHierarchyResolverOption flags 609 +innerclass innerClass java/lang/classfile/ClassFile$AttributeMapperOption outerClass java/lang/classfile/ClassFile innerClassName AttributeMapperOption flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-field name NOP descriptor I +-field name ACONST_NULL descriptor I +-field name ICONST_M1 descriptor I +-field name ICONST_0 descriptor I +-field name ICONST_1 descriptor I +-field name ICONST_2 descriptor I +-field name ICONST_3 descriptor I +-field name ICONST_4 descriptor I +-field name ICONST_5 descriptor I +-field name LCONST_0 descriptor I +-field name LCONST_1 descriptor I +-field name FCONST_0 descriptor I +-field name FCONST_1 descriptor I +-field name FCONST_2 descriptor I +-field name DCONST_0 descriptor I +-field name DCONST_1 descriptor I +-field name BIPUSH descriptor I +-field name SIPUSH descriptor I +-field name LDC descriptor I +-field name LDC_W descriptor I +-field name LDC2_W descriptor I +-field name ILOAD descriptor I +-field name LLOAD descriptor I +-field name FLOAD descriptor I +-field name DLOAD descriptor I +-field name ALOAD descriptor I +-field name ILOAD_0 descriptor I +-field name ILOAD_1 descriptor I +-field name ILOAD_2 descriptor I +-field name ILOAD_3 descriptor I +-field name LLOAD_0 descriptor I +-field name LLOAD_1 descriptor I +-field name LLOAD_2 descriptor I +-field name LLOAD_3 descriptor I +-field name FLOAD_0 descriptor I +-field name FLOAD_1 descriptor I +-field name FLOAD_2 descriptor I +-field name FLOAD_3 descriptor I +-field name DLOAD_0 descriptor I +-field name DLOAD_1 descriptor I +-field name DLOAD_2 descriptor I +-field name DLOAD_3 descriptor I +-field name ALOAD_0 descriptor I +-field name ALOAD_1 descriptor I +-field name ALOAD_2 descriptor I +-field name ALOAD_3 descriptor I +-field name IALOAD descriptor I +-field name LALOAD descriptor I +-field name FALOAD descriptor I +-field name DALOAD descriptor I +-field name AALOAD descriptor I +-field name BALOAD descriptor I +-field name CALOAD descriptor I +-field name SALOAD descriptor I +-field name ISTORE descriptor I +-field name LSTORE descriptor I +-field name FSTORE descriptor I +-field name DSTORE descriptor I +-field name ASTORE descriptor I +-field name ISTORE_0 descriptor I +-field name ISTORE_1 descriptor I +-field name ISTORE_2 descriptor I +-field name ISTORE_3 descriptor I +-field name LSTORE_0 descriptor I +-field name LSTORE_1 descriptor I +-field name LSTORE_2 descriptor I +-field name LSTORE_3 descriptor I +-field name FSTORE_0 descriptor I +-field name FSTORE_1 descriptor I +-field name FSTORE_2 descriptor I +-field name FSTORE_3 descriptor I +-field name DSTORE_0 descriptor I +-field name DSTORE_1 descriptor I +-field name DSTORE_2 descriptor I +-field name DSTORE_3 descriptor I +-field name ASTORE_0 descriptor I +-field name ASTORE_1 descriptor I +-field name ASTORE_2 descriptor I +-field name ASTORE_3 descriptor I +-field name IASTORE descriptor I +-field name LASTORE descriptor I +-field name FASTORE descriptor I +-field name DASTORE descriptor I +-field name AASTORE descriptor I +-field name BASTORE descriptor I +-field name CASTORE descriptor I +-field name SASTORE descriptor I +-field name POP descriptor I +-field name POP2 descriptor I +-field name DUP descriptor I +-field name DUP_X1 descriptor I +-field name DUP_X2 descriptor I +-field name DUP2 descriptor I +-field name DUP2_X1 descriptor I +-field name DUP2_X2 descriptor I +-field name SWAP descriptor I +-field name IADD descriptor I +-field name LADD descriptor I +-field name FADD descriptor I +-field name DADD descriptor I +-field name ISUB descriptor I +-field name LSUB descriptor I +-field name FSUB descriptor I +-field name DSUB descriptor I +-field name IMUL descriptor I +-field name LMUL descriptor I +-field name FMUL descriptor I +-field name DMUL descriptor I +-field name IDIV descriptor I +-field name LDIV descriptor I +-field name FDIV descriptor I +-field name DDIV descriptor I +-field name IREM descriptor I +-field name LREM descriptor I +-field name FREM descriptor I +-field name DREM descriptor I +-field name INEG descriptor I +-field name LNEG descriptor I +-field name FNEG descriptor I +-field name DNEG descriptor I +-field name ISHL descriptor I +-field name LSHL descriptor I +-field name ISHR descriptor I +-field name LSHR descriptor I +-field name IUSHR descriptor I +-field name LUSHR descriptor I +-field name IAND descriptor I +-field name LAND descriptor I +-field name IOR descriptor I +-field name LOR descriptor I +-field name IXOR descriptor I +-field name LXOR descriptor I +-field name IINC descriptor I +-field name I2L descriptor I +-field name I2F descriptor I +-field name I2D descriptor I +-field name L2I descriptor I +-field name L2F descriptor I +-field name L2D descriptor I +-field name F2I descriptor I +-field name F2L descriptor I +-field name F2D descriptor I +-field name D2I descriptor I +-field name D2L descriptor I +-field name D2F descriptor I +-field name I2B descriptor I +-field name I2C descriptor I +-field name I2S descriptor I +-field name LCMP descriptor I +-field name FCMPL descriptor I +-field name FCMPG descriptor I +-field name DCMPL descriptor I +-field name DCMPG descriptor I +-field name IFEQ descriptor I +-field name IFNE descriptor I +-field name IFLT descriptor I +-field name IFGE descriptor I +-field name IFGT descriptor I +-field name IFLE descriptor I +-field name IF_ICMPEQ descriptor I +-field name IF_ICMPNE descriptor I +-field name IF_ICMPLT descriptor I +-field name IF_ICMPGE descriptor I +-field name IF_ICMPGT descriptor I +-field name IF_ICMPLE descriptor I +-field name IF_ACMPEQ descriptor I +-field name IF_ACMPNE descriptor I +-field name GOTO descriptor I +-field name JSR descriptor I +-field name RET descriptor I +-field name TABLESWITCH descriptor I +-field name LOOKUPSWITCH descriptor I +-field name IRETURN descriptor I +-field name LRETURN descriptor I +-field name FRETURN descriptor I +-field name DRETURN descriptor I +-field name ARETURN descriptor I +-field name RETURN descriptor I +-field name GETSTATIC descriptor I +-field name PUTSTATIC descriptor I +-field name GETFIELD descriptor I +-field name PUTFIELD descriptor I +-field name INVOKEVIRTUAL descriptor I +-field name INVOKESPECIAL descriptor I +-field name INVOKESTATIC descriptor I +-field name INVOKEINTERFACE descriptor I +-field name INVOKEDYNAMIC descriptor I +-field name NEW descriptor I +-field name NEWARRAY descriptor I +-field name ANEWARRAY descriptor I +-field name ARRAYLENGTH descriptor I +-field name ATHROW descriptor I +-field name CHECKCAST descriptor I +-field name INSTANCEOF descriptor I +-field name MONITORENTER descriptor I +-field name MONITOREXIT descriptor I +-field name WIDE descriptor I +-field name MULTIANEWARRAY descriptor I +-field name IFNULL descriptor I +-field name IFNONNULL descriptor I +-field name GOTO_W descriptor I +-field name JSR_W descriptor I +-field name CRT_STATEMENT descriptor I +-field name CRT_BLOCK descriptor I +-field name CRT_ASSIGNMENT descriptor I +-field name CRT_FLOW_CONTROLLER descriptor I +-field name CRT_FLOW_TARGET descriptor I +-field name CRT_INVOKE descriptor I +-field name CRT_CREATE descriptor I +-field name CRT_BRANCH_TRUE descriptor I +-field name CRT_BRANCH_FALSE descriptor I +-field name TAG_CLASS descriptor I +-field name TAG_CONSTANTDYNAMIC descriptor I +-field name TAG_DOUBLE descriptor I +-field name TAG_FIELDREF descriptor I +-field name TAG_FLOAT descriptor I +-field name TAG_INTEGER descriptor I +-field name TAG_INTERFACEMETHODREF descriptor I +-field name TAG_INVOKEDYNAMIC descriptor I +-field name TAG_LONG descriptor I +-field name TAG_METHODHANDLE descriptor I +-field name TAG_METHODREF descriptor I +-field name TAG_METHODTYPE descriptor I +-field name TAG_MODULE descriptor I +-field name TAG_NAMEANDTYPE descriptor I +-field name TAG_PACKAGE descriptor I +-field name TAG_STRING descriptor I +-field name TAG_UNICODE descriptor I +-field name TAG_UTF8 descriptor I +-field name AEV_BYTE descriptor I +-field name AEV_CHAR descriptor I +-field name AEV_DOUBLE descriptor I +-field name AEV_FLOAT descriptor I +-field name AEV_INT descriptor I +-field name AEV_LONG descriptor I +-field name AEV_SHORT descriptor I +-field name AEV_BOOLEAN descriptor I +-field name AEV_STRING descriptor I +-field name AEV_ENUM descriptor I +-field name AEV_CLASS descriptor I +-field name AEV_ANNOTATION descriptor I +-field name AEV_ARRAY descriptor I +-field name TAT_CLASS_TYPE_PARAMETER descriptor I +-field name TAT_METHOD_TYPE_PARAMETER descriptor I +-field name TAT_CLASS_EXTENDS descriptor I +-field name TAT_CLASS_TYPE_PARAMETER_BOUND descriptor I +-field name TAT_METHOD_TYPE_PARAMETER_BOUND descriptor I +-field name TAT_FIELD descriptor I +-field name TAT_METHOD_RETURN descriptor I +-field name TAT_METHOD_RECEIVER descriptor I +-field name TAT_METHOD_FORMAL_PARAMETER descriptor I +-field name TAT_THROWS descriptor I +-field name TAT_LOCAL_VARIABLE descriptor I +-field name TAT_RESOURCE_VARIABLE descriptor I +-field name TAT_EXCEPTION_PARAMETER descriptor I +-field name TAT_INSTANCEOF descriptor I +-field name TAT_NEW descriptor I +-field name TAT_CONSTRUCTOR_REFERENCE descriptor I +-field name TAT_METHOD_REFERENCE descriptor I +-field name TAT_CAST descriptor I +-field name TAT_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT descriptor I +-field name TAT_METHOD_INVOCATION_TYPE_ARGUMENT descriptor I +-field name TAT_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT descriptor I +-field name TAT_METHOD_REFERENCE_TYPE_ARGUMENT descriptor I +-field name VT_TOP descriptor I +-field name VT_INTEGER descriptor I +-field name VT_FLOAT descriptor I +-field name VT_DOUBLE descriptor I +-field name VT_LONG descriptor I +-field name VT_NULL descriptor I +-field name VT_UNINITIALIZED_THIS descriptor I +-field name VT_OBJECT descriptor I +-field name VT_UNINITIALIZED descriptor I +-field name DEFAULT_CLASS_FLAGS descriptor I +-method name transform descriptor (Ljava/lang/classfile/ClassModel;Ljava/lang/classfile/ClassTransform;)[B +-method name transform descriptor (Ljava/lang/classfile/ClassModel;Ljava/lang/constant/ClassDesc;Ljava/lang/classfile/ClassTransform;)[B +-method name transform descriptor (Ljava/lang/classfile/ClassModel;Ljava/lang/classfile/constantpool/ClassEntry;Ljava/lang/classfile/ClassTransform;)[B +field name JAVA_24_VERSION descriptor I constantValue 68 flags 19 +method name transformClass descriptor (Ljava/lang/classfile/ClassModel;Ljava/lang/classfile/ClassTransform;)[B flags 1 +method name transformClass descriptor (Ljava/lang/classfile/ClassModel;Ljava/lang/constant/ClassDesc;Ljava/lang/classfile/ClassTransform;)[B flags 1 +method name transformClass descriptor (Ljava/lang/classfile/ClassModel;Ljava/lang/classfile/constantpool/ClassEntry;Ljava/lang/classfile/ClassTransform;)[B flags 401 + +class name java/lang/classfile/ClassFile$AttributeMapperOption +header extends java/lang/Object implements java/lang/classfile/ClassFile$Option nestHost java/lang/classfile/ClassFile sealed true permittedSubclasses jdk/internal/classfile/impl/ClassFileImpl$AttributeMapperOptionImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/ClassFileImpl$AttributeMapperOptionImpl outerClass jdk/internal/classfile/impl/ClassFileImpl innerClassName AttributeMapperOptionImpl flags 19 +innerclass innerClass java/lang/classfile/ClassFile$AttributeMapperOption outerClass java/lang/classfile/ClassFile innerClassName AttributeMapperOption flags 609 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 + +class name java/lang/classfile/ClassFile$AttributesProcessingOption +header extends java/lang/Enum implements java/lang/classfile/ClassFile$Option nestHost java/lang/classfile/ClassFile flags 4031 signature Ljava/lang/Enum;Ljava/lang/classfile/ClassFile$Option; +innerclass innerClass java/lang/classfile/ClassFile$AttributesProcessingOption outerClass java/lang/classfile/ClassFile innerClassName AttributesProcessingOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 +-field name DROP_UNSTABLE_ATRIBUTES descriptor Ljava/lang/classfile/ClassFile$AttributesProcessingOption; +field name DROP_UNSTABLE_ATTRIBUTES descriptor Ljava/lang/classfile/ClassFile$AttributesProcessingOption; flags 4019 + +class name java/lang/classfile/ClassFile$ClassHierarchyResolverOption +header extends java/lang/Object implements java/lang/classfile/ClassFile$Option nestHost java/lang/classfile/ClassFile sealed true permittedSubclasses jdk/internal/classfile/impl/ClassFileImpl$ClassHierarchyResolverOptionImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/ClassFileImpl$ClassHierarchyResolverOptionImpl outerClass jdk/internal/classfile/impl/ClassFileImpl innerClassName ClassHierarchyResolverOptionImpl flags 19 +innerclass innerClass java/lang/classfile/ClassFile$ClassHierarchyResolverOption outerClass java/lang/classfile/ClassFile innerClassName ClassHierarchyResolverOption flags 609 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 + +class name java/lang/classfile/ClassFile$ConstantPoolSharingOption +header extends java/lang/Enum implements java/lang/classfile/ClassFile$Option nestHost java/lang/classfile/ClassFile flags 4031 signature Ljava/lang/Enum;Ljava/lang/classfile/ClassFile$Option; +innerclass innerClass java/lang/classfile/ClassFile$ConstantPoolSharingOption outerClass java/lang/classfile/ClassFile innerClassName ConstantPoolSharingOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 + +class name java/lang/classfile/ClassFile$DeadCodeOption +header extends java/lang/Enum implements java/lang/classfile/ClassFile$Option nestHost java/lang/classfile/ClassFile flags 4031 signature Ljava/lang/Enum;Ljava/lang/classfile/ClassFile$Option; +innerclass innerClass java/lang/classfile/ClassFile$DeadCodeOption outerClass java/lang/classfile/ClassFile innerClassName DeadCodeOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 + +class name java/lang/classfile/ClassFile$DeadLabelsOption +header extends java/lang/Enum implements java/lang/classfile/ClassFile$Option nestHost java/lang/classfile/ClassFile flags 4031 signature Ljava/lang/Enum;Ljava/lang/classfile/ClassFile$Option; +innerclass innerClass java/lang/classfile/ClassFile$DeadLabelsOption outerClass java/lang/classfile/ClassFile innerClassName DeadLabelsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 + +class name java/lang/classfile/ClassFile$DebugElementsOption +header extends java/lang/Enum implements java/lang/classfile/ClassFile$Option nestHost java/lang/classfile/ClassFile flags 4031 signature Ljava/lang/Enum;Ljava/lang/classfile/ClassFile$Option; +innerclass innerClass java/lang/classfile/ClassFile$DebugElementsOption outerClass java/lang/classfile/ClassFile innerClassName DebugElementsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 + +class name java/lang/classfile/ClassFile$LineNumbersOption +header extends java/lang/Enum implements java/lang/classfile/ClassFile$Option nestHost java/lang/classfile/ClassFile flags 4031 signature Ljava/lang/Enum;Ljava/lang/classfile/ClassFile$Option; +innerclass innerClass java/lang/classfile/ClassFile$LineNumbersOption outerClass java/lang/classfile/ClassFile innerClassName LineNumbersOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 + +class name java/lang/classfile/ClassFile$Option +header extends java/lang/Object nestHost java/lang/classfile/ClassFile sealed true permittedSubclasses java/lang/classfile/ClassFile$AttributeMapperOption,java/lang/classfile/ClassFile$ClassHierarchyResolverOption,java/lang/classfile/ClassFile$ConstantPoolSharingOption,java/lang/classfile/ClassFile$DeadCodeOption,java/lang/classfile/ClassFile$DeadLabelsOption,java/lang/classfile/ClassFile$DebugElementsOption,java/lang/classfile/ClassFile$LineNumbersOption,java/lang/classfile/ClassFile$ShortJumpsOption,java/lang/classfile/ClassFile$StackMapsOption,java/lang/classfile/ClassFile$AttributesProcessingOption flags 601 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 +innerclass innerClass java/lang/classfile/ClassFile$AttributeMapperOption outerClass java/lang/classfile/ClassFile innerClassName AttributeMapperOption flags 609 +innerclass innerClass java/lang/classfile/ClassFile$ClassHierarchyResolverOption outerClass java/lang/classfile/ClassFile innerClassName ClassHierarchyResolverOption flags 609 +innerclass innerClass java/lang/classfile/ClassFile$ConstantPoolSharingOption outerClass java/lang/classfile/ClassFile innerClassName ConstantPoolSharingOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$DeadCodeOption outerClass java/lang/classfile/ClassFile innerClassName DeadCodeOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$DeadLabelsOption outerClass java/lang/classfile/ClassFile innerClassName DeadLabelsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$DebugElementsOption outerClass java/lang/classfile/ClassFile innerClassName DebugElementsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$LineNumbersOption outerClass java/lang/classfile/ClassFile innerClassName LineNumbersOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$ShortJumpsOption outerClass java/lang/classfile/ClassFile innerClassName ShortJumpsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$StackMapsOption outerClass java/lang/classfile/ClassFile innerClassName StackMapsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$AttributesProcessingOption outerClass java/lang/classfile/ClassFile innerClassName AttributesProcessingOption flags 4019 + +class name java/lang/classfile/ClassFile$ShortJumpsOption +header extends java/lang/Enum implements java/lang/classfile/ClassFile$Option nestHost java/lang/classfile/ClassFile flags 4031 signature Ljava/lang/Enum;Ljava/lang/classfile/ClassFile$Option; +innerclass innerClass java/lang/classfile/ClassFile$ShortJumpsOption outerClass java/lang/classfile/ClassFile innerClassName ShortJumpsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 + +class name java/lang/classfile/ClassFile$StackMapsOption +header extends java/lang/Enum implements java/lang/classfile/ClassFile$Option nestHost java/lang/classfile/ClassFile flags 4031 signature Ljava/lang/Enum;Ljava/lang/classfile/ClassFile$Option; +innerclass innerClass java/lang/classfile/ClassFile$StackMapsOption outerClass java/lang/classfile/ClassFile innerClassName StackMapsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 + +class name java/lang/classfile/ClassFileBuilder +header extends java/lang/Object implements java/util/function/Consumer sealed true permittedSubclasses java/lang/classfile/ClassBuilder,java/lang/classfile/FieldBuilder,java/lang/classfile/MethodBuilder,java/lang/classfile/CodeBuilder flags 601 signature ;>Ljava/lang/Object;Ljava/util/function/Consumer; +-method name canWriteDirect descriptor (Ljava/lang/classfile/constantpool/ConstantPool;)Z +-method name transform descriptor (Ljava/lang/classfile/CompoundElement;Ljava/lang/classfile/ClassFileTransform;)V +method name transform descriptor (Ljava/lang/classfile/CompoundElement;Ljava/lang/classfile/ClassFileTransform;)Ljava/lang/classfile/ClassFileBuilder; flags 1 signature (Ljava/lang/classfile/CompoundElement;Ljava/lang/classfile/ClassFileTransform<*TE;TB;>;)TB; + +class name java/lang/classfile/ClassFileElement +header extends java/lang/Object sealed true permittedSubclasses java/lang/classfile/AttributedElement,java/lang/classfile/CompoundElement,java/lang/classfile/Attribute,java/lang/classfile/ClassElement,java/lang/classfile/CodeElement,java/lang/classfile/FieldElement,java/lang/classfile/MethodElement flags 601 + +class name java/lang/classfile/ClassFileTransform +header extends java/lang/Object sealed true permittedSubclasses java/lang/classfile/ClassTransform,java/lang/classfile/FieldTransform,java/lang/classfile/MethodTransform,java/lang/classfile/CodeTransform flags 601 signature ;E::Ljava/lang/classfile/ClassFileElement;B::Ljava/lang/classfile/ClassFileBuilder;>Ljava/lang/Object; +-method name resolve descriptor (Ljava/lang/classfile/ClassFileBuilder;)Ljava/lang/classfile/ClassFileTransform$ResolvedTransform; + +-class name java/lang/classfile/ClassFileTransform$ResolvedTransform + +class name java/lang/classfile/ClassFileVersion +header extends java/lang/Object implements java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/ClassFileVersionImpl flags 601 + +class name java/lang/classfile/ClassHierarchyResolver +header extends java/lang/Object nestMembers java/lang/classfile/ClassHierarchyResolver$ClassHierarchyInfo flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass java/lang/classfile/ClassHierarchyResolver$ClassHierarchyInfo outerClass java/lang/classfile/ClassHierarchyResolver innerClassName ClassHierarchyInfo flags 609 + +class name java/lang/classfile/ClassHierarchyResolver$ClassHierarchyInfo +header extends java/lang/Object nestHost java/lang/classfile/ClassHierarchyResolver sealed true permittedSubclasses jdk/internal/classfile/impl/ClassHierarchyImpl$ClassHierarchyInfoImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/ClassHierarchyImpl$ClassHierarchyInfoImpl outerClass jdk/internal/classfile/impl/ClassHierarchyImpl innerClassName ClassHierarchyInfoImpl flags 19 +innerclass innerClass java/lang/classfile/ClassHierarchyResolver$ClassHierarchyInfo outerClass java/lang/classfile/ClassHierarchyResolver innerClassName ClassHierarchyInfo flags 609 + +class name java/lang/classfile/ClassModel +header extends java/lang/Object implements java/lang/classfile/CompoundElement,java/lang/classfile/AttributedElement sealed true permittedSubclasses jdk/internal/classfile/impl/ClassImpl flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/CompoundElement;Ljava/lang/classfile/AttributedElement; + +class name java/lang/classfile/ClassReader +header extends java/lang/Object implements java/lang/classfile/constantpool/ConstantPool sealed true permittedSubclasses jdk/internal/classfile/impl/ClassReaderImpl flags 601 +-method name readUtf8Entry descriptor (I)Ljava/lang/classfile/constantpool/Utf8Entry; +-method name readUtf8EntryOrNull descriptor (I)Ljava/lang/classfile/constantpool/Utf8Entry; +-method name readModuleEntry descriptor (I)Ljava/lang/classfile/constantpool/ModuleEntry; +-method name readPackageEntry descriptor (I)Ljava/lang/classfile/constantpool/PackageEntry; +-method name readClassEntry descriptor (I)Ljava/lang/classfile/constantpool/ClassEntry; +-method name readNameAndTypeEntry descriptor (I)Ljava/lang/classfile/constantpool/NameAndTypeEntry; +-method name readMethodHandleEntry descriptor (I)Ljava/lang/classfile/constantpool/MethodHandleEntry; +-method name compare descriptor (Ljava/lang/classfile/BufWriter;III)Z + +class name java/lang/classfile/ClassSignature +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/SignaturesImpl$ClassSignatureImpl flags 601 +innerclass innerClass java/lang/classfile/Signature$ClassTypeSig outerClass java/lang/classfile/Signature innerClassName ClassTypeSig flags 609 +innerclass innerClass jdk/internal/classfile/impl/SignaturesImpl$ClassSignatureImpl outerClass jdk/internal/classfile/impl/SignaturesImpl innerClassName ClassSignatureImpl flags 19 +innerclass innerClass java/lang/classfile/Signature$TypeParam outerClass java/lang/classfile/Signature innerClassName TypeParam flags 609 + +class name java/lang/classfile/ClassTransform +header extends java/lang/Object implements java/lang/classfile/ClassFileTransform flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/ClassFileTransform; runtimeAnnotations @Ljava/lang/FunctionalInterface; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name resolve descriptor (Ljava/lang/classfile/ClassBuilder;)Ljava/lang/classfile/ClassFileTransform$ResolvedTransform; +-method name resolve descriptor (Ljava/lang/classfile/ClassFileBuilder;)Ljava/lang/classfile/ClassFileTransform$ResolvedTransform; + +class name java/lang/classfile/CodeBuilder +header extends java/lang/Object implements java/lang/classfile/ClassFileBuilder nestMembers java/lang/classfile/CodeBuilder$CatchBuilder,java/lang/classfile/CodeBuilder$BlockCodeBuilder sealed true permittedSubclasses java/lang/classfile/CodeBuilder$BlockCodeBuilder,jdk/internal/classfile/impl/ChainedCodeBuilder,jdk/internal/classfile/impl/TerminalCodeBuilder,jdk/internal/classfile/impl/NonterminalCodeBuilder flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/ClassFileBuilder; +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass java/lang/classfile/instruction/ConstantInstruction$IntrinsicConstantInstruction outerClass java/lang/classfile/instruction/ConstantInstruction innerClassName IntrinsicConstantInstruction flags 609 +innerclass innerClass java/lang/classfile/instruction/ConstantInstruction$ArgumentConstantInstruction outerClass java/lang/classfile/instruction/ConstantInstruction innerClassName ArgumentConstantInstruction flags 609 +innerclass innerClass java/lang/classfile/instruction/ConstantInstruction$LoadConstantInstruction outerClass java/lang/classfile/instruction/ConstantInstruction innerClassName LoadConstantInstruction flags 609 +innerclass innerClass java/lang/classfile/CodeBuilder$CatchBuilder outerClass java/lang/classfile/CodeBuilder innerClassName CatchBuilder flags 609 +innerclass innerClass java/lang/classfile/CodeBuilder$BlockCodeBuilder outerClass java/lang/classfile/CodeBuilder innerClassName BlockCodeBuilder flags 609 +-method name original descriptor ()Ljava/util/Optional; +-method name if_nonnull descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; +-method name if_null descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; +-method name loadConstant descriptor (Ljava/lang/classfile/Opcode;Ljava/lang/constant/ConstantDesc;)Ljava/lang/classfile/CodeBuilder; +method name loadConstant descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name loadConstant descriptor (J)Ljava/lang/classfile/CodeBuilder; flags 1 +method name loadConstant descriptor (F)Ljava/lang/classfile/CodeBuilder; flags 1 +method name loadConstant descriptor (D)Ljava/lang/classfile/CodeBuilder; flags 1 +method name ifnonnull descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name ifnull descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 + +class name java/lang/classfile/CodeBuilder$BlockCodeBuilder +header extends java/lang/Object implements java/lang/classfile/CodeBuilder nestHost java/lang/classfile/CodeBuilder sealed true permittedSubclasses jdk/internal/classfile/impl/BlockCodeBuilderImpl flags 601 +innerclass innerClass java/lang/classfile/CodeBuilder$BlockCodeBuilder outerClass java/lang/classfile/CodeBuilder innerClassName BlockCodeBuilder flags 609 + +class name java/lang/classfile/CodeBuilder$CatchBuilder +header extends java/lang/Object nestHost java/lang/classfile/CodeBuilder sealed true permittedSubclasses jdk/internal/classfile/impl/CatchBuilderImpl flags 601 +innerclass innerClass java/lang/classfile/CodeBuilder$CatchBuilder outerClass java/lang/classfile/CodeBuilder innerClassName CatchBuilder flags 609 +innerclass innerClass java/lang/classfile/CodeBuilder$BlockCodeBuilder outerClass java/lang/classfile/CodeBuilder innerClassName BlockCodeBuilder flags 609 + +class name java/lang/classfile/CodeElement +header extends java/lang/Object implements java/lang/classfile/ClassFileElement sealed true permittedSubclasses java/lang/classfile/Instruction,java/lang/classfile/PseudoInstruction,java/lang/classfile/CustomAttribute,java/lang/classfile/attribute/RuntimeVisibleTypeAnnotationsAttribute,java/lang/classfile/attribute/RuntimeInvisibleTypeAnnotationsAttribute,java/lang/classfile/attribute/StackMapTableAttribute flags 601 + +class name java/lang/classfile/CodeModel +header extends java/lang/Object implements java/lang/classfile/CompoundElement,java/lang/classfile/AttributedElement,java/lang/classfile/MethodElement sealed true permittedSubclasses java/lang/classfile/attribute/CodeAttribute,jdk/internal/classfile/impl/BufferedCodeBuilder$Model flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/CompoundElement;Ljava/lang/classfile/AttributedElement;Ljava/lang/classfile/MethodElement; +innerclass innerClass jdk/internal/classfile/impl/BufferedCodeBuilder$Model outerClass jdk/internal/classfile/impl/BufferedCodeBuilder innerClassName Model flags 11 +-method name maxLocals descriptor ()I +-method name maxStack descriptor ()I + +class name java/lang/classfile/CodeTransform +header extends java/lang/Object implements java/lang/classfile/ClassFileTransform flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/ClassFileTransform; runtimeAnnotations @Ljava/lang/FunctionalInterface; +-method name resolve descriptor (Ljava/lang/classfile/CodeBuilder;)Ljava/lang/classfile/ClassFileTransform$ResolvedTransform; +-method name resolve descriptor (Ljava/lang/classfile/ClassFileBuilder;)Ljava/lang/classfile/ClassFileTransform$ResolvedTransform; + +class name java/lang/classfile/CompoundElement +header extends java/lang/Object implements java/lang/classfile/ClassFileElement,java/lang/Iterable sealed true permittedSubclasses java/lang/classfile/ClassModel,java/lang/classfile/CodeModel,java/lang/classfile/FieldModel,java/lang/classfile/MethodModel,jdk/internal/classfile/impl/AbstractUnboundModel flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/ClassFileElement;Ljava/lang/Iterable; +-method name forEachElement descriptor (Ljava/util/function/Consumer;)V +-method name elements descriptor ()Ljava/lang/Iterable; +method name forEach descriptor (Ljava/util/function/Consumer;)V flags 401 signature (Ljava/util/function/Consumer<-TE;>;)V + +class name java/lang/classfile/CustomAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/CodeElement,java/lang/classfile/ClassElement,java/lang/classfile/MethodElement,java/lang/classfile/FieldElement flags 421 signature ;>Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/CodeElement;Ljava/lang/classfile/ClassElement;Ljava/lang/classfile/MethodElement;Ljava/lang/classfile/FieldElement; +-method name attributeName descriptor ()Ljava/lang/String; +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name java/lang/classfile/FieldBuilder +header extends java/lang/Object implements java/lang/classfile/ClassFileBuilder sealed true permittedSubclasses jdk/internal/classfile/impl/TerminalFieldBuilder,jdk/internal/classfile/impl/ChainedFieldBuilder flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/ClassFileBuilder; +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +-method name original descriptor ()Ljava/util/Optional; + +class name java/lang/classfile/FieldElement +header extends java/lang/Object implements java/lang/classfile/ClassFileElement sealed true permittedSubclasses java/lang/classfile/AccessFlags,java/lang/classfile/CustomAttribute,java/lang/classfile/attribute/ConstantValueAttribute,java/lang/classfile/attribute/DeprecatedAttribute,java/lang/classfile/attribute/RuntimeInvisibleAnnotationsAttribute,java/lang/classfile/attribute/RuntimeInvisibleTypeAnnotationsAttribute,java/lang/classfile/attribute/RuntimeVisibleAnnotationsAttribute,java/lang/classfile/attribute/RuntimeVisibleTypeAnnotationsAttribute,java/lang/classfile/attribute/SignatureAttribute,java/lang/classfile/attribute/SyntheticAttribute,java/lang/classfile/attribute/UnknownAttribute flags 601 + +class name java/lang/classfile/FieldModel +header extends java/lang/Object implements java/lang/classfile/CompoundElement,java/lang/classfile/AttributedElement,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BufferedFieldBuilder$Model,jdk/internal/classfile/impl/FieldImpl flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/CompoundElement;Ljava/lang/classfile/AttributedElement;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/BufferedFieldBuilder$Model outerClass jdk/internal/classfile/impl/BufferedFieldBuilder innerClassName Model flags 11 + +class name java/lang/classfile/FieldTransform +header extends java/lang/Object implements java/lang/classfile/ClassFileTransform flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/ClassFileTransform; runtimeAnnotations @Ljava/lang/FunctionalInterface; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name resolve descriptor (Ljava/lang/classfile/FieldBuilder;)Ljava/lang/classfile/ClassFileTransform$ResolvedTransform; +-method name resolve descriptor (Ljava/lang/classfile/ClassFileBuilder;)Ljava/lang/classfile/ClassFileTransform$ResolvedTransform; + +class name java/lang/classfile/Instruction +header extends java/lang/Object implements java/lang/classfile/CodeElement sealed true permittedSubclasses java/lang/classfile/instruction/ArrayLoadInstruction,java/lang/classfile/instruction/ArrayStoreInstruction,java/lang/classfile/instruction/BranchInstruction,java/lang/classfile/instruction/ConstantInstruction,java/lang/classfile/instruction/ConvertInstruction,java/lang/classfile/instruction/DiscontinuedInstruction,java/lang/classfile/instruction/FieldInstruction,java/lang/classfile/instruction/InvokeDynamicInstruction,java/lang/classfile/instruction/InvokeInstruction,java/lang/classfile/instruction/LoadInstruction,java/lang/classfile/instruction/StoreInstruction,java/lang/classfile/instruction/IncrementInstruction,java/lang/classfile/instruction/LookupSwitchInstruction,java/lang/classfile/instruction/MonitorInstruction,java/lang/classfile/instruction/NewMultiArrayInstruction,java/lang/classfile/instruction/NewObjectInstruction,java/lang/classfile/instruction/NewPrimitiveArrayInstruction,java/lang/classfile/instruction/NewReferenceArrayInstruction,java/lang/classfile/instruction/NopInstruction,java/lang/classfile/instruction/OperatorInstruction,java/lang/classfile/instruction/ReturnInstruction,java/lang/classfile/instruction/StackInstruction,java/lang/classfile/instruction/TableSwitchInstruction,java/lang/classfile/instruction/ThrowInstruction,java/lang/classfile/instruction/TypeCheckInstruction,jdk/internal/classfile/impl/AbstractInstruction flags 601 + +class name java/lang/classfile/Interfaces +header extends java/lang/Object implements java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/InterfacesImpl flags 601 + +class name java/lang/classfile/Label +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/LabelImpl flags 601 + +class name java/lang/classfile/MethodBuilder +header extends java/lang/Object implements java/lang/classfile/ClassFileBuilder sealed true permittedSubclasses jdk/internal/classfile/impl/ChainedMethodBuilder,jdk/internal/classfile/impl/TerminalMethodBuilder flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/ClassFileBuilder; +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +-method name original descriptor ()Ljava/util/Optional; + +class name java/lang/classfile/MethodElement +header extends java/lang/Object implements java/lang/classfile/ClassFileElement sealed true permittedSubclasses java/lang/classfile/AccessFlags,java/lang/classfile/CodeModel,java/lang/classfile/CustomAttribute,java/lang/classfile/attribute/AnnotationDefaultAttribute,java/lang/classfile/attribute/DeprecatedAttribute,java/lang/classfile/attribute/ExceptionsAttribute,java/lang/classfile/attribute/MethodParametersAttribute,java/lang/classfile/attribute/RuntimeInvisibleAnnotationsAttribute,java/lang/classfile/attribute/RuntimeInvisibleParameterAnnotationsAttribute,java/lang/classfile/attribute/RuntimeInvisibleTypeAnnotationsAttribute,java/lang/classfile/attribute/RuntimeVisibleAnnotationsAttribute,java/lang/classfile/attribute/RuntimeVisibleParameterAnnotationsAttribute,java/lang/classfile/attribute/RuntimeVisibleTypeAnnotationsAttribute,java/lang/classfile/attribute/SignatureAttribute,java/lang/classfile/attribute/SyntheticAttribute,java/lang/classfile/attribute/UnknownAttribute flags 601 + +class name java/lang/classfile/MethodModel +header extends java/lang/Object implements java/lang/classfile/CompoundElement,java/lang/classfile/AttributedElement,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BufferedMethodBuilder$Model,jdk/internal/classfile/impl/MethodImpl flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/CompoundElement;Ljava/lang/classfile/AttributedElement;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/BufferedMethodBuilder$Model outerClass jdk/internal/classfile/impl/BufferedMethodBuilder innerClassName Model flags 11 + +class name java/lang/classfile/MethodSignature +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/SignaturesImpl$MethodSignatureImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/SignaturesImpl$MethodSignatureImpl outerClass jdk/internal/classfile/impl/SignaturesImpl innerClassName MethodSignatureImpl flags 19 +innerclass innerClass java/lang/classfile/Signature$TypeParam outerClass java/lang/classfile/Signature innerClassName TypeParam flags 609 +innerclass innerClass java/lang/classfile/Signature$ThrowableSig outerClass java/lang/classfile/Signature innerClassName ThrowableSig flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/lang/classfile/MethodTransform +header extends java/lang/Object implements java/lang/classfile/ClassFileTransform flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/ClassFileTransform; runtimeAnnotations @Ljava/lang/FunctionalInterface; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name resolve descriptor (Ljava/lang/classfile/MethodBuilder;)Ljava/lang/classfile/ClassFileTransform$ResolvedTransform; +-method name resolve descriptor (Ljava/lang/classfile/ClassFileBuilder;)Ljava/lang/classfile/ClassFileTransform$ResolvedTransform; + +class name java/lang/classfile/Opcode +header extends java/lang/Enum nestMembers java/lang/classfile/Opcode$Kind flags 4031 signature Ljava/lang/Enum; +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +-method name primaryTypeKind descriptor ()Ljava/lang/classfile/TypeKind; +-method name secondaryTypeKind descriptor ()Ljava/lang/classfile/TypeKind; +-method name slot descriptor ()I +-method name constantValue descriptor ()Ljava/lang/constant/ConstantDesc; +-method name isUnconditionalBranch descriptor ()Z + +class name java/lang/classfile/Opcode$Kind +header extends java/lang/Enum nestHost java/lang/classfile/Opcode flags 4031 signature Ljava/lang/Enum; +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 + +class name java/lang/classfile/PseudoInstruction +header extends java/lang/Object implements java/lang/classfile/CodeElement sealed true permittedSubclasses java/lang/classfile/instruction/CharacterRange,java/lang/classfile/instruction/ExceptionCatch,java/lang/classfile/instruction/LabelTarget,java/lang/classfile/instruction/LineNumber,java/lang/classfile/instruction/LocalVariable,java/lang/classfile/instruction/LocalVariableType,jdk/internal/classfile/impl/AbstractPseudoInstruction flags 601 + +class name java/lang/classfile/Signature +header extends java/lang/Object nestMembers java/lang/classfile/Signature$ThrowableSig,java/lang/classfile/Signature$TypeParam,java/lang/classfile/Signature$ArrayTypeSig,java/lang/classfile/Signature$TypeVarSig,java/lang/classfile/Signature$TypeArg,java/lang/classfile/Signature$TypeArg$Bounded,java/lang/classfile/Signature$TypeArg$Bounded$WildcardIndicator,java/lang/classfile/Signature$TypeArg$Unbounded,java/lang/classfile/Signature$ClassTypeSig,java/lang/classfile/Signature$RefTypeSig,java/lang/classfile/Signature$BaseTypeSig sealed true permittedSubclasses java/lang/classfile/Signature$BaseTypeSig,java/lang/classfile/Signature$RefTypeSig,java/lang/classfile/Signature$ThrowableSig flags 601 +innerclass innerClass java/lang/classfile/Signature$ArrayTypeSig outerClass java/lang/classfile/Signature innerClassName ArrayTypeSig flags 609 +innerclass innerClass java/lang/classfile/Signature$BaseTypeSig outerClass java/lang/classfile/Signature innerClassName BaseTypeSig flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg outerClass java/lang/classfile/Signature innerClassName TypeArg flags 609 +innerclass innerClass java/lang/classfile/Signature$ClassTypeSig outerClass java/lang/classfile/Signature innerClassName ClassTypeSig flags 609 +innerclass innerClass java/lang/classfile/Signature$ThrowableSig outerClass java/lang/classfile/Signature innerClassName ThrowableSig flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeParam outerClass java/lang/classfile/Signature innerClassName TypeParam flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeVarSig outerClass java/lang/classfile/Signature innerClassName TypeVarSig flags 609 +innerclass innerClass java/lang/classfile/Signature$RefTypeSig outerClass java/lang/classfile/Signature innerClassName RefTypeSig flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Bounded outerClass java/lang/classfile/Signature$TypeArg innerClassName Bounded flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Bounded$WildcardIndicator outerClass java/lang/classfile/Signature$TypeArg$Bounded innerClassName WildcardIndicator flags 4019 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Unbounded outerClass java/lang/classfile/Signature$TypeArg innerClassName Unbounded flags 609 + +class name java/lang/classfile/Signature$ArrayTypeSig +header extends java/lang/Object implements java/lang/classfile/Signature$RefTypeSig nestHost java/lang/classfile/Signature sealed true permittedSubclasses jdk/internal/classfile/impl/SignaturesImpl$ArrayTypeSigImpl flags 601 +innerclass innerClass java/lang/classfile/Signature$ArrayTypeSig outerClass java/lang/classfile/Signature innerClassName ArrayTypeSig flags 609 +innerclass innerClass jdk/internal/classfile/impl/SignaturesImpl$ArrayTypeSigImpl outerClass jdk/internal/classfile/impl/SignaturesImpl innerClassName ArrayTypeSigImpl flags 19 +innerclass innerClass java/lang/classfile/Signature$RefTypeSig outerClass java/lang/classfile/Signature innerClassName RefTypeSig flags 609 + +class name java/lang/classfile/Signature$BaseTypeSig +header extends java/lang/Object implements java/lang/classfile/Signature nestHost java/lang/classfile/Signature sealed true permittedSubclasses jdk/internal/classfile/impl/SignaturesImpl$BaseTypeSigImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/SignaturesImpl$BaseTypeSigImpl outerClass jdk/internal/classfile/impl/SignaturesImpl innerClassName BaseTypeSigImpl flags 19 +innerclass innerClass java/lang/classfile/Signature$BaseTypeSig outerClass java/lang/classfile/Signature innerClassName BaseTypeSig flags 609 + +class name java/lang/classfile/Signature$ClassTypeSig +header extends java/lang/Object implements java/lang/classfile/Signature$RefTypeSig,java/lang/classfile/Signature$ThrowableSig nestHost java/lang/classfile/Signature sealed true permittedSubclasses jdk/internal/classfile/impl/SignaturesImpl$ClassTypeSigImpl flags 601 +innerclass innerClass java/lang/classfile/Signature$ClassTypeSig outerClass java/lang/classfile/Signature innerClassName ClassTypeSig flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg outerClass java/lang/classfile/Signature innerClassName TypeArg flags 609 +innerclass innerClass jdk/internal/classfile/impl/SignaturesImpl$ClassTypeSigImpl outerClass jdk/internal/classfile/impl/SignaturesImpl innerClassName ClassTypeSigImpl flags 19 +innerclass innerClass java/lang/classfile/Signature$RefTypeSig outerClass java/lang/classfile/Signature innerClassName RefTypeSig flags 609 +innerclass innerClass java/lang/classfile/Signature$ThrowableSig outerClass java/lang/classfile/Signature innerClassName ThrowableSig flags 609 + +class name java/lang/classfile/Signature$RefTypeSig +header extends java/lang/Object implements java/lang/classfile/Signature nestHost java/lang/classfile/Signature sealed true permittedSubclasses java/lang/classfile/Signature$ArrayTypeSig,java/lang/classfile/Signature$ClassTypeSig,java/lang/classfile/Signature$TypeVarSig flags 601 +innerclass innerClass java/lang/classfile/Signature$RefTypeSig outerClass java/lang/classfile/Signature innerClassName RefTypeSig flags 609 +innerclass innerClass java/lang/classfile/Signature$ArrayTypeSig outerClass java/lang/classfile/Signature innerClassName ArrayTypeSig flags 609 +innerclass innerClass java/lang/classfile/Signature$ClassTypeSig outerClass java/lang/classfile/Signature innerClassName ClassTypeSig flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeVarSig outerClass java/lang/classfile/Signature innerClassName TypeVarSig flags 609 + +class name java/lang/classfile/Signature$ThrowableSig +header extends java/lang/Object implements java/lang/classfile/Signature nestHost java/lang/classfile/Signature sealed true permittedSubclasses java/lang/classfile/Signature$ClassTypeSig,java/lang/classfile/Signature$TypeVarSig flags 601 +innerclass innerClass java/lang/classfile/Signature$ThrowableSig outerClass java/lang/classfile/Signature innerClassName ThrowableSig flags 609 +innerclass innerClass java/lang/classfile/Signature$ClassTypeSig outerClass java/lang/classfile/Signature innerClassName ClassTypeSig flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeVarSig outerClass java/lang/classfile/Signature innerClassName TypeVarSig flags 609 + +class name java/lang/classfile/Signature$TypeArg +header extends java/lang/Object nestHost java/lang/classfile/Signature sealed true permittedSubclasses java/lang/classfile/Signature$TypeArg$Unbounded,java/lang/classfile/Signature$TypeArg$Bounded flags 601 +innerclass innerClass java/lang/classfile/Signature$TypeArg outerClass java/lang/classfile/Signature innerClassName TypeArg flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Bounded outerClass java/lang/classfile/Signature$TypeArg innerClassName Bounded flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Bounded$WildcardIndicator outerClass java/lang/classfile/Signature$TypeArg$Bounded innerClassName WildcardIndicator flags 4019 +innerclass innerClass java/lang/classfile/Signature$RefTypeSig outerClass java/lang/classfile/Signature innerClassName RefTypeSig flags 609 +innerclass innerClass jdk/internal/classfile/impl/SignaturesImpl$UnboundedTypeArgImpl outerClass jdk/internal/classfile/impl/SignaturesImpl innerClassName UnboundedTypeArgImpl flags 4019 +innerclass innerClass jdk/internal/classfile/impl/SignaturesImpl$TypeArgImpl outerClass jdk/internal/classfile/impl/SignaturesImpl innerClassName TypeArgImpl flags 19 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Unbounded outerClass java/lang/classfile/Signature$TypeArg innerClassName Unbounded flags 609 + +class name java/lang/classfile/Signature$TypeArg$Bounded +header extends java/lang/Object implements java/lang/classfile/Signature$TypeArg nestHost java/lang/classfile/Signature sealed true permittedSubclasses jdk/internal/classfile/impl/SignaturesImpl$TypeArgImpl flags 601 +innerclass innerClass java/lang/classfile/Signature$TypeArg outerClass java/lang/classfile/Signature innerClassName TypeArg flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Bounded outerClass java/lang/classfile/Signature$TypeArg innerClassName Bounded flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Bounded$WildcardIndicator outerClass java/lang/classfile/Signature$TypeArg$Bounded innerClassName WildcardIndicator flags 4019 +innerclass innerClass java/lang/classfile/Signature$RefTypeSig outerClass java/lang/classfile/Signature innerClassName RefTypeSig flags 609 +innerclass innerClass jdk/internal/classfile/impl/SignaturesImpl$TypeArgImpl outerClass jdk/internal/classfile/impl/SignaturesImpl innerClassName TypeArgImpl flags 19 + +class name java/lang/classfile/Signature$TypeArg$Bounded$WildcardIndicator +header extends java/lang/Enum nestHost java/lang/classfile/Signature flags 4031 signature Ljava/lang/Enum; +innerclass innerClass java/lang/classfile/Signature$TypeArg outerClass java/lang/classfile/Signature innerClassName TypeArg flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Bounded outerClass java/lang/classfile/Signature$TypeArg innerClassName Bounded flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Bounded$WildcardIndicator outerClass java/lang/classfile/Signature$TypeArg$Bounded innerClassName WildcardIndicator flags 4019 + +class name java/lang/classfile/Signature$TypeArg$Unbounded +header extends java/lang/Object implements java/lang/classfile/Signature$TypeArg nestHost java/lang/classfile/Signature sealed true permittedSubclasses jdk/internal/classfile/impl/SignaturesImpl$UnboundedTypeArgImpl flags 601 +innerclass innerClass java/lang/classfile/Signature$TypeArg outerClass java/lang/classfile/Signature innerClassName TypeArg flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Unbounded outerClass java/lang/classfile/Signature$TypeArg innerClassName Unbounded flags 609 +innerclass innerClass jdk/internal/classfile/impl/SignaturesImpl$UnboundedTypeArgImpl outerClass jdk/internal/classfile/impl/SignaturesImpl innerClassName UnboundedTypeArgImpl flags 4019 + +class name java/lang/classfile/Signature$TypeParam +header extends java/lang/Object nestHost java/lang/classfile/Signature sealed true permittedSubclasses jdk/internal/classfile/impl/SignaturesImpl$TypeParamImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/SignaturesImpl$TypeParamImpl outerClass jdk/internal/classfile/impl/SignaturesImpl innerClassName TypeParamImpl flags 19 +innerclass innerClass java/lang/classfile/Signature$TypeParam outerClass java/lang/classfile/Signature innerClassName TypeParam flags 609 +innerclass innerClass java/lang/classfile/Signature$RefTypeSig outerClass java/lang/classfile/Signature innerClassName RefTypeSig flags 609 + +class name java/lang/classfile/Signature$TypeVarSig +header extends java/lang/Object implements java/lang/classfile/Signature$RefTypeSig,java/lang/classfile/Signature$ThrowableSig nestHost java/lang/classfile/Signature sealed true permittedSubclasses jdk/internal/classfile/impl/SignaturesImpl$TypeVarSigImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/SignaturesImpl$TypeVarSigImpl outerClass jdk/internal/classfile/impl/SignaturesImpl innerClassName TypeVarSigImpl flags 19 +innerclass innerClass java/lang/classfile/Signature$TypeVarSig outerClass java/lang/classfile/Signature innerClassName TypeVarSig flags 609 +innerclass innerClass java/lang/classfile/Signature$RefTypeSig outerClass java/lang/classfile/Signature innerClassName RefTypeSig flags 609 +innerclass innerClass java/lang/classfile/Signature$ThrowableSig outerClass java/lang/classfile/Signature innerClassName ThrowableSig flags 609 + +class name java/lang/classfile/Superclass +header extends java/lang/Object implements java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/SuperclassImpl flags 601 + +class name java/lang/classfile/TypeAnnotation +header extends java/lang/Object nestMembers java/lang/classfile/TypeAnnotation$TypePathComponent,java/lang/classfile/TypeAnnotation$TypePathComponent$Kind,java/lang/classfile/TypeAnnotation$TypeArgumentTarget,java/lang/classfile/TypeAnnotation$OffsetTarget,java/lang/classfile/TypeAnnotation$CatchTarget,java/lang/classfile/TypeAnnotation$LocalVarTargetInfo,java/lang/classfile/TypeAnnotation$LocalVarTarget,java/lang/classfile/TypeAnnotation$ThrowsTarget,java/lang/classfile/TypeAnnotation$FormalParameterTarget,java/lang/classfile/TypeAnnotation$EmptyTarget,java/lang/classfile/TypeAnnotation$TypeParameterBoundTarget,java/lang/classfile/TypeAnnotation$SupertypeTarget,java/lang/classfile/TypeAnnotation$TypeParameterTarget,java/lang/classfile/TypeAnnotation$TargetInfo,java/lang/classfile/TypeAnnotation$TargetType sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundTypeAnnotation flags 601 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundTypeAnnotation outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundTypeAnnotation flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypePathComponent outerClass java/lang/classfile/TypeAnnotation innerClassName TypePathComponent flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeArgumentTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeArgumentTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$OffsetTarget outerClass java/lang/classfile/TypeAnnotation innerClassName OffsetTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$CatchTarget outerClass java/lang/classfile/TypeAnnotation innerClassName CatchTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$LocalVarTargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName LocalVarTargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$LocalVarTarget outerClass java/lang/classfile/TypeAnnotation innerClassName LocalVarTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$ThrowsTarget outerClass java/lang/classfile/TypeAnnotation innerClassName ThrowsTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$FormalParameterTarget outerClass java/lang/classfile/TypeAnnotation innerClassName FormalParameterTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$EmptyTarget outerClass java/lang/classfile/TypeAnnotation innerClassName EmptyTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeParameterBoundTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeParameterBoundTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$SupertypeTarget outerClass java/lang/classfile/TypeAnnotation innerClassName SupertypeTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeParameterTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeParameterTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetType outerClass java/lang/classfile/TypeAnnotation innerClassName TargetType flags 4019 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypePathComponent$Kind outerClass java/lang/classfile/TypeAnnotation$TypePathComponent innerClassName Kind flags 4019 +-method name of descriptor (Ljava/lang/classfile/TypeAnnotation$TargetInfo;Ljava/util/List;Ljava/lang/classfile/constantpool/Utf8Entry;Ljava/util/List;)Ljava/lang/classfile/TypeAnnotation; +-method name of descriptor (Ljava/lang/classfile/TypeAnnotation$TargetInfo;Ljava/util/List;Ljava/lang/constant/ClassDesc;[Ljava/lang/classfile/AnnotationElement;)Ljava/lang/classfile/TypeAnnotation; +-method name of descriptor (Ljava/lang/classfile/TypeAnnotation$TargetInfo;Ljava/util/List;Ljava/lang/constant/ClassDesc;Ljava/util/List;)Ljava/lang/classfile/TypeAnnotation; +-method name of descriptor (Ljava/lang/classfile/TypeAnnotation$TargetInfo;Ljava/util/List;Ljava/lang/classfile/constantpool/Utf8Entry;[Ljava/lang/classfile/AnnotationElement;)Ljava/lang/classfile/TypeAnnotation; +method name annotation descriptor ()Ljava/lang/classfile/Annotation; flags 401 +method name of descriptor (Ljava/lang/classfile/TypeAnnotation$TargetInfo;Ljava/util/List;Ljava/lang/classfile/Annotation;)Ljava/lang/classfile/TypeAnnotation; flags 9 signature (Ljava/lang/classfile/TypeAnnotation$TargetInfo;Ljava/util/List;Ljava/lang/classfile/Annotation;)Ljava/lang/classfile/TypeAnnotation; + +class name java/lang/classfile/TypeAnnotation$CatchTarget +header extends java/lang/Object implements java/lang/classfile/TypeAnnotation$TargetInfo nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses jdk/internal/classfile/impl/TargetInfoImpl$CatchTargetImpl flags 601 +innerclass innerClass java/lang/classfile/TypeAnnotation$CatchTarget outerClass java/lang/classfile/TypeAnnotation innerClassName CatchTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$CatchTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName CatchTargetImpl flags 19 + +class name java/lang/classfile/TypeAnnotation$EmptyTarget +header extends java/lang/Object implements java/lang/classfile/TypeAnnotation$TargetInfo nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses jdk/internal/classfile/impl/TargetInfoImpl$EmptyTargetImpl flags 601 +innerclass innerClass java/lang/classfile/TypeAnnotation$EmptyTarget outerClass java/lang/classfile/TypeAnnotation innerClassName EmptyTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$EmptyTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName EmptyTargetImpl flags 19 + +class name java/lang/classfile/TypeAnnotation$FormalParameterTarget +header extends java/lang/Object implements java/lang/classfile/TypeAnnotation$TargetInfo nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses jdk/internal/classfile/impl/TargetInfoImpl$FormalParameterTargetImpl flags 601 +innerclass innerClass java/lang/classfile/TypeAnnotation$FormalParameterTarget outerClass java/lang/classfile/TypeAnnotation innerClassName FormalParameterTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$FormalParameterTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName FormalParameterTargetImpl flags 19 + +class name java/lang/classfile/TypeAnnotation$LocalVarTarget +header extends java/lang/Object implements java/lang/classfile/TypeAnnotation$TargetInfo nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses jdk/internal/classfile/impl/TargetInfoImpl$LocalVarTargetImpl flags 601 +innerclass innerClass java/lang/classfile/TypeAnnotation$LocalVarTarget outerClass java/lang/classfile/TypeAnnotation innerClassName LocalVarTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$LocalVarTargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName LocalVarTargetInfo flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$LocalVarTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName LocalVarTargetImpl flags 19 + +class name java/lang/classfile/TypeAnnotation$LocalVarTargetInfo +header extends java/lang/Object nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses jdk/internal/classfile/impl/TargetInfoImpl$LocalVarTargetInfoImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$LocalVarTargetInfoImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName LocalVarTargetInfoImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$LocalVarTargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName LocalVarTargetInfo flags 609 + +class name java/lang/classfile/TypeAnnotation$OffsetTarget +header extends java/lang/Object implements java/lang/classfile/TypeAnnotation$TargetInfo nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses jdk/internal/classfile/impl/TargetInfoImpl$OffsetTargetImpl flags 601 +innerclass innerClass java/lang/classfile/TypeAnnotation$OffsetTarget outerClass java/lang/classfile/TypeAnnotation innerClassName OffsetTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$OffsetTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName OffsetTargetImpl flags 19 + +class name java/lang/classfile/TypeAnnotation$SupertypeTarget +header extends java/lang/Object implements java/lang/classfile/TypeAnnotation$TargetInfo nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses jdk/internal/classfile/impl/TargetInfoImpl$SupertypeTargetImpl flags 601 +innerclass innerClass java/lang/classfile/TypeAnnotation$SupertypeTarget outerClass java/lang/classfile/TypeAnnotation innerClassName SupertypeTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$SupertypeTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName SupertypeTargetImpl flags 19 + +class name java/lang/classfile/TypeAnnotation$TargetInfo +header extends java/lang/Object nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses java/lang/classfile/TypeAnnotation$TypeParameterTarget,java/lang/classfile/TypeAnnotation$SupertypeTarget,java/lang/classfile/TypeAnnotation$TypeParameterBoundTarget,java/lang/classfile/TypeAnnotation$EmptyTarget,java/lang/classfile/TypeAnnotation$FormalParameterTarget,java/lang/classfile/TypeAnnotation$ThrowsTarget,java/lang/classfile/TypeAnnotation$LocalVarTarget,java/lang/classfile/TypeAnnotation$CatchTarget,java/lang/classfile/TypeAnnotation$OffsetTarget,java/lang/classfile/TypeAnnotation$TypeArgumentTarget flags 601 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetType outerClass java/lang/classfile/TypeAnnotation innerClassName TargetType flags 4019 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$TypeParameterTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName TypeParameterTargetImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeParameterTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeParameterTarget flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$SupertypeTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName SupertypeTargetImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$TypeParameterBoundTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName TypeParameterBoundTargetImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeParameterBoundTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeParameterBoundTarget flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$EmptyTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName EmptyTargetImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$EmptyTarget outerClass java/lang/classfile/TypeAnnotation innerClassName EmptyTarget flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$FormalParameterTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName FormalParameterTargetImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$ThrowsTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName ThrowsTargetImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$LocalVarTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName LocalVarTargetImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$LocalVarTarget outerClass java/lang/classfile/TypeAnnotation innerClassName LocalVarTarget flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$CatchTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName CatchTargetImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$OffsetTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName OffsetTargetImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$OffsetTarget outerClass java/lang/classfile/TypeAnnotation innerClassName OffsetTarget flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$TypeArgumentTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName TypeArgumentTargetImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeArgumentTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeArgumentTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$SupertypeTarget outerClass java/lang/classfile/TypeAnnotation innerClassName SupertypeTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$FormalParameterTarget outerClass java/lang/classfile/TypeAnnotation innerClassName FormalParameterTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$ThrowsTarget outerClass java/lang/classfile/TypeAnnotation innerClassName ThrowsTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$LocalVarTargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName LocalVarTargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$CatchTarget outerClass java/lang/classfile/TypeAnnotation innerClassName CatchTarget flags 609 +field name TARGET_CLASS_TYPE_PARAMETER descriptor I constantValue 0 flags 19 +field name TARGET_METHOD_TYPE_PARAMETER descriptor I constantValue 1 flags 19 +field name TARGET_CLASS_EXTENDS descriptor I constantValue 16 flags 19 +field name TARGET_CLASS_TYPE_PARAMETER_BOUND descriptor I constantValue 17 flags 19 +field name TARGET_METHOD_TYPE_PARAMETER_BOUND descriptor I constantValue 18 flags 19 +field name TARGET_FIELD descriptor I constantValue 19 flags 19 +field name TARGET_METHOD_RETURN descriptor I constantValue 20 flags 19 +field name TARGET_METHOD_RECEIVER descriptor I constantValue 21 flags 19 +field name TARGET_METHOD_FORMAL_PARAMETER descriptor I constantValue 22 flags 19 +field name TARGET_THROWS descriptor I constantValue 23 flags 19 +field name TARGET_LOCAL_VARIABLE descriptor I constantValue 64 flags 19 +field name TARGET_RESOURCE_VARIABLE descriptor I constantValue 65 flags 19 +field name TARGET_EXCEPTION_PARAMETER descriptor I constantValue 66 flags 19 +field name TARGET_INSTANCEOF descriptor I constantValue 67 flags 19 +field name TARGET_NEW descriptor I constantValue 68 flags 19 +field name TARGET_CONSTRUCTOR_REFERENCE descriptor I constantValue 69 flags 19 +field name TARGET_METHOD_REFERENCE descriptor I constantValue 70 flags 19 +field name TARGET_CAST descriptor I constantValue 71 flags 19 +field name TARGET_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT descriptor I constantValue 72 flags 19 +field name TARGET_METHOD_INVOCATION_TYPE_ARGUMENT descriptor I constantValue 73 flags 19 +field name TARGET_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT descriptor I constantValue 74 flags 19 +field name TARGET_METHOD_REFERENCE_TYPE_ARGUMENT descriptor I constantValue 75 flags 19 + +class name java/lang/classfile/TypeAnnotation$TargetType +header extends java/lang/Enum nestHost java/lang/classfile/TypeAnnotation flags 4031 signature Ljava/lang/Enum; +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetType outerClass java/lang/classfile/TypeAnnotation innerClassName TargetType flags 4019 + +class name java/lang/classfile/TypeAnnotation$ThrowsTarget +header extends java/lang/Object implements java/lang/classfile/TypeAnnotation$TargetInfo nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses jdk/internal/classfile/impl/TargetInfoImpl$ThrowsTargetImpl flags 601 +innerclass innerClass java/lang/classfile/TypeAnnotation$ThrowsTarget outerClass java/lang/classfile/TypeAnnotation innerClassName ThrowsTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$ThrowsTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName ThrowsTargetImpl flags 19 + +class name java/lang/classfile/TypeAnnotation$TypeArgumentTarget +header extends java/lang/Object implements java/lang/classfile/TypeAnnotation$TargetInfo nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses jdk/internal/classfile/impl/TargetInfoImpl$TypeArgumentTargetImpl flags 601 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeArgumentTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeArgumentTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$TypeArgumentTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName TypeArgumentTargetImpl flags 19 + +class name java/lang/classfile/TypeAnnotation$TypeParameterBoundTarget +header extends java/lang/Object implements java/lang/classfile/TypeAnnotation$TargetInfo nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses jdk/internal/classfile/impl/TargetInfoImpl$TypeParameterBoundTargetImpl flags 601 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeParameterBoundTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeParameterBoundTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$TypeParameterBoundTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName TypeParameterBoundTargetImpl flags 19 + +class name java/lang/classfile/TypeAnnotation$TypeParameterTarget +header extends java/lang/Object implements java/lang/classfile/TypeAnnotation$TargetInfo nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses jdk/internal/classfile/impl/TargetInfoImpl$TypeParameterTargetImpl flags 601 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeParameterTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeParameterTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$TypeParameterTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName TypeParameterTargetImpl flags 19 + +class name java/lang/classfile/TypeAnnotation$TypePathComponent +header extends java/lang/Object nestHost java/lang/classfile/TypeAnnotation sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$TypePathComponentImpl flags 601 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypePathComponent outerClass java/lang/classfile/TypeAnnotation innerClassName TypePathComponent flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypePathComponent$Kind outerClass java/lang/classfile/TypeAnnotation$TypePathComponent innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$TypePathComponentImpl outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName TypePathComponentImpl flags 19 + +class name java/lang/classfile/TypeAnnotation$TypePathComponent$Kind +header extends java/lang/Enum nestHost java/lang/classfile/TypeAnnotation flags 4031 signature Ljava/lang/Enum; +innerclass innerClass java/lang/classfile/TypeAnnotation$TypePathComponent outerClass java/lang/classfile/TypeAnnotation innerClassName TypePathComponent flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypePathComponent$Kind outerClass java/lang/classfile/TypeAnnotation$TypePathComponent innerClassName Kind flags 4019 + +class name java/lang/classfile/TypeKind +header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; +innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 +-field name ByteType descriptor Ljava/lang/classfile/TypeKind; +-field name ShortType descriptor Ljava/lang/classfile/TypeKind; +-field name IntType descriptor Ljava/lang/classfile/TypeKind; +-field name FloatType descriptor Ljava/lang/classfile/TypeKind; +-field name LongType descriptor Ljava/lang/classfile/TypeKind; +-field name DoubleType descriptor Ljava/lang/classfile/TypeKind; +-field name ReferenceType descriptor Ljava/lang/classfile/TypeKind; +-field name CharType descriptor Ljava/lang/classfile/TypeKind; +-field name BooleanType descriptor Ljava/lang/classfile/TypeKind; +-field name VoidType descriptor Ljava/lang/classfile/TypeKind; +-method name typeName descriptor ()Ljava/lang/String; +-method name descriptor descriptor ()Ljava/lang/String; +field name BOOLEAN descriptor Ljava/lang/classfile/TypeKind; flags 4019 +field name BYTE descriptor Ljava/lang/classfile/TypeKind; flags 4019 +field name CHAR descriptor Ljava/lang/classfile/TypeKind; flags 4019 +field name SHORT descriptor Ljava/lang/classfile/TypeKind; flags 4019 +field name INT descriptor Ljava/lang/classfile/TypeKind; flags 4019 +field name LONG descriptor Ljava/lang/classfile/TypeKind; flags 4019 +field name FLOAT descriptor Ljava/lang/classfile/TypeKind; flags 4019 +field name DOUBLE descriptor Ljava/lang/classfile/TypeKind; flags 4019 +field name REFERENCE descriptor Ljava/lang/classfile/TypeKind; flags 4019 +field name VOID descriptor Ljava/lang/classfile/TypeKind; flags 4019 +method name upperBound descriptor ()Ljava/lang/constant/ClassDesc; flags 1 + +-class name java/lang/classfile/WritableElement + +class name java/lang/classfile/attribute/AnnotationDefaultAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/MethodElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundAnnotationDefaultAttr,jdk/internal/classfile/impl/UnboundAttribute$UnboundAnnotationDefaultAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/MethodElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundAnnotationDefaultAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundAnnotationDefaultAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundAnnotationDefaultAttr outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundAnnotationDefaultAttr flags 19 + +class name java/lang/classfile/attribute/BootstrapMethodsAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundBootstrapMethodsAttribute,jdk/internal/classfile/impl/UnboundAttribute$EmptyBootstrapAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute; +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundBootstrapMethodsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundBootstrapMethodsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$EmptyBootstrapAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName EmptyBootstrapAttribute flags 19 + +class name java/lang/classfile/attribute/CharacterRangeInfo +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundCharacterRangeInfo flags 601 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundCharacterRangeInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundCharacterRangeInfo flags 19 + +class name java/lang/classfile/attribute/CharacterRangeTableAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundCharacterRangeTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundCharacterRangeTableAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundCharacterRangeTableAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundCharacterRangeTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundCharacterRangeTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundCharacterRangeTableAttribute flags 19 + +class name java/lang/classfile/attribute/CodeAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/CodeModel sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundCodeAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/CodeModel; +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundCodeAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundCodeAttribute flags 409 +method name maxLocals descriptor ()I flags 401 +method name maxStack descriptor ()I flags 401 + +class name java/lang/classfile/attribute/CompilationIDAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundCompilationIDAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundCompilationIDAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundCompilationIDAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundCompilationIDAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundCompilationIDAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundCompilationIDAttribute flags 19 + +class name java/lang/classfile/attribute/ConstantValueAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/FieldElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundConstantValueAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundConstantValueAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/FieldElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundConstantValueAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundConstantValueAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundConstantValueAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundConstantValueAttribute flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/lang/classfile/attribute/DeprecatedAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement,java/lang/classfile/MethodElement,java/lang/classfile/FieldElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundDeprecatedAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundDeprecatedAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement;Ljava/lang/classfile/MethodElement;Ljava/lang/classfile/FieldElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundDeprecatedAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundDeprecatedAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundDeprecatedAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundDeprecatedAttribute flags 19 + +class name java/lang/classfile/attribute/EnclosingMethodAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundEnclosingMethodAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundEnclosingMethodAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundEnclosingMethodAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundEnclosingMethodAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundEnclosingMethodAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundEnclosingMethodAttribute flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/lang/classfile/attribute/ExceptionsAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/MethodElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundExceptionsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundExceptionsAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/MethodElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundExceptionsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundExceptionsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundExceptionsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundExceptionsAttribute flags 19 + +class name java/lang/classfile/attribute/InnerClassInfo +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundInnerClassInfo flags 601 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundInnerClassInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundInnerClassInfo flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/lang/classfile/attribute/InnerClassesAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundInnerClassesAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundInnerClassesAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundInnerClassesAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundInnerClassesAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundInnerClassesAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundInnerClassesAttribute flags 19 + +class name java/lang/classfile/attribute/LineNumberInfo +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundLineNumberInfo flags 601 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundLineNumberInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundLineNumberInfo flags 19 + +class name java/lang/classfile/attribute/LineNumberTableAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundLineNumberTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundLineNumberTableAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundLineNumberTableAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundLineNumberTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundLineNumberTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundLineNumberTableAttribute flags 19 + +class name java/lang/classfile/attribute/LocalVariableInfo +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableInfo,jdk/internal/classfile/impl/BoundLocalVariable flags 601 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundLocalVariableInfo flags 19 + +class name java/lang/classfile/attribute/LocalVariableTableAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundLocalVariableTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTableAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTableAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundLocalVariableTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundLocalVariableTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundLocalVariableTableAttribute flags 19 + +class name java/lang/classfile/attribute/LocalVariableTypeInfo +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTypeInfo,jdk/internal/classfile/impl/BoundLocalVariableType flags 601 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTypeInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundLocalVariableTypeInfo flags 19 + +class name java/lang/classfile/attribute/LocalVariableTypeTableAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundLocalVariableTypeTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTypeTableAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTypeTableAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundLocalVariableTypeTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundLocalVariableTypeTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundLocalVariableTypeTableAttribute flags 19 + +class name java/lang/classfile/attribute/MethodParameterInfo +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundMethodParameterInfo flags 601 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundMethodParameterInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundMethodParameterInfo flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/lang/classfile/attribute/MethodParametersAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/MethodElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundMethodParametersAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundMethodParametersAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/MethodElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundMethodParametersAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundMethodParametersAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundMethodParametersAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundMethodParametersAttribute flags 19 + +class name java/lang/classfile/attribute/ModuleAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement nestMembers java/lang/classfile/attribute/ModuleAttribute$ModuleAttributeBuilder sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundModuleAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleAttribute flags 19 +innerclass innerClass java/lang/classfile/attribute/ModuleAttribute$ModuleAttributeBuilder outerClass java/lang/classfile/attribute/ModuleAttribute innerClassName ModuleAttributeBuilder flags 609 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundModuleAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundModuleAttribute flags 19 + +class name java/lang/classfile/attribute/ModuleAttribute$ModuleAttributeBuilder +header extends java/lang/Object nestHost java/lang/classfile/attribute/ModuleAttribute sealed true permittedSubclasses jdk/internal/classfile/impl/ModuleAttributeBuilderImpl flags 601 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass java/lang/classfile/attribute/ModuleAttribute$ModuleAttributeBuilder outerClass java/lang/classfile/attribute/ModuleAttribute innerClassName ModuleAttributeBuilder flags 609 +-method name build descriptor ()Ljava/lang/classfile/attribute/ModuleAttribute; + +class name java/lang/classfile/attribute/ModuleExportInfo +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleExportInfo flags 601 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleExportInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleExportInfo flags 19 + +class name java/lang/classfile/attribute/ModuleHashInfo +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleHashInfo flags 601 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleHashInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleHashInfo flags 19 + +class name java/lang/classfile/attribute/ModuleHashesAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundModuleHashesAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleHashesAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleHashesAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleHashesAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundModuleHashesAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundModuleHashesAttribute flags 19 + +class name java/lang/classfile/attribute/ModuleMainClassAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundModuleMainClassAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleMainClassAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleMainClassAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleMainClassAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundModuleMainClassAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundModuleMainClassAttribute flags 19 + +class name java/lang/classfile/attribute/ModuleOpenInfo +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleOpenInfo flags 601 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleOpenInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleOpenInfo flags 19 + +class name java/lang/classfile/attribute/ModulePackagesAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundModulePackagesAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModulePackagesAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModulePackagesAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModulePackagesAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundModulePackagesAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundModulePackagesAttribute flags 19 + +class name java/lang/classfile/attribute/ModuleProvideInfo +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleProvideInfo flags 601 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleProvideInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleProvideInfo flags 19 + +class name java/lang/classfile/attribute/ModuleRequireInfo +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleRequiresInfo flags 601 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleRequiresInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleRequiresInfo flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/lang/classfile/attribute/ModuleResolutionAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundModuleResolutionAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleResolutionAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleResolutionAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleResolutionAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundModuleResolutionAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundModuleResolutionAttribute flags 19 + +class name java/lang/classfile/attribute/ModuleTargetAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundModuleTargetAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleTargetAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleTargetAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleTargetAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundModuleTargetAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundModuleTargetAttribute flags 19 + +class name java/lang/classfile/attribute/NestHostAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundNestHostAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundNestHostAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundNestHostAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundNestHostAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundNestHostAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundNestHostAttribute flags 19 + +class name java/lang/classfile/attribute/NestMembersAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundNestMembersAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundNestMembersAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundNestMembersAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundNestMembersAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundNestMembersAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundNestMembersAttribute flags 19 + +class name java/lang/classfile/attribute/PermittedSubclassesAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundPermittedSubclassesAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundPermittedSubclassesAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundPermittedSubclassesAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundPermittedSubclassesAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundPermittedSubclassesAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundPermittedSubclassesAttribute flags 19 + +class name java/lang/classfile/attribute/RecordAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundRecordAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRecordAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRecordAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRecordAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRecordAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRecordAttribute flags 19 + +class name java/lang/classfile/attribute/RecordComponentInfo +header extends java/lang/Object implements java/lang/classfile/AttributedElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundRecordComponentInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundRecordComponentInfo flags 601 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRecordComponentInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRecordComponentInfo flags 19 + +class name java/lang/classfile/attribute/RuntimeInvisibleAnnotationsAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement,java/lang/classfile/MethodElement,java/lang/classfile/FieldElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleAnnotationsAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement;Ljava/lang/classfile/MethodElement;Ljava/lang/classfile/FieldElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleAnnotationsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRuntimeInvisibleAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeInvisibleAnnotationsAttribute flags 19 + +class name java/lang/classfile/attribute/RuntimeInvisibleParameterAnnotationsAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/MethodElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleParameterAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleParameterAnnotationsAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/MethodElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleParameterAnnotationsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRuntimeInvisibleParameterAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleParameterAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeInvisibleParameterAnnotationsAttribute flags 19 + +class name java/lang/classfile/attribute/RuntimeInvisibleTypeAnnotationsAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement,java/lang/classfile/MethodElement,java/lang/classfile/FieldElement,java/lang/classfile/CodeElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleTypeAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleTypeAnnotationsAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement;Ljava/lang/classfile/MethodElement;Ljava/lang/classfile/FieldElement;Ljava/lang/classfile/CodeElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleTypeAnnotationsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRuntimeInvisibleTypeAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleTypeAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeInvisibleTypeAnnotationsAttribute flags 19 + +class name java/lang/classfile/attribute/RuntimeVisibleAnnotationsAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement,java/lang/classfile/MethodElement,java/lang/classfile/FieldElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleAnnotationsAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement;Ljava/lang/classfile/MethodElement;Ljava/lang/classfile/FieldElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleAnnotationsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRuntimeVisibleAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeVisibleAnnotationsAttribute flags 19 + +class name java/lang/classfile/attribute/RuntimeVisibleParameterAnnotationsAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/MethodElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleParameterAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleParameterAnnotationsAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/MethodElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleParameterAnnotationsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRuntimeVisibleParameterAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleParameterAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeVisibleParameterAnnotationsAttribute flags 19 + +class name java/lang/classfile/attribute/RuntimeVisibleTypeAnnotationsAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement,java/lang/classfile/MethodElement,java/lang/classfile/FieldElement,java/lang/classfile/CodeElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleTypeAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleTypeAnnotationsAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement;Ljava/lang/classfile/MethodElement;Ljava/lang/classfile/FieldElement;Ljava/lang/classfile/CodeElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleTypeAnnotationsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRuntimeVisibleTypeAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleTypeAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeVisibleTypeAnnotationsAttribute flags 19 + +class name java/lang/classfile/attribute/SignatureAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement,java/lang/classfile/MethodElement,java/lang/classfile/FieldElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundSignatureAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSignatureAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement;Ljava/lang/classfile/MethodElement;Ljava/lang/classfile/FieldElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundSignatureAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundSignatureAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundSignatureAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundSignatureAttribute flags 19 + +class name java/lang/classfile/attribute/SourceDebugExtensionAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundSourceDebugExtensionAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceDebugExtensionAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceDebugExtensionAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundSourceDebugExtensionAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundSourceDebugExtensionAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundSourceDebugExtensionAttribute flags 19 + +class name java/lang/classfile/attribute/SourceFileAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundSourceFileAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceFileAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceFileAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundSourceFileAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundSourceFileAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundSourceFileAttribute flags 19 + +class name java/lang/classfile/attribute/SourceIDAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundSourceIDAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceIDAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceIDAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundSourceIDAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundSourceIDAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundSourceIDAttribute flags 19 + +class name java/lang/classfile/attribute/StackMapFrameInfo +header extends java/lang/Object nestMembers java/lang/classfile/attribute/StackMapFrameInfo$UninitializedVerificationTypeInfo,java/lang/classfile/attribute/StackMapFrameInfo$ObjectVerificationTypeInfo,java/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo,java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo sealed true permittedSubclasses jdk/internal/classfile/impl/StackMapDecoder$StackMapFrameImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/StackMapDecoder$StackMapFrameImpl outerClass jdk/internal/classfile/impl/StackMapDecoder innerClassName StackMapFrameImpl flags 19 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$UninitializedVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName UninitializedVerificationTypeInfo flags 609 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$ObjectVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName ObjectVerificationTypeInfo flags 609 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName SimpleVerificationTypeInfo flags 4019 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName VerificationTypeInfo flags 609 + +class name java/lang/classfile/attribute/StackMapFrameInfo$ObjectVerificationTypeInfo +header extends java/lang/Object implements java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo nestHost java/lang/classfile/attribute/StackMapFrameInfo sealed true permittedSubclasses jdk/internal/classfile/impl/StackMapDecoder$ObjectVerificationTypeInfoImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/StackMapDecoder$ObjectVerificationTypeInfoImpl outerClass jdk/internal/classfile/impl/StackMapDecoder innerClassName ObjectVerificationTypeInfoImpl flags 19 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$ObjectVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName ObjectVerificationTypeInfo flags 609 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName VerificationTypeInfo flags 609 + +class name java/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo +header extends java/lang/Enum implements java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo nestHost java/lang/classfile/attribute/StackMapFrameInfo flags 4031 signature Ljava/lang/Enum;Ljava/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo; +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName SimpleVerificationTypeInfo flags 4019 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName VerificationTypeInfo flags 609 +-field name ITEM_TOP descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; +-field name ITEM_INTEGER descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; +-field name ITEM_FLOAT descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; +-field name ITEM_DOUBLE descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; +-field name ITEM_LONG descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; +-field name ITEM_NULL descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; +-field name ITEM_UNINITIALIZED_THIS descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; +field name TOP descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; flags 4019 +field name INTEGER descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; flags 4019 +field name FLOAT descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; flags 4019 +field name DOUBLE descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; flags 4019 +field name LONG descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; flags 4019 +field name NULL descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; flags 4019 +field name UNINITIALIZED_THIS descriptor Ljava/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo; flags 4019 + +class name java/lang/classfile/attribute/StackMapFrameInfo$UninitializedVerificationTypeInfo +header extends java/lang/Object implements java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo nestHost java/lang/classfile/attribute/StackMapFrameInfo sealed true permittedSubclasses jdk/internal/classfile/impl/StackMapDecoder$UninitializedVerificationTypeInfoImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/StackMapDecoder$UninitializedVerificationTypeInfoImpl outerClass jdk/internal/classfile/impl/StackMapDecoder innerClassName UninitializedVerificationTypeInfoImpl flags 19 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$UninitializedVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName UninitializedVerificationTypeInfo flags 609 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName VerificationTypeInfo flags 609 + +class name java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo +header extends java/lang/Object nestHost java/lang/classfile/attribute/StackMapFrameInfo sealed true permittedSubclasses java/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo,java/lang/classfile/attribute/StackMapFrameInfo$ObjectVerificationTypeInfo,java/lang/classfile/attribute/StackMapFrameInfo$UninitializedVerificationTypeInfo flags 601 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName VerificationTypeInfo flags 609 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName SimpleVerificationTypeInfo flags 4019 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$ObjectVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName ObjectVerificationTypeInfo flags 609 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$UninitializedVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName UninitializedVerificationTypeInfo flags 609 +field name ITEM_TOP descriptor I constantValue 0 flags 19 +field name ITEM_INTEGER descriptor I constantValue 1 flags 19 +field name ITEM_FLOAT descriptor I constantValue 2 flags 19 +field name ITEM_DOUBLE descriptor I constantValue 3 flags 19 +field name ITEM_LONG descriptor I constantValue 4 flags 19 +field name ITEM_NULL descriptor I constantValue 5 flags 19 +field name ITEM_UNINITIALIZED_THIS descriptor I constantValue 6 flags 19 +field name ITEM_OBJECT descriptor I constantValue 7 flags 19 +field name ITEM_UNINITIALIZED descriptor I constantValue 8 flags 19 + +class name java/lang/classfile/attribute/StackMapTableAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/CodeElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundStackMapTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundStackMapTableAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/CodeElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundStackMapTableAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundStackMapTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundStackMapTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundStackMapTableAttribute flags 19 + +class name java/lang/classfile/attribute/SyntheticAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement,java/lang/classfile/MethodElement,java/lang/classfile/FieldElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundSyntheticAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSyntheticAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement;Ljava/lang/classfile/MethodElement;Ljava/lang/classfile/FieldElement; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundSyntheticAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundSyntheticAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundSyntheticAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundSyntheticAttribute flags 19 + +class name java/lang/classfile/attribute/UnknownAttribute +header extends java/lang/Object implements java/lang/classfile/Attribute,java/lang/classfile/ClassElement,java/lang/classfile/MethodElement,java/lang/classfile/FieldElement sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundUnknownAttribute flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/Attribute;Ljava/lang/classfile/ClassElement;Ljava/lang/classfile/MethodElement;Ljava/lang/classfile/FieldElement; +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundUnknownAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundUnknownAttribute flags 19 + +class name java/lang/classfile/components/ClassPrinter +header extends java/lang/Object nestMembers java/lang/classfile/components/ClassPrinter$MapNode,java/lang/classfile/components/ClassPrinter$ListNode,java/lang/classfile/components/ClassPrinter$LeafNode,java/lang/classfile/components/ClassPrinter$Node,java/lang/classfile/components/ClassPrinter$Verbosity flags 31 +innerclass innerClass java/lang/classfile/components/ClassPrinter$Verbosity outerClass java/lang/classfile/components/ClassPrinter innerClassName Verbosity flags 4019 +innerclass innerClass java/lang/classfile/components/ClassPrinter$MapNode outerClass java/lang/classfile/components/ClassPrinter innerClassName MapNode flags 609 +innerclass innerClass java/lang/classfile/components/ClassPrinter$ListNode outerClass java/lang/classfile/components/ClassPrinter innerClassName ListNode flags 609 +innerclass innerClass java/lang/classfile/components/ClassPrinter$LeafNode outerClass java/lang/classfile/components/ClassPrinter innerClassName LeafNode flags 609 +innerclass innerClass java/lang/classfile/components/ClassPrinter$Node outerClass java/lang/classfile/components/ClassPrinter innerClassName Node flags 609 + +class name java/lang/classfile/components/ClassPrinter$LeafNode +header extends java/lang/Object implements java/lang/classfile/components/ClassPrinter$Node nestHost java/lang/classfile/components/ClassPrinter sealed true permittedSubclasses jdk/internal/classfile/impl/ClassPrinterImpl$LeafNodeImpl flags 601 +innerclass innerClass java/lang/classfile/components/ClassPrinter$LeafNode outerClass java/lang/classfile/components/ClassPrinter innerClassName LeafNode flags 609 +innerclass innerClass java/lang/classfile/components/ClassPrinter$Node outerClass java/lang/classfile/components/ClassPrinter innerClassName Node flags 609 +innerclass innerClass jdk/internal/classfile/impl/ClassPrinterImpl$LeafNodeImpl outerClass jdk/internal/classfile/impl/ClassPrinterImpl innerClassName LeafNodeImpl flags 19 + +class name java/lang/classfile/components/ClassPrinter$ListNode +header extends java/lang/Object implements java/lang/classfile/components/ClassPrinter$Node,java/util/List nestHost java/lang/classfile/components/ClassPrinter sealed true permittedSubclasses jdk/internal/classfile/impl/ClassPrinterImpl$ListNodeImpl flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/components/ClassPrinter$Node;Ljava/util/List; +innerclass innerClass java/lang/classfile/components/ClassPrinter$ListNode outerClass java/lang/classfile/components/ClassPrinter innerClassName ListNode flags 609 +innerclass innerClass java/lang/classfile/components/ClassPrinter$Node outerClass java/lang/classfile/components/ClassPrinter innerClassName Node flags 609 +innerclass innerClass jdk/internal/classfile/impl/ClassPrinterImpl$ListNodeImpl outerClass jdk/internal/classfile/impl/ClassPrinterImpl innerClassName ListNodeImpl flags 9 + +class name java/lang/classfile/components/ClassPrinter$MapNode +header extends java/lang/Object implements java/lang/classfile/components/ClassPrinter$Node,java/util/Map nestHost java/lang/classfile/components/ClassPrinter sealed true permittedSubclasses jdk/internal/classfile/impl/ClassPrinterImpl$MapNodeImpl flags 601 signature Ljava/lang/Object;Ljava/lang/classfile/components/ClassPrinter$Node;Ljava/util/Map; +innerclass innerClass java/lang/classfile/components/ClassPrinter$MapNode outerClass java/lang/classfile/components/ClassPrinter innerClassName MapNode flags 609 +innerclass innerClass java/lang/classfile/components/ClassPrinter$Node outerClass java/lang/classfile/components/ClassPrinter innerClassName Node flags 609 +innerclass innerClass jdk/internal/classfile/impl/ClassPrinterImpl$MapNodeImpl outerClass jdk/internal/classfile/impl/ClassPrinterImpl innerClassName MapNodeImpl flags 19 + +class name java/lang/classfile/components/ClassPrinter$Node +header extends java/lang/Object nestHost java/lang/classfile/components/ClassPrinter sealed true permittedSubclasses java/lang/classfile/components/ClassPrinter$LeafNode,java/lang/classfile/components/ClassPrinter$ListNode,java/lang/classfile/components/ClassPrinter$MapNode flags 601 +innerclass innerClass java/lang/classfile/components/ClassPrinter$Node outerClass java/lang/classfile/components/ClassPrinter innerClassName Node flags 609 +innerclass innerClass java/lang/classfile/components/ClassPrinter$LeafNode outerClass java/lang/classfile/components/ClassPrinter innerClassName LeafNode flags 609 +innerclass innerClass java/lang/classfile/components/ClassPrinter$ListNode outerClass java/lang/classfile/components/ClassPrinter innerClassName ListNode flags 609 +innerclass innerClass java/lang/classfile/components/ClassPrinter$MapNode outerClass java/lang/classfile/components/ClassPrinter innerClassName MapNode flags 609 + +class name java/lang/classfile/components/ClassPrinter$Verbosity +header extends java/lang/Enum nestHost java/lang/classfile/components/ClassPrinter flags 4031 signature Ljava/lang/Enum; +innerclass innerClass java/lang/classfile/components/ClassPrinter$Verbosity outerClass java/lang/classfile/components/ClassPrinter innerClassName Verbosity flags 4019 + +class name java/lang/classfile/components/ClassRemapper +header extends java/lang/Object implements java/lang/classfile/ClassTransform sealed true permittedSubclasses jdk/internal/classfile/impl/ClassRemapperImpl flags 601 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/lang/classfile/components/CodeLocalsShifter +header extends java/lang/Object implements java/lang/classfile/CodeTransform sealed true permittedSubclasses jdk/internal/classfile/impl/CodeLocalsShifterImpl flags 601 +innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 + +class name java/lang/classfile/components/CodeRelabeler +header extends java/lang/Object implements java/lang/classfile/CodeTransform sealed true permittedSubclasses jdk/internal/classfile/impl/CodeRelabelerImpl flags 601 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name relabel descriptor (Ljava/lang/classfile/Label;Ljava/lang/classfile/CodeBuilder;)Ljava/lang/classfile/Label; + +class name java/lang/classfile/components/CodeStackTracker +header extends java/lang/Object implements java/lang/classfile/CodeTransform sealed true permittedSubclasses jdk/internal/classfile/impl/CodeStackTrackerImpl flags 601 + +class name java/lang/classfile/constantpool/AnnotationConstantValueEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/PoolEntry sealed true permittedSubclasses java/lang/classfile/constantpool/DoubleEntry,java/lang/classfile/constantpool/FloatEntry,java/lang/classfile/constantpool/IntegerEntry,java/lang/classfile/constantpool/LongEntry,java/lang/classfile/constantpool/Utf8Entry flags 601 + +class name java/lang/classfile/constantpool/ClassEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/LoadableConstantEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$ClassEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ClassEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ClassEntryImpl flags 19 + +class name java/lang/classfile/constantpool/ConstantDynamicEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/DynamicConstantPoolEntry,java/lang/classfile/constantpool/LoadableConstantEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$ConstantDynamicEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ConstantDynamicEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ConstantDynamicEntryImpl flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/lang/classfile/constantpool/ConstantPool +header extends java/lang/Object implements java/lang/Iterable sealed true permittedSubclasses java/lang/classfile/ClassReader,java/lang/classfile/constantpool/ConstantPoolBuilder flags 601 signature Ljava/lang/Object;Ljava/lang/Iterable; + +class name java/lang/classfile/constantpool/ConstantPoolBuilder +header extends java/lang/Object implements java/lang/classfile/constantpool/ConstantPool sealed true permittedSubclasses jdk/internal/classfile/impl/SplitConstantPool,jdk/internal/classfile/impl/TemporaryConstantPool flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ClassEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ClassEntryImpl flags 19 +innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name writeBootstrapMethods descriptor (Ljava/lang/classfile/BufWriter;)Z +-method name annotationConstantValueEntry descriptor (Ljava/lang/constant/ConstantDesc;)Ljava/lang/classfile/constantpool/AnnotationConstantValueEntry; + +class name java/lang/classfile/constantpool/ConstantPoolException +header extends java/lang/IllegalArgumentException flags 21 + +class name java/lang/classfile/constantpool/ConstantValueEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/LoadableConstantEntry sealed true permittedSubclasses java/lang/classfile/constantpool/DoubleEntry,java/lang/classfile/constantpool/FloatEntry,java/lang/classfile/constantpool/IntegerEntry,java/lang/classfile/constantpool/LongEntry,java/lang/classfile/constantpool/StringEntry flags 601 + +class name java/lang/classfile/constantpool/DoubleEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/AnnotationConstantValueEntry,java/lang/classfile/constantpool/ConstantValueEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$DoubleEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$DoubleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName DoubleEntryImpl flags 19 + +class name java/lang/classfile/constantpool/DynamicConstantPoolEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/PoolEntry sealed true permittedSubclasses java/lang/classfile/constantpool/ConstantDynamicEntry,java/lang/classfile/constantpool/InvokeDynamicEntry flags 601 + +class name java/lang/classfile/constantpool/FieldRefEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/MemberRefEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$FieldRefEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$FieldRefEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName FieldRefEntryImpl flags 19 + +class name java/lang/classfile/constantpool/FloatEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/AnnotationConstantValueEntry,java/lang/classfile/constantpool/ConstantValueEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$FloatEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$FloatEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName FloatEntryImpl flags 19 + +class name java/lang/classfile/constantpool/IntegerEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/AnnotationConstantValueEntry,java/lang/classfile/constantpool/ConstantValueEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$IntegerEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$IntegerEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName IntegerEntryImpl flags 19 + +class name java/lang/classfile/constantpool/InterfaceMethodRefEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/MemberRefEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$InterfaceMethodRefEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$InterfaceMethodRefEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName InterfaceMethodRefEntryImpl flags 19 + +class name java/lang/classfile/constantpool/InvokeDynamicEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/DynamicConstantPoolEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$InvokeDynamicEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$InvokeDynamicEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName InvokeDynamicEntryImpl flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/lang/classfile/constantpool/LoadableConstantEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/PoolEntry sealed true permittedSubclasses java/lang/classfile/constantpool/ClassEntry,java/lang/classfile/constantpool/ConstantDynamicEntry,java/lang/classfile/constantpool/ConstantValueEntry,java/lang/classfile/constantpool/MethodHandleEntry,java/lang/classfile/constantpool/MethodTypeEntry flags 601 + +class name java/lang/classfile/constantpool/LongEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/AnnotationConstantValueEntry,java/lang/classfile/constantpool/ConstantValueEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$LongEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$LongEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName LongEntryImpl flags 19 + +class name java/lang/classfile/constantpool/MemberRefEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/PoolEntry sealed true permittedSubclasses java/lang/classfile/constantpool/FieldRefEntry,java/lang/classfile/constantpool/InterfaceMethodRefEntry,java/lang/classfile/constantpool/MethodRefEntry,jdk/internal/classfile/impl/AbstractPoolEntry$AbstractMemberRefEntry flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$AbstractMemberRefEntry outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName AbstractMemberRefEntry flags 409 + +class name java/lang/classfile/constantpool/MethodHandleEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/LoadableConstantEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$MethodHandleEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$MethodHandleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName MethodHandleEntryImpl flags 19 + +class name java/lang/classfile/constantpool/MethodRefEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/MemberRefEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$MethodRefEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$MethodRefEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName MethodRefEntryImpl flags 19 + +class name java/lang/classfile/constantpool/MethodTypeEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/LoadableConstantEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$MethodTypeEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$MethodTypeEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName MethodTypeEntryImpl flags 19 + +class name java/lang/classfile/constantpool/ModuleEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/PoolEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$ModuleEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ModuleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ModuleEntryImpl flags 19 + +class name java/lang/classfile/constantpool/NameAndTypeEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/PoolEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$NameAndTypeEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$NameAndTypeEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName NameAndTypeEntryImpl flags 19 + +class name java/lang/classfile/constantpool/PackageEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/PoolEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$PackageEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$PackageEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName PackageEntryImpl flags 19 + +class name java/lang/classfile/constantpool/PoolEntry +header extends java/lang/Object sealed true permittedSubclasses java/lang/classfile/constantpool/AnnotationConstantValueEntry,java/lang/classfile/constantpool/DynamicConstantPoolEntry,java/lang/classfile/constantpool/LoadableConstantEntry,java/lang/classfile/constantpool/MemberRefEntry,java/lang/classfile/constantpool/ModuleEntry,java/lang/classfile/constantpool/NameAndTypeEntry,java/lang/classfile/constantpool/PackageEntry flags 601 +field name TAG_CLASS descriptor I constantValue 7 flags 19 +field name TAG_DOUBLE descriptor I constantValue 6 flags 19 +field name TAG_DYNAMIC descriptor I constantValue 17 flags 19 +field name TAG_FIELDREF descriptor I constantValue 9 flags 19 +field name TAG_FLOAT descriptor I constantValue 4 flags 19 +field name TAG_INTEGER descriptor I constantValue 3 flags 19 +field name TAG_INTERFACE_METHODREF descriptor I constantValue 11 flags 19 +field name TAG_INVOKE_DYNAMIC descriptor I constantValue 18 flags 19 +field name TAG_LONG descriptor I constantValue 5 flags 19 +field name TAG_METHOD_HANDLE descriptor I constantValue 15 flags 19 +field name TAG_METHODREF descriptor I constantValue 10 flags 19 +field name TAG_METHOD_TYPE descriptor I constantValue 16 flags 19 +field name TAG_MODULE descriptor I constantValue 19 flags 19 +field name TAG_NAME_AND_TYPE descriptor I constantValue 12 flags 19 +field name TAG_PACKAGE descriptor I constantValue 20 flags 19 +field name TAG_STRING descriptor I constantValue 8 flags 19 +field name TAG_UTF8 descriptor I constantValue 1 flags 19 + +class name java/lang/classfile/constantpool/StringEntry +header extends java/lang/Object implements java/lang/classfile/constantpool/ConstantValueEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$StringEntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$StringEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName StringEntryImpl flags 19 + +class name java/lang/classfile/constantpool/Utf8Entry +header extends java/lang/Object implements java/lang/CharSequence,java/lang/classfile/constantpool/AnnotationConstantValueEntry sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$Utf8EntryImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$Utf8EntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName Utf8EntryImpl flags 19 + +class name java/lang/classfile/instruction/ArrayLoadInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$UnboundArrayLoadInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundArrayLoadInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundArrayLoadInstruction flags 19 + +class name java/lang/classfile/instruction/ArrayStoreInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$UnboundArrayStoreInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundArrayStoreInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundArrayStoreInstruction flags 19 + +class name java/lang/classfile/instruction/BranchInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundBranchInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundBranchInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundBranchInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundBranchInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundBranchInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundBranchInstruction flags 19 + +class name java/lang/classfile/instruction/CharacterRange +header extends java/lang/Object implements java/lang/classfile/PseudoInstruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPseudoInstruction$UnboundCharacterRange,jdk/internal/classfile/impl/BoundCharacterRange flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPseudoInstruction$UnboundCharacterRange outerClass jdk/internal/classfile/impl/AbstractPseudoInstruction innerClassName UnboundCharacterRange flags 19 +field name FLAG_STATEMENT descriptor I constantValue 1 flags 19 +field name FLAG_BLOCK descriptor I constantValue 2 flags 19 +field name FLAG_ASSIGNMENT descriptor I constantValue 4 flags 19 +field name FLAG_FLOW_CONTROLLER descriptor I constantValue 8 flags 19 +field name FLAG_FLOW_TARGET descriptor I constantValue 16 flags 19 +field name FLAG_INVOKE descriptor I constantValue 32 flags 19 +field name FLAG_CREATE descriptor I constantValue 64 flags 19 +field name FLAG_BRANCH_TRUE descriptor I constantValue 128 flags 19 +field name FLAG_BRANCH_FALSE descriptor I constantValue 256 flags 19 + +class name java/lang/classfile/instruction/ConstantInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction nestMembers java/lang/classfile/instruction/ConstantInstruction$LoadConstantInstruction,java/lang/classfile/instruction/ConstantInstruction$ArgumentConstantInstruction,java/lang/classfile/instruction/ConstantInstruction$IntrinsicConstantInstruction sealed true permittedSubclasses java/lang/classfile/instruction/ConstantInstruction$IntrinsicConstantInstruction,java/lang/classfile/instruction/ConstantInstruction$ArgumentConstantInstruction,java/lang/classfile/instruction/ConstantInstruction$LoadConstantInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundIntrinsicConstantInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundIntrinsicConstantInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundArgumentConstantInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundArgumentConstantInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundLoadConstantInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundLoadConstantInstruction flags 19 +innerclass innerClass java/lang/classfile/instruction/ConstantInstruction$LoadConstantInstruction outerClass java/lang/classfile/instruction/ConstantInstruction innerClassName LoadConstantInstruction flags 609 +innerclass innerClass java/lang/classfile/instruction/ConstantInstruction$ArgumentConstantInstruction outerClass java/lang/classfile/instruction/ConstantInstruction innerClassName ArgumentConstantInstruction flags 609 +innerclass innerClass java/lang/classfile/instruction/ConstantInstruction$IntrinsicConstantInstruction outerClass java/lang/classfile/instruction/ConstantInstruction innerClassName IntrinsicConstantInstruction flags 609 + +class name java/lang/classfile/instruction/ConstantInstruction$ArgumentConstantInstruction +header extends java/lang/Object implements java/lang/classfile/instruction/ConstantInstruction nestHost java/lang/classfile/instruction/ConstantInstruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundArgumentConstantInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundArgumentConstantInstruction flags 601 +innerclass innerClass java/lang/classfile/instruction/ConstantInstruction$ArgumentConstantInstruction outerClass java/lang/classfile/instruction/ConstantInstruction innerClassName ArgumentConstantInstruction flags 609 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundArgumentConstantInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundArgumentConstantInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundArgumentConstantInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundArgumentConstantInstruction flags 19 + +class name java/lang/classfile/instruction/ConstantInstruction$IntrinsicConstantInstruction +header extends java/lang/Object implements java/lang/classfile/instruction/ConstantInstruction nestHost java/lang/classfile/instruction/ConstantInstruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$UnboundIntrinsicConstantInstruction flags 601 +innerclass innerClass java/lang/classfile/instruction/ConstantInstruction$IntrinsicConstantInstruction outerClass java/lang/classfile/instruction/ConstantInstruction innerClassName IntrinsicConstantInstruction flags 609 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundIntrinsicConstantInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundIntrinsicConstantInstruction flags 19 + +class name java/lang/classfile/instruction/ConstantInstruction$LoadConstantInstruction +header extends java/lang/Object implements java/lang/classfile/instruction/ConstantInstruction nestHost java/lang/classfile/instruction/ConstantInstruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundLoadConstantInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundLoadConstantInstruction flags 601 +innerclass innerClass java/lang/classfile/instruction/ConstantInstruction$LoadConstantInstruction outerClass java/lang/classfile/instruction/ConstantInstruction innerClassName LoadConstantInstruction flags 609 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundLoadConstantInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundLoadConstantInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundLoadConstantInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundLoadConstantInstruction flags 19 + +class name java/lang/classfile/instruction/ConvertInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$UnboundConvertInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundConvertInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundConvertInstruction flags 19 + +class name java/lang/classfile/instruction/DiscontinuedInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction nestMembers java/lang/classfile/instruction/DiscontinuedInstruction$RetInstruction,java/lang/classfile/instruction/DiscontinuedInstruction$JsrInstruction sealed true permittedSubclasses java/lang/classfile/instruction/DiscontinuedInstruction$JsrInstruction,java/lang/classfile/instruction/DiscontinuedInstruction$RetInstruction flags 601 +innerclass innerClass java/lang/classfile/instruction/DiscontinuedInstruction$RetInstruction outerClass java/lang/classfile/instruction/DiscontinuedInstruction innerClassName RetInstruction flags 609 +innerclass innerClass java/lang/classfile/instruction/DiscontinuedInstruction$JsrInstruction outerClass java/lang/classfile/instruction/DiscontinuedInstruction innerClassName JsrInstruction flags 609 + +class name java/lang/classfile/instruction/DiscontinuedInstruction$JsrInstruction +header extends java/lang/Object implements java/lang/classfile/instruction/DiscontinuedInstruction nestHost java/lang/classfile/instruction/DiscontinuedInstruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundJsrInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundJsrInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundJsrInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundJsrInstruction flags 19 +innerclass innerClass java/lang/classfile/instruction/DiscontinuedInstruction$JsrInstruction outerClass java/lang/classfile/instruction/DiscontinuedInstruction innerClassName JsrInstruction flags 609 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundJsrInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundJsrInstruction flags 19 + +class name java/lang/classfile/instruction/DiscontinuedInstruction$RetInstruction +header extends java/lang/Object implements java/lang/classfile/instruction/DiscontinuedInstruction nestHost java/lang/classfile/instruction/DiscontinuedInstruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundRetInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundRetInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundRetInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundRetInstruction flags 19 +innerclass innerClass java/lang/classfile/instruction/DiscontinuedInstruction$RetInstruction outerClass java/lang/classfile/instruction/DiscontinuedInstruction innerClassName RetInstruction flags 609 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundRetInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundRetInstruction flags 19 + +class name java/lang/classfile/instruction/ExceptionCatch +header extends java/lang/Object implements java/lang/classfile/PseudoInstruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPseudoInstruction$ExceptionCatchImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPseudoInstruction$ExceptionCatchImpl outerClass jdk/internal/classfile/impl/AbstractPseudoInstruction innerClassName ExceptionCatchImpl flags 19 + +class name java/lang/classfile/instruction/FieldInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundFieldInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundFieldInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundFieldInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundFieldInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundFieldInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundFieldInstruction flags 19 + +class name java/lang/classfile/instruction/IncrementInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundIncrementInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundIncrementInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundIncrementInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundIncrementInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundIncrementInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundIncrementInstruction flags 19 + +class name java/lang/classfile/instruction/InvokeDynamicInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundInvokeDynamicInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundInvokeDynamicInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundInvokeDynamicInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundInvokeDynamicInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundInvokeDynamicInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundInvokeDynamicInstruction flags 19 + +class name java/lang/classfile/instruction/InvokeInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundInvokeInterfaceInstruction,jdk/internal/classfile/impl/AbstractInstruction$BoundInvokeInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundInvokeInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundInvokeInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundInvokeInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundInvokeInterfaceInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundInvokeInterfaceInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundInvokeInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundInvokeInstruction flags 19 + +class name java/lang/classfile/instruction/LabelTarget +header extends java/lang/Object implements java/lang/classfile/PseudoInstruction sealed true permittedSubclasses jdk/internal/classfile/impl/LabelImpl flags 601 + +class name java/lang/classfile/instruction/LineNumber +header extends java/lang/Object implements java/lang/classfile/PseudoInstruction sealed true permittedSubclasses jdk/internal/classfile/impl/LineNumberImpl flags 601 + +class name java/lang/classfile/instruction/LoadInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundLoadInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundLoadInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundLoadInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundLoadInstruction flags 19 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundLoadInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundLoadInstruction flags 19 + +class name java/lang/classfile/instruction/LocalVariable +header extends java/lang/Object implements java/lang/classfile/PseudoInstruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPseudoInstruction$UnboundLocalVariable,jdk/internal/classfile/impl/BoundLocalVariable flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPseudoInstruction$UnboundLocalVariable outerClass jdk/internal/classfile/impl/AbstractPseudoInstruction innerClassName UnboundLocalVariable flags 19 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)Z + +class name java/lang/classfile/instruction/LocalVariableType +header extends java/lang/Object implements java/lang/classfile/PseudoInstruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPseudoInstruction$UnboundLocalVariableType,jdk/internal/classfile/impl/BoundLocalVariableType flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractPseudoInstruction$UnboundLocalVariableType outerClass jdk/internal/classfile/impl/AbstractPseudoInstruction innerClassName UnboundLocalVariableType flags 19 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)Z + +class name java/lang/classfile/instruction/LookupSwitchInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundLookupSwitchInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundLookupSwitchInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundLookupSwitchInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundLookupSwitchInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundLookupSwitchInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundLookupSwitchInstruction flags 19 + +class name java/lang/classfile/instruction/MonitorInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$UnboundMonitorInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundMonitorInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundMonitorInstruction flags 19 + +class name java/lang/classfile/instruction/NewMultiArrayInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundNewMultidimensionalArrayInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundNewMultidimensionalArrayInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundNewMultidimensionalArrayInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundNewMultidimensionalArrayInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundNewMultidimensionalArrayInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundNewMultidimensionalArrayInstruction flags 19 + +class name java/lang/classfile/instruction/NewObjectInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundNewObjectInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundNewObjectInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundNewObjectInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundNewObjectInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundNewObjectInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundNewObjectInstruction flags 19 + +class name java/lang/classfile/instruction/NewPrimitiveArrayInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundNewPrimitiveArrayInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundNewPrimitiveArrayInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundNewPrimitiveArrayInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundNewPrimitiveArrayInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundNewPrimitiveArrayInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundNewPrimitiveArrayInstruction flags 19 + +class name java/lang/classfile/instruction/NewReferenceArrayInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundNewReferenceArrayInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundNewReferenceArrayInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundNewReferenceArrayInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundNewReferenceArrayInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundNewReferenceArrayInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundNewReferenceArrayInstruction flags 19 + +class name java/lang/classfile/instruction/NopInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$UnboundNopInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundNopInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundNopInstruction flags 19 + +class name java/lang/classfile/instruction/OperatorInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$UnboundOperatorInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundOperatorInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundOperatorInstruction flags 19 + +class name java/lang/classfile/instruction/ReturnInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$UnboundReturnInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundReturnInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundReturnInstruction flags 19 + +class name java/lang/classfile/instruction/StackInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$UnboundStackInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundStackInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundStackInstruction flags 19 + +class name java/lang/classfile/instruction/StoreInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundStoreInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundStoreInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundStoreInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundStoreInstruction flags 19 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundStoreInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundStoreInstruction flags 19 + +class name java/lang/classfile/instruction/SwitchCase +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$SwitchCaseImpl flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$SwitchCaseImpl outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName SwitchCaseImpl flags 19 + +class name java/lang/classfile/instruction/TableSwitchInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundTableSwitchInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundTableSwitchInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundTableSwitchInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundTableSwitchInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundTableSwitchInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundTableSwitchInstruction flags 19 + +class name java/lang/classfile/instruction/ThrowInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$UnboundThrowInstruction flags 601 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundThrowInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundThrowInstruction flags 19 + +class name java/lang/classfile/instruction/TypeCheckInstruction +header extends java/lang/Object implements java/lang/classfile/Instruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractInstruction$BoundTypeCheckInstruction,jdk/internal/classfile/impl/AbstractInstruction$UnboundTypeCheckInstruction flags 601 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundTypeCheckInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundTypeCheckInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundTypeCheckInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundTypeCheckInstruction flags 19 + +class name java/lang/constant/ClassDesc +header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfField sealed true permittedSubclasses jdk/internal/constant/PrimitiveClassDescImpl,jdk/internal/constant/ClassOrInterfaceDescImpl,jdk/internal/constant/ArrayClassDescImpl flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfField; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 +-method name arrayType descriptor ()Ljava/lang/constant/ClassDesc; +-method name arrayType descriptor (I)Ljava/lang/constant/ClassDesc; +-method name displayName descriptor ()Ljava/lang/String; +method name arrayType descriptor ()Ljava/lang/constant/ClassDesc; flags 401 +method name arrayType descriptor (I)Ljava/lang/constant/ClassDesc; flags 401 +method name displayName descriptor ()Ljava/lang/String; flags 401 + +class name java/lang/foreign/MemorySegment +header extends java/lang/Object nestMembers java/lang/foreign/MemorySegment$Scope sealed true permittedSubclasses jdk/internal/foreign/AbstractMemorySegmentImpl flags 601 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfChar outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfChar flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfShort outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfShort flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfInt outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfInt flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfFloat flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfLong outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfLong flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfDouble flags 19 +innerclass innerClass java/lang/foreign/MemorySegment$Scope outerClass java/lang/foreign/MemorySegment innerClassName Scope flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 + +class name java/lang/invoke/MethodHandle +-method name asType descriptor (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; +method name asType descriptor (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; + +class name java/lang/invoke/MethodHandleProxies +-method name asInterfaceInstance descriptor (Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)Ljava/lang/Object; +method name asInterfaceInstance descriptor (Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)Ljava/lang/Object; flags 9 signature (Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)TT; + +class name java/lang/invoke/MethodType +header extends java/lang/Object implements java/lang/constant/Constable,java/lang/invoke/TypeDescriptor$OfMethod,java/io/Serializable flags 31 signature Ljava/lang/Object;Ljava/lang/constant/Constable;Ljava/lang/invoke/TypeDescriptor$OfMethod;Ljava/lang/invoke/MethodType;>;Ljava/io/Serializable; +innerclass innerClass java/lang/invoke/TypeDescriptor$OfMethod outerClass java/lang/invoke/TypeDescriptor innerClassName OfMethod flags 609 +innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 + +class name java/lang/module/ModuleFinder +header extends java/lang/Object flags 601 + +class name java/lang/reflect/ClassFileFormatVersion +field name RELEASE_24 descriptor Ljava/lang/reflect/ClassFileFormatVersion; flags 4019 + +class name java/lang/reflect/Proxy +-method name getProxyClass descriptor (Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class; +-method name newProxyInstance descriptor (Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object; +-method name getInvocationHandler descriptor (Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler; +method name getProxyClass descriptor (Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class; thrownTypes java/lang/IllegalArgumentException flags 89 deprecated true signature (Ljava/lang/ClassLoader;[Ljava/lang/Class<*>;)Ljava/lang/Class<*>; runtimeAnnotations @Ljava/lang/Deprecated; +method name newProxyInstance descriptor (Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object; flags 9 signature (Ljava/lang/ClassLoader;[Ljava/lang/Class<*>;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object; +method name getInvocationHandler descriptor (Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler; thrownTypes java/lang/IllegalArgumentException flags 9 + +class name java/net/URL +header extends java/lang/Object implements java/io/Serializable flags 31 +innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 + +class name java/nio/ByteBufferAsCharBufferB +header extends java/nio/CharBuffer sealed true permittedSubclasses java/nio/ByteBufferAsCharBufferRB flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsCharBufferL +header extends java/nio/CharBuffer sealed true permittedSubclasses java/nio/ByteBufferAsCharBufferRL flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsCharBufferRB +header extends java/nio/ByteBufferAsCharBufferB flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsCharBufferRL +header extends java/nio/ByteBufferAsCharBufferL flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsDoubleBufferB +header extends java/nio/DoubleBuffer sealed true permittedSubclasses java/nio/ByteBufferAsDoubleBufferRB flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsDoubleBufferL +header extends java/nio/DoubleBuffer sealed true permittedSubclasses java/nio/ByteBufferAsDoubleBufferRL flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsDoubleBufferRB +header extends java/nio/ByteBufferAsDoubleBufferB flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsDoubleBufferRL +header extends java/nio/ByteBufferAsDoubleBufferL flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsFloatBufferB +header extends java/nio/FloatBuffer sealed true permittedSubclasses java/nio/ByteBufferAsFloatBufferRB flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsFloatBufferL +header extends java/nio/FloatBuffer sealed true permittedSubclasses java/nio/ByteBufferAsFloatBufferRL flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsFloatBufferRB +header extends java/nio/ByteBufferAsFloatBufferB flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsFloatBufferRL +header extends java/nio/ByteBufferAsFloatBufferL flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsIntBufferB +header extends java/nio/IntBuffer sealed true permittedSubclasses java/nio/ByteBufferAsIntBufferRB flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsIntBufferL +header extends java/nio/IntBuffer sealed true permittedSubclasses java/nio/ByteBufferAsIntBufferRL flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsIntBufferRB +header extends java/nio/ByteBufferAsIntBufferB flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsIntBufferRL +header extends java/nio/ByteBufferAsIntBufferL flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsLongBufferB +header extends java/nio/LongBuffer sealed true permittedSubclasses java/nio/ByteBufferAsLongBufferRB flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsLongBufferL +header extends java/nio/LongBuffer sealed true permittedSubclasses java/nio/ByteBufferAsLongBufferRL flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsLongBufferRB +header extends java/nio/ByteBufferAsLongBufferB flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsLongBufferRL +header extends java/nio/ByteBufferAsLongBufferL flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsShortBufferB +header extends java/nio/ShortBuffer sealed true permittedSubclasses java/nio/ByteBufferAsShortBufferRB flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsShortBufferL +header extends java/nio/ShortBuffer sealed true permittedSubclasses java/nio/ByteBufferAsShortBufferRL flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsShortBufferRB +header extends java/nio/ByteBufferAsShortBufferB flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/ByteBufferAsShortBufferRL +header extends java/nio/ByteBufferAsShortBufferL flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/CharBuffer +header extends java/nio/Buffer implements java/lang/Comparable,java/lang/Appendable,java/lang/CharSequence,java/lang/Readable sealed true permittedSubclasses java/nio/StringCharBuffer,java/nio/HeapCharBuffer,java/nio/DirectCharBufferS,java/nio/DirectCharBufferU,java/nio/ByteBufferAsCharBufferB,java/nio/ByteBufferAsCharBufferL flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable;Ljava/lang/Appendable;Ljava/lang/CharSequence;Ljava/lang/Readable; +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfChar outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfChar flags 19 +innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/nio/DirectByteBuffer +-field name UNALIGNED descriptor Z + +class name java/nio/DirectCharBufferS +-field name UNALIGNED descriptor Z + +class name java/nio/DirectCharBufferU +-field name UNALIGNED descriptor Z + +class name java/nio/DirectDoubleBufferS +-field name UNALIGNED descriptor Z + +class name java/nio/DirectDoubleBufferU +-field name UNALIGNED descriptor Z + +class name java/nio/DirectFloatBufferS +-field name UNALIGNED descriptor Z + +class name java/nio/DirectFloatBufferU +-field name UNALIGNED descriptor Z + +class name java/nio/DirectIntBufferS +-field name UNALIGNED descriptor Z + +class name java/nio/DirectIntBufferU +-field name UNALIGNED descriptor Z + +class name java/nio/DirectLongBufferS +-field name UNALIGNED descriptor Z + +class name java/nio/DirectLongBufferU +-field name UNALIGNED descriptor Z + +class name java/nio/DirectShortBufferS +-field name UNALIGNED descriptor Z + +class name java/nio/DirectShortBufferU +-field name UNALIGNED descriptor Z + +class name java/nio/DoubleBuffer +header extends java/nio/Buffer implements java/lang/Comparable sealed true permittedSubclasses java/nio/HeapDoubleBuffer,java/nio/DirectDoubleBufferS,java/nio/DirectDoubleBufferU,java/nio/ByteBufferAsDoubleBufferB,java/nio/ByteBufferAsDoubleBufferL flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfDouble flags 19 + +class name java/nio/FloatBuffer +header extends java/nio/Buffer implements java/lang/Comparable sealed true permittedSubclasses java/nio/HeapFloatBuffer,java/nio/DirectFloatBufferS,java/nio/DirectFloatBufferU,java/nio/ByteBufferAsFloatBufferB,java/nio/ByteBufferAsFloatBufferL flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfFloat flags 19 + +class name java/nio/HeapByteBuffer +header extends java/nio/ByteBuffer sealed true permittedSubclasses java/nio/HeapByteBufferR flags 20 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/HeapByteBufferR +header extends java/nio/HeapByteBuffer flags 30 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 + +class name java/nio/IntBuffer +header extends java/nio/Buffer implements java/lang/Comparable sealed true permittedSubclasses java/nio/HeapIntBuffer,java/nio/DirectIntBufferS,java/nio/DirectIntBufferU,java/nio/ByteBufferAsIntBufferB,java/nio/ByteBufferAsIntBufferL flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfInt outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfInt flags 19 + +class name java/nio/LongBuffer +header extends java/nio/Buffer implements java/lang/Comparable sealed true permittedSubclasses java/nio/HeapLongBuffer,java/nio/DirectLongBufferS,java/nio/DirectLongBufferU,java/nio/ByteBufferAsLongBufferB,java/nio/ByteBufferAsLongBufferL flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfLong outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfLong flags 19 + +class name java/nio/ShortBuffer +header extends java/nio/Buffer implements java/lang/Comparable sealed true permittedSubclasses java/nio/HeapShortBuffer,java/nio/DirectShortBufferS,java/nio/DirectShortBufferU,java/nio/ByteBufferAsShortBufferB,java/nio/ByteBufferAsShortBufferL flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfShort outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfShort flags 19 + +class name java/security/AccessController +-method name doPrivilegedWithCombiner descriptor (Ljava/security/PrivilegedAction;)Ljava/lang/Object; +-method name doPrivileged descriptor (Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object; +-method name doPrivilegedWithCombiner descriptor (Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object; +-method name doPrivilegedWithCombiner descriptor (Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object; +-method name doPrivileged descriptor (Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object; +-method name doPrivilegedWithCombiner descriptor (Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object; +-method name doPrivileged descriptor (Ljava/security/PrivilegedAction;)Ljava/lang/Object; +-method name doPrivileged descriptor (Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; +-method name doPrivileged descriptor (Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object; +-method name doPrivileged descriptor (Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; +method name doPrivileged descriptor (Ljava/security/PrivilegedAction;)Ljava/lang/Object; flags 9 signature (Ljava/security/PrivilegedAction;)TT; +method name doPrivilegedWithCombiner descriptor (Ljava/security/PrivilegedAction;)Ljava/lang/Object; flags 9 signature (Ljava/security/PrivilegedAction;)TT; +method name doPrivileged descriptor (Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; flags 9 signature (Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)TT; +method name doPrivileged descriptor (Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object; flags 89 signature (Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)TT; +method name doPrivilegedWithCombiner descriptor (Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object; flags 89 signature (Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)TT; +method name doPrivileged descriptor (Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object; thrownTypes java/security/PrivilegedActionException flags 9 signature (Ljava/security/PrivilegedExceptionAction;)TT; +method name doPrivilegedWithCombiner descriptor (Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object; thrownTypes java/security/PrivilegedActionException flags 9 signature (Ljava/security/PrivilegedExceptionAction;)TT; +method name doPrivileged descriptor (Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; thrownTypes java/security/PrivilegedActionException flags 9 signature (Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)TT; +method name doPrivileged descriptor (Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object; thrownTypes java/security/PrivilegedActionException flags 89 signature (Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)TT; +method name doPrivilegedWithCombiner descriptor (Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object; thrownTypes java/security/PrivilegedActionException flags 89 signature (Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)TT; + +class name java/security/ProtectionDomain +header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) + +class name java/security/cert/CertPathBuilder +header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) + +class name java/security/cert/CertPathValidator +header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) + +class name java/security/cert/CertStore +header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) + +class name java/security/spec/NamedParameterSpec +field name ML_DSA_44 descriptor Ljava/security/spec/NamedParameterSpec; flags 19 +field name ML_DSA_65 descriptor Ljava/security/spec/NamedParameterSpec; flags 19 +field name ML_DSA_87 descriptor Ljava/security/spec/NamedParameterSpec; flags 19 +field name ML_KEM_512 descriptor Ljava/security/spec/NamedParameterSpec; flags 19 +field name ML_KEM_768 descriptor Ljava/security/spec/NamedParameterSpec; flags 19 +field name ML_KEM_1024 descriptor Ljava/security/spec/NamedParameterSpec; flags 19 + +class name java/text/DecimalFormat +header extends java/text/NumberFormat flags 21 +innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 +innerclass innerClass java/text/NumberFormat$Field outerClass java/text/NumberFormat innerClassName Field flags 9 +innerclass innerClass java/text/Format$Field outerClass java/text/Format innerClassName Field flags 9 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/text/MessageFormat +header extends java/text/Format nestMembers java/text/MessageFormat$Field flags 21 +innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 +innerclass innerClass java/text/ListFormat$Type outerClass java/text/ListFormat innerClassName Type flags 4019 +innerclass innerClass java/text/ListFormat$Style outerClass java/text/ListFormat innerClassName Style flags 4019 +innerclass innerClass java/text/MessageFormat$Field outerClass java/text/MessageFormat innerClassName Field flags 9 +innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9 +innerclass innerClass java/text/Format$Field outerClass java/text/Format innerClassName Field flags 9 +innerclass innerClass java/text/NumberFormat$Style outerClass java/text/NumberFormat innerClassName Style flags 4019 +innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 + +class name java/text/NumberFormat +header extends java/text/Format nestMembers java/text/NumberFormat$Style,java/text/NumberFormat$Field flags 421 +innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 +innerclass innerClass java/text/NumberFormat$Style outerClass java/text/NumberFormat innerClassName Style flags 4019 +innerclass innerClass java/text/NumberFormat$Field outerClass java/text/NumberFormat innerClassName Field flags 9 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/util/ServiceLoader +header extends java/lang/Object implements java/lang/Iterable nestMembers java/util/ServiceLoader$Provider flags 31 signature Ljava/lang/Object;Ljava/lang/Iterable; +innerclass innerClass java/util/ServiceLoader$Provider outerClass java/util/ServiceLoader innerClassName Provider flags 609 + +class name java/util/concurrent/ConcurrentSkipListSet +header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractSet;Ljava/util/NavigableSet;Ljava/lang/Cloneable;Ljava/io/Serializable; +innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 + +class name java/util/concurrent/atomic/AtomicReferenceArray +header extends java/lang/Object implements java/io/Serializable flags 21 signature Ljava/lang/Object;Ljava/io/Serializable; +innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 + +class name java/util/spi/AbstractResourceBundleProvider +header extends java/lang/Object implements java/util/spi/ResourceBundleProvider flags 421 +innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9 + +class name java/util/stream/Gatherer +header extends java/lang/Object nestMembers java/util/stream/Gatherer$Integrator,java/util/stream/Gatherer$Integrator$Greedy,java/util/stream/Gatherer$Downstream flags 601 signature Ljava/lang/Object; +innerclass innerClass java/util/stream/Gatherer$Integrator outerClass java/util/stream/Gatherer innerClassName Integrator flags 609 +innerclass innerClass java/util/stream/Gatherer$Downstream outerClass java/util/stream/Gatherer innerClassName Downstream flags 609 +innerclass innerClass java/util/stream/Gatherer$Integrator$Greedy outerClass java/util/stream/Gatherer$Integrator innerClassName Greedy flags 609 + +class name java/util/stream/Gatherer$Downstream +header extends java/lang/Object nestHost java/util/stream/Gatherer flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; +innerclass innerClass java/util/stream/Gatherer$Downstream outerClass java/util/stream/Gatherer innerClassName Downstream flags 609 + +class name java/util/stream/Gatherer$Integrator +header extends java/lang/Object nestHost java/util/stream/Gatherer flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; +innerclass innerClass java/util/stream/Gatherer$Integrator outerClass java/util/stream/Gatherer innerClassName Integrator flags 609 +innerclass innerClass java/util/stream/Gatherer$Integrator$Greedy outerClass java/util/stream/Gatherer$Integrator innerClassName Greedy flags 609 +innerclass innerClass java/util/stream/Gatherer$Downstream outerClass java/util/stream/Gatherer innerClassName Downstream flags 609 + +class name java/util/stream/Gatherer$Integrator$Greedy +header extends java/lang/Object implements java/util/stream/Gatherer$Integrator nestHost java/util/stream/Gatherer flags 601 signature Ljava/lang/Object;Ljava/util/stream/Gatherer$Integrator; runtimeAnnotations @Ljava/lang/FunctionalInterface; +innerclass innerClass java/util/stream/Gatherer$Integrator outerClass java/util/stream/Gatherer innerClassName Integrator flags 609 +innerclass innerClass java/util/stream/Gatherer$Integrator$Greedy outerClass java/util/stream/Gatherer$Integrator innerClassName Greedy flags 609 + +class name java/util/stream/Gatherers +header extends java/lang/Object flags 31 +innerclass innerClass java/util/stream/Gatherer$Integrator outerClass java/util/stream/Gatherer innerClassName Integrator flags 609 +innerclass innerClass java/util/stream/Gatherer$Integrator$Greedy outerClass java/util/stream/Gatherer$Integrator innerClassName Greedy flags 609 +innerclass innerClass java/util/stream/Gatherer$Downstream outerClass java/util/stream/Gatherer innerClassName Downstream flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/util/stream/Stream +-method name gather descriptor (Ljava/util/stream/Gatherer;)Ljava/util/stream/Stream; +method name gather descriptor (Ljava/util/stream/Gatherer;)Ljava/util/stream/Stream; flags 1 signature (Ljava/util/stream/Gatherer<-TT;*TR;>;)Ljava/util/stream/Stream; + +class name java/util/zip/ZipError +header extends java/lang/InternalError flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="24") + +class name javax/crypto/KDF +header extends java/lang/Object flags 31 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;KEY_DERIVATION;) +innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 +method name getAlgorithm descriptor ()Ljava/lang/String; flags 1 +method name getProviderName descriptor ()Ljava/lang/String; flags 1 +method name getParameters descriptor ()Ljavax/crypto/KDFParameters; flags 1 +method name getInstance descriptor (Ljava/lang/String;)Ljavax/crypto/KDF; thrownTypes java/security/NoSuchAlgorithmException flags 9 +method name getInstance descriptor (Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/KDF; thrownTypes java/security/NoSuchAlgorithmException,java/security/NoSuchProviderException flags 9 +method name getInstance descriptor (Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/KDF; thrownTypes java/security/NoSuchAlgorithmException flags 9 +method name getInstance descriptor (Ljava/lang/String;Ljavax/crypto/KDFParameters;)Ljavax/crypto/KDF; thrownTypes java/security/NoSuchAlgorithmException,java/security/InvalidAlgorithmParameterException flags 9 +method name getInstance descriptor (Ljava/lang/String;Ljavax/crypto/KDFParameters;Ljava/lang/String;)Ljavax/crypto/KDF; thrownTypes java/security/NoSuchAlgorithmException,java/security/NoSuchProviderException,java/security/InvalidAlgorithmParameterException flags 9 +method name getInstance descriptor (Ljava/lang/String;Ljavax/crypto/KDFParameters;Ljava/security/Provider;)Ljavax/crypto/KDF; thrownTypes java/security/NoSuchAlgorithmException,java/security/InvalidAlgorithmParameterException flags 9 +method name deriveKey descriptor (Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Ljavax/crypto/SecretKey; thrownTypes java/security/InvalidAlgorithmParameterException,java/security/NoSuchAlgorithmException flags 1 +method name deriveData descriptor (Ljava/security/spec/AlgorithmParameterSpec;)[B thrownTypes java/security/InvalidAlgorithmParameterException flags 1 + +class name javax/crypto/KDFParameters +header extends java/lang/Object flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;KEY_DERIVATION;) + +class name javax/crypto/KDFSpi +header extends java/lang/Object flags 421 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;KEY_DERIVATION;) +method name descriptor (Ljavax/crypto/KDFParameters;)V thrownTypes java/security/InvalidAlgorithmParameterException flags 4 +method name engineGetParameters descriptor ()Ljavax/crypto/KDFParameters; flags 404 +method name engineDeriveKey descriptor (Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Ljavax/crypto/SecretKey; thrownTypes java/security/InvalidAlgorithmParameterException,java/security/NoSuchAlgorithmException flags 404 +method name engineDeriveData descriptor (Ljava/security/spec/AlgorithmParameterSpec;)[B thrownTypes java/security/InvalidAlgorithmParameterException flags 404 + +class name javax/crypto/spec/HKDFParameterSpec +header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec nestMembers javax/crypto/spec/HKDFParameterSpec$ExtractThenExpand,javax/crypto/spec/HKDFParameterSpec$Expand,javax/crypto/spec/HKDFParameterSpec$Extract,javax/crypto/spec/HKDFParameterSpec$Builder flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;KEY_DERIVATION;) +innerclass innerClass javax/crypto/spec/HKDFParameterSpec$Builder outerClass javax/crypto/spec/HKDFParameterSpec innerClassName Builder flags 19 +innerclass innerClass javax/crypto/spec/HKDFParameterSpec$Expand outerClass javax/crypto/spec/HKDFParameterSpec innerClassName Expand flags 19 +innerclass innerClass javax/crypto/spec/HKDFParameterSpec$ExtractThenExpand outerClass javax/crypto/spec/HKDFParameterSpec innerClassName ExtractThenExpand flags 19 +innerclass innerClass javax/crypto/spec/HKDFParameterSpec$Extract outerClass javax/crypto/spec/HKDFParameterSpec innerClassName Extract flags 19 +method name ofExtract descriptor ()Ljavax/crypto/spec/HKDFParameterSpec$Builder; flags 9 +method name expandOnly descriptor (Ljavax/crypto/SecretKey;[BI)Ljavax/crypto/spec/HKDFParameterSpec$Expand; flags 9 + +class name javax/crypto/spec/HKDFParameterSpec$Builder +header extends java/lang/Object nestHost javax/crypto/spec/HKDFParameterSpec flags 31 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;KEY_DERIVATION;) +innerclass innerClass javax/crypto/spec/HKDFParameterSpec$Builder outerClass javax/crypto/spec/HKDFParameterSpec innerClassName Builder flags 19 +innerclass innerClass javax/crypto/spec/HKDFParameterSpec$Extract outerClass javax/crypto/spec/HKDFParameterSpec innerClassName Extract flags 19 +innerclass innerClass javax/crypto/spec/HKDFParameterSpec$ExtractThenExpand outerClass javax/crypto/spec/HKDFParameterSpec innerClassName ExtractThenExpand flags 19 +method name extractOnly descriptor ()Ljavax/crypto/spec/HKDFParameterSpec$Extract; flags 1 +method name thenExpand descriptor ([BI)Ljavax/crypto/spec/HKDFParameterSpec$ExtractThenExpand; flags 1 +method name addIKM descriptor (Ljavax/crypto/SecretKey;)Ljavax/crypto/spec/HKDFParameterSpec$Builder; flags 1 +method name addIKM descriptor ([B)Ljavax/crypto/spec/HKDFParameterSpec$Builder; flags 1 +method name addSalt descriptor (Ljavax/crypto/SecretKey;)Ljavax/crypto/spec/HKDFParameterSpec$Builder; flags 1 +method name addSalt descriptor ([B)Ljavax/crypto/spec/HKDFParameterSpec$Builder; flags 1 + +class name javax/crypto/spec/HKDFParameterSpec$Expand +header extends java/lang/Object implements javax/crypto/spec/HKDFParameterSpec nestHost javax/crypto/spec/HKDFParameterSpec flags 31 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;KEY_DERIVATION;) +innerclass innerClass javax/crypto/spec/HKDFParameterSpec$Expand outerClass javax/crypto/spec/HKDFParameterSpec innerClassName Expand flags 19 +method name prk descriptor ()Ljavax/crypto/SecretKey; flags 1 +method name info descriptor ()[B flags 1 +method name length descriptor ()I flags 1 + +class name javax/crypto/spec/HKDFParameterSpec$Extract +header extends java/lang/Object implements javax/crypto/spec/HKDFParameterSpec nestHost javax/crypto/spec/HKDFParameterSpec flags 31 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;KEY_DERIVATION;) +innerclass innerClass javax/crypto/spec/HKDFParameterSpec$Extract outerClass javax/crypto/spec/HKDFParameterSpec innerClassName Extract flags 19 +method name ikms descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List; +method name salts descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List; + +class name javax/crypto/spec/HKDFParameterSpec$ExtractThenExpand +header extends java/lang/Object implements javax/crypto/spec/HKDFParameterSpec nestHost javax/crypto/spec/HKDFParameterSpec flags 31 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;KEY_DERIVATION;) +innerclass innerClass javax/crypto/spec/HKDFParameterSpec$ExtractThenExpand outerClass javax/crypto/spec/HKDFParameterSpec innerClassName ExtractThenExpand flags 19 +innerclass innerClass javax/crypto/spec/HKDFParameterSpec$Extract outerClass javax/crypto/spec/HKDFParameterSpec innerClassName Extract flags 19 +innerclass innerClass javax/crypto/spec/HKDFParameterSpec$Expand outerClass javax/crypto/spec/HKDFParameterSpec innerClassName Expand flags 19 +method name ikms descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List; +method name salts descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List; +method name info descriptor ()[B flags 1 +method name length descriptor ()I flags 1 + +class name javax/net/ssl/KeyManagerFactory +header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) + +class name javax/net/ssl/SSLSocketFactory +header extends javax/net/SocketFactory flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I1) + +class name javax/net/ssl/TrustManagerFactory +header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) + +class name javax/security/auth/Subject +header extends java/lang/Object implements java/io/Serializable flags 31 +innerclass innerClass java/lang/ScopedValue$Carrier outerClass java/lang/ScopedValue innerClassName Carrier flags 19 +innerclass innerClass java/lang/ScopedValue$CallableOp outerClass java/lang/ScopedValue innerClassName CallableOp flags 609 +innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/AbstractBoundLocalVariable +header extends jdk/internal/classfile/impl/AbstractElement implements jdk/internal/classfile/impl/Util$WritableLocalVariable flags 21 +innerclass innerClass jdk/internal/classfile/impl/Util$WritableLocalVariable outerClass jdk/internal/classfile/impl/Util innerClassName WritableLocalVariable flags 608 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)Z +method name writeLocalTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)Z flags 1 + +class name jdk/internal/classfile/impl/AbstractDirectBuilder +header extends java/lang/Object flags 21 signature Ljava/lang/Object; +-method name original descriptor ()Ljava/util/Optional; +method name canWriteDirect descriptor (Ljava/lang/classfile/constantpool/ConstantPool;)Z flags 1 + +class name jdk/internal/classfile/impl/AbstractInstruction +-method name descriptor (Ljava/lang/classfile/Opcode;I)V + +class name jdk/internal/classfile/impl/AbstractInstruction$BoundInstruction +-method name descriptor (Ljava/lang/classfile/Opcode;ILjdk/internal/classfile/impl/CodeImpl;I)V +method name descriptor (Ljava/lang/classfile/Opcode;Ljdk/internal/classfile/impl/CodeImpl;I)V flags 4 + +class name jdk/internal/classfile/impl/AbstractInstruction$BoundLookupSwitchInstruction +header extends jdk/internal/classfile/impl/AbstractInstruction$BoundInstruction implements java/lang/classfile/instruction/LookupSwitchInstruction nestHost jdk/internal/classfile/impl/AbstractInstruction flags 31 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundInstruction flags 409 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundLookupSwitchInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundLookupSwitchInstruction flags 19 +method name sizeInBytes descriptor ()I flags 1 + +class name jdk/internal/classfile/impl/AbstractInstruction$BoundTableSwitchInstruction +header extends jdk/internal/classfile/impl/AbstractInstruction$BoundInstruction implements java/lang/classfile/instruction/TableSwitchInstruction nestHost jdk/internal/classfile/impl/AbstractInstruction flags 31 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundInstruction flags 409 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundTableSwitchInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundTableSwitchInstruction flags 19 +method name sizeInBytes descriptor ()I flags 1 + +class name jdk/internal/classfile/impl/AbstractInstruction$UnboundIntrinsicConstantInstruction +-method name writeTo descriptor (Ljdk/internal/classfile/impl/DirectCodeBuilder;)V + +class name jdk/internal/classfile/impl/AbstractPoolEntry +header extends java/lang/Object nestMembers jdk/internal/classfile/impl/AbstractPoolEntry$DoubleEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$LongEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$FloatEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$IntegerEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$StringEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$MethodTypeEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$MethodHandleEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$ConstantDynamicEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$InvokeDynamicEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$AbstractDynamicConstantPoolEntry,jdk/internal/classfile/impl/AbstractPoolEntry$InterfaceMethodRefEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$MethodRefEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$FieldRefEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$AbstractMemberRefEntry,jdk/internal/classfile/impl/AbstractPoolEntry$NameAndTypeEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$ModuleEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$PackageEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$ClassEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$AbstractNamedEntry,jdk/internal/classfile/impl/AbstractPoolEntry$AbstractRefsEntry,jdk/internal/classfile/impl/AbstractPoolEntry$AbstractRefEntry,jdk/internal/classfile/impl/AbstractPoolEntry$Utf8EntryImpl sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPoolEntry$Utf8EntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$AbstractRefEntry,jdk/internal/classfile/impl/AbstractPoolEntry$AbstractRefsEntry,jdk/internal/classfile/impl/AbstractPoolEntry$AbstractDynamicConstantPoolEntry,jdk/internal/classfile/impl/AbstractPoolEntry$MethodHandleEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$IntegerEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$FloatEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$LongEntryImpl,jdk/internal/classfile/impl/AbstractPoolEntry$DoubleEntryImpl flags 421 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$Utf8EntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName Utf8EntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$DoubleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName DoubleEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$LongEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName LongEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$FloatEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName FloatEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$IntegerEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName IntegerEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$StringEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName StringEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$MethodTypeEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName MethodTypeEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$MethodHandleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName MethodHandleEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ConstantDynamicEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ConstantDynamicEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$InvokeDynamicEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName InvokeDynamicEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$AbstractDynamicConstantPoolEntry outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName AbstractDynamicConstantPoolEntry flags 409 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$InterfaceMethodRefEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName InterfaceMethodRefEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$MethodRefEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName MethodRefEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$FieldRefEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName FieldRefEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$AbstractMemberRefEntry outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName AbstractMemberRefEntry flags 409 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$NameAndTypeEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName NameAndTypeEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ModuleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ModuleEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$PackageEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName PackageEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ClassEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ClassEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$AbstractNamedEntry outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName AbstractNamedEntry flags 408 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$AbstractRefsEntry outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName AbstractRefsEntry flags 408 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$AbstractRefEntry outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName AbstractRefEntry flags 408 +-field name tag descriptor B +-method name rawUtf8EntryFromStandardAttributeName descriptor (Ljava/lang/String;)Ljava/lang/classfile/constantpool/Utf8Entry; +-method name tag descriptor ()B +method name tag descriptor ()B flags 401 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$AbstractDynamicConstantPoolEntry +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +class name jdk/internal/classfile/impl/AbstractPoolEntry$AbstractMemberRefEntry +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +class name jdk/internal/classfile/impl/AbstractPoolEntry$AbstractNamedEntry +-method name equals descriptor (Ljava/lang/Object;)Z + +class name jdk/internal/classfile/impl/AbstractPoolEntry$AbstractRefEntry +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +class name jdk/internal/classfile/impl/AbstractPoolEntry$AbstractRefsEntry +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +class name jdk/internal/classfile/impl/AbstractPoolEntry$ClassEntryImpl +-field name sym descriptor Ljava/lang/constant/ClassDesc; +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +field name sym descriptor Ljava/lang/constant/ClassDesc; flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/Stable; +method name tag descriptor ()B flags 1 +method name hashCode descriptor ()I flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$ConstantDynamicEntryImpl +method name tag descriptor ()B flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$DoubleEntryImpl +header extends jdk/internal/classfile/impl/AbstractPoolEntry implements java/lang/classfile/constantpool/DoubleEntry nestHost jdk/internal/classfile/impl/AbstractPoolEntry flags 31 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$DoubleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName DoubleEntryImpl flags 19 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +-method name toString descriptor ()Ljava/lang/String; +-method name constantValue descriptor ()Ljava/lang/constant/ConstantDesc; +-method name value descriptor ()Ljava/lang/constant/ConstantDesc; +method name tag descriptor ()B flags 1 +method name width descriptor ()I flags 1 +method name constantValue descriptor ()Ljava/lang/constant/ConstantDesc; flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$FieldRefEntryImpl +method name tag descriptor ()B flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$FloatEntryImpl +header extends jdk/internal/classfile/impl/AbstractPoolEntry implements java/lang/classfile/constantpool/FloatEntry nestHost jdk/internal/classfile/impl/AbstractPoolEntry flags 31 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$FloatEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName FloatEntryImpl flags 19 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +-method name toString descriptor ()Ljava/lang/String; +-method name constantValue descriptor ()Ljava/lang/constant/ConstantDesc; +-method name value descriptor ()Ljava/lang/constant/ConstantDesc; +method name tag descriptor ()B flags 1 +method name constantValue descriptor ()Ljava/lang/constant/ConstantDesc; flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$IntegerEntryImpl +header extends jdk/internal/classfile/impl/AbstractPoolEntry implements java/lang/classfile/constantpool/IntegerEntry nestHost jdk/internal/classfile/impl/AbstractPoolEntry flags 31 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$IntegerEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName IntegerEntryImpl flags 19 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +-method name toString descriptor ()Ljava/lang/String; +-method name constantValue descriptor ()Ljava/lang/constant/ConstantDesc; +-method name value descriptor ()Ljava/lang/constant/ConstantDesc; +method name tag descriptor ()B flags 1 +method name constantValue descriptor ()Ljava/lang/constant/ConstantDesc; flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$InterfaceMethodRefEntryImpl +method name tag descriptor ()B flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$InvokeDynamicEntryImpl +method name tag descriptor ()B flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$LongEntryImpl +header extends jdk/internal/classfile/impl/AbstractPoolEntry implements java/lang/classfile/constantpool/LongEntry nestHost jdk/internal/classfile/impl/AbstractPoolEntry flags 31 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$LongEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName LongEntryImpl flags 19 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +-method name toString descriptor ()Ljava/lang/String; +-method name constantValue descriptor ()Ljava/lang/constant/ConstantDesc; +-method name value descriptor ()Ljava/lang/constant/ConstantDesc; +method name tag descriptor ()B flags 1 +method name width descriptor ()I flags 1 +method name constantValue descriptor ()Ljava/lang/constant/ConstantDesc; flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$MethodHandleEntryImpl +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name tag descriptor ()B flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$MethodRefEntryImpl +method name tag descriptor ()B flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$MethodTypeEntryImpl +-field name sym descriptor Ljava/lang/constant/MethodTypeDesc; +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name tag descriptor ()B flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$ModuleEntryImpl +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name tag descriptor ()B flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$NameAndTypeEntryImpl +-field name typeSym descriptor Ljava/lang/invoke/TypeDescriptor; +-method name fieldTypeSymbol descriptor ()Ljava/lang/constant/ClassDesc; +-method name methodTypeSymbol descriptor ()Ljava/lang/constant/MethodTypeDesc; +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name tag descriptor ()B flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$PackageEntryImpl +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name tag descriptor ()B flags 1 + +-class name jdk/internal/classfile/impl/AbstractPoolEntry$PrimitiveEntry + +class name jdk/internal/classfile/impl/AbstractPoolEntry$StringEntryImpl +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name tag descriptor ()B flags 1 + +class name jdk/internal/classfile/impl/AbstractPoolEntry$Utf8EntryImpl +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name tag descriptor ()B flags 1 +method name fieldTypeSymbol descriptor ()Ljava/lang/constant/ClassDesc; flags 1 +method name methodTypeSymbol descriptor ()Ljava/lang/constant/MethodTypeDesc; flags 1 + +class name jdk/internal/classfile/impl/AbstractPseudoInstruction$AbstractLocalPseudo +header extends jdk/internal/classfile/impl/AbstractPseudoInstruction implements jdk/internal/classfile/impl/Util$WritableLocalVariable nestHost jdk/internal/classfile/impl/AbstractPseudoInstruction sealed true permittedSubclasses jdk/internal/classfile/impl/AbstractPseudoInstruction$UnboundLocalVariable,jdk/internal/classfile/impl/AbstractPseudoInstruction$UnboundLocalVariableType flags 420 +innerclass innerClass jdk/internal/classfile/impl/AbstractPseudoInstruction$AbstractLocalPseudo outerClass jdk/internal/classfile/impl/AbstractPseudoInstruction innerClassName AbstractLocalPseudo flags 40a +innerclass innerClass jdk/internal/classfile/impl/Util$WritableLocalVariable outerClass jdk/internal/classfile/impl/Util innerClassName WritableLocalVariable flags 608 +innerclass innerClass jdk/internal/classfile/impl/AbstractPseudoInstruction$UnboundLocalVariable outerClass jdk/internal/classfile/impl/AbstractPseudoInstruction innerClassName UnboundLocalVariable flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPseudoInstruction$UnboundLocalVariableType outerClass jdk/internal/classfile/impl/AbstractPseudoInstruction innerClassName UnboundLocalVariableType flags 19 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)Z +method name writeLocalTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)Z flags 1 + +class name jdk/internal/classfile/impl/AbstractPseudoInstruction$UnboundLocalVariable +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)Z +method name writeLocalTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)Z flags 1041 methodParameters 1000:null + +class name jdk/internal/classfile/impl/AbstractPseudoInstruction$UnboundLocalVariableType +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)Z +method name writeLocalTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)Z flags 1041 methodParameters 1000:null + +class name jdk/internal/classfile/impl/AbstractUnboundModel +-method name forEachElement descriptor (Ljava/util/function/Consumer;)V +method name forEach descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<-TE;>;)V + +class name jdk/internal/classfile/impl/AnnotationImpl +header extends java/lang/Record implements java/lang/classfile/Annotation nestMembers jdk/internal/classfile/impl/AnnotationImpl$OfClassImpl,jdk/internal/classfile/impl/AnnotationImpl$OfAnnotationImpl,jdk/internal/classfile/impl/AnnotationImpl$OfEnumImpl,jdk/internal/classfile/impl/AnnotationImpl$OfArrayImpl,jdk/internal/classfile/impl/AnnotationImpl$OfBooleanImpl,jdk/internal/classfile/impl/AnnotationImpl$OfByteImpl,jdk/internal/classfile/impl/AnnotationImpl$OfCharImpl,jdk/internal/classfile/impl/AnnotationImpl$OfShortImpl,jdk/internal/classfile/impl/AnnotationImpl$OfIntImpl,jdk/internal/classfile/impl/AnnotationImpl$OfLongImpl,jdk/internal/classfile/impl/AnnotationImpl$OfFloatImpl,jdk/internal/classfile/impl/AnnotationImpl$OfDoubleImpl,jdk/internal/classfile/impl/AnnotationImpl$OfStringImpl,jdk/internal/classfile/impl/AnnotationImpl$AnnotationElementImpl record true flags 31 +recordcomponent name className descriptor Ljava/lang/classfile/constantpool/Utf8Entry; +recordcomponent name elements descriptor Ljava/util/List; signature Ljava/util/List; +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfClassImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfClassImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfAnnotationImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfAnnotationImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfEnumImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfEnumImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfArrayImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfArrayImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfBooleanImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfBooleanImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfByteImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfByteImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfCharImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfCharImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfShortImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfShortImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfIntImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfIntImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfLongImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfLongImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfFloatImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfFloatImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfDoubleImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfDoubleImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfStringImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfStringImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$AnnotationElementImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName AnnotationElementImpl flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name hashCode descriptor ()I flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 + +class name jdk/internal/classfile/impl/AnnotationImpl$AnnotationElementImpl +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +-method name toString descriptor ()Ljava/lang/String; +method name toString descriptor ()Ljava/lang/String; flags 1 + +class name jdk/internal/classfile/impl/AnnotationImpl$OfAnnotationImpl +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +class name jdk/internal/classfile/impl/AnnotationImpl$OfArrayImpl +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +class name jdk/internal/classfile/impl/AnnotationImpl$OfBooleanImpl +header extends java/lang/Record implements java/lang/classfile/AnnotationValue$OfBoolean nestHost jdk/internal/classfile/impl/AnnotationImpl record true flags 31 +recordcomponent name constant descriptor Ljava/lang/classfile/constantpool/IntegerEntry; +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfBooleanImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfBooleanImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfBoolean outerClass java/lang/classfile/AnnotationValue innerClassName OfBoolean flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/AnnotationImpl$OfByteImpl +header extends java/lang/Record implements java/lang/classfile/AnnotationValue$OfByte nestHost jdk/internal/classfile/impl/AnnotationImpl record true flags 31 +recordcomponent name constant descriptor Ljava/lang/classfile/constantpool/IntegerEntry; +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfByteImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfByteImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfByte outerClass java/lang/classfile/AnnotationValue innerClassName OfByte flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/AnnotationImpl$OfCharImpl +header extends java/lang/Record implements java/lang/classfile/AnnotationValue$OfChar nestHost jdk/internal/classfile/impl/AnnotationImpl record true flags 31 +recordcomponent name constant descriptor Ljava/lang/classfile/constantpool/IntegerEntry; +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfCharImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfCharImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfChar outerClass java/lang/classfile/AnnotationValue innerClassName OfChar flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor (Ljava/lang/classfile/constantpool/IntegerEntry;)V flags 1 methodParameters 0:constant +method name tag descriptor ()C flags 1 +method name charValue descriptor ()C flags 1 +method name toString descriptor ()Ljava/lang/String; flags 11 +method name hashCode descriptor ()I flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 +method name constant descriptor ()Ljava/lang/classfile/constantpool/IntegerEntry; flags 1 +method name constant descriptor ()Ljava/lang/classfile/constantpool/AnnotationConstantValueEntry; flags 1041 + +-class name jdk/internal/classfile/impl/AnnotationImpl$OfCharacterImpl + +class name jdk/internal/classfile/impl/AnnotationImpl$OfClassImpl +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +-class name jdk/internal/classfile/impl/AnnotationImpl$OfConstantImpl + +class name jdk/internal/classfile/impl/AnnotationImpl$OfDoubleImpl +header extends java/lang/Record implements java/lang/classfile/AnnotationValue$OfDouble nestHost jdk/internal/classfile/impl/AnnotationImpl record true flags 31 +recordcomponent name constant descriptor Ljava/lang/classfile/constantpool/DoubleEntry; +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfDoubleImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfDoubleImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfDouble outerClass java/lang/classfile/AnnotationValue innerClassName OfDouble flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/AnnotationImpl$OfEnumImpl +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +class name jdk/internal/classfile/impl/AnnotationImpl$OfFloatImpl +header extends java/lang/Record implements java/lang/classfile/AnnotationValue$OfFloat nestHost jdk/internal/classfile/impl/AnnotationImpl record true flags 31 +recordcomponent name constant descriptor Ljava/lang/classfile/constantpool/FloatEntry; +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfFloatImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfFloatImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfFloat outerClass java/lang/classfile/AnnotationValue innerClassName OfFloat flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/AnnotationImpl$OfIntImpl +header extends java/lang/Record implements java/lang/classfile/AnnotationValue$OfInt nestHost jdk/internal/classfile/impl/AnnotationImpl record true flags 31 +recordcomponent name constant descriptor Ljava/lang/classfile/constantpool/IntegerEntry; +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfIntImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfIntImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfInt outerClass java/lang/classfile/AnnotationValue innerClassName OfInt flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor (Ljava/lang/classfile/constantpool/IntegerEntry;)V flags 1 methodParameters 0:constant +method name tag descriptor ()C flags 1 +method name intValue descriptor ()I flags 1 +method name toString descriptor ()Ljava/lang/String; flags 11 +method name hashCode descriptor ()I flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 +method name constant descriptor ()Ljava/lang/classfile/constantpool/IntegerEntry; flags 1 +method name constant descriptor ()Ljava/lang/classfile/constantpool/AnnotationConstantValueEntry; flags 1041 + +-class name jdk/internal/classfile/impl/AnnotationImpl$OfIntegerImpl + +class name jdk/internal/classfile/impl/AnnotationImpl$OfLongImpl +header extends java/lang/Record implements java/lang/classfile/AnnotationValue$OfLong nestHost jdk/internal/classfile/impl/AnnotationImpl record true flags 31 +recordcomponent name constant descriptor Ljava/lang/classfile/constantpool/LongEntry; +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfLongImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfLongImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfLong outerClass java/lang/classfile/AnnotationValue innerClassName OfLong flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/AnnotationImpl$OfShortImpl +header extends java/lang/Record implements java/lang/classfile/AnnotationValue$OfShort nestHost jdk/internal/classfile/impl/AnnotationImpl record true flags 31 +recordcomponent name constant descriptor Ljava/lang/classfile/constantpool/IntegerEntry; +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfShortImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfShortImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfShort outerClass java/lang/classfile/AnnotationValue innerClassName OfShort flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/AnnotationImpl$OfStringImpl +header extends java/lang/Record implements java/lang/classfile/AnnotationValue$OfString nestHost jdk/internal/classfile/impl/AnnotationImpl record true flags 31 +recordcomponent name constant descriptor Ljava/lang/classfile/constantpool/Utf8Entry; +innerclass innerClass jdk/internal/classfile/impl/AnnotationImpl$OfStringImpl outerClass jdk/internal/classfile/impl/AnnotationImpl innerClassName OfStringImpl flags 19 +innerclass innerClass java/lang/classfile/AnnotationValue$OfString outerClass java/lang/classfile/AnnotationValue innerClassName OfString flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/BootstrapMethodEntryImpl +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +class name jdk/internal/classfile/impl/BoundAttribute +header extends jdk/internal/classfile/impl/AbstractElement implements java/lang/classfile/Attribute,jdk/internal/classfile/impl/Util$Writable nestMembers jdk/internal/classfile/impl/BoundAttribute$BoundCodeAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundPermittedSubclassesAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleAnnotationsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleAnnotationsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleParameterAnnotationsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleParameterAnnotationsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleTypeAnnotationsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleTypeAnnotationsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundAnnotationDefaultAttr,jdk/internal/classfile/impl/BoundAttribute$BoundEnclosingMethodAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundInnerClassesAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundBootstrapMethodsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundNestMembersAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundModulePackagesAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundModuleAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundExceptionsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundModuleResolutionAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundSourceIDAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundCompilationIDAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundModuleTargetAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundConstantValueAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundSourceDebugExtensionAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundNestHostAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundModuleMainClassAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundSourceFileAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundSignatureAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundDeprecatedAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRecordAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundModuleHashesAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundMethodParametersAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundLocalVariableTypeTableAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundLocalVariableTableAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundCharacterRangeTableAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundLineNumberTableAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundSyntheticAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundStackMapTableAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundUnknownAttribute sealed true permittedSubclasses jdk/internal/classfile/impl/BoundAttribute$BoundUnknownAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundStackMapTableAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundSyntheticAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundLineNumberTableAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundCharacterRangeTableAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundLocalVariableTableAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundLocalVariableTypeTableAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundMethodParametersAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundModuleHashesAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRecordAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundDeprecatedAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundSignatureAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundSourceFileAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundModuleMainClassAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundNestHostAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundSourceDebugExtensionAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundConstantValueAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundModuleTargetAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundCompilationIDAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundSourceIDAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundModuleResolutionAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundExceptionsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundModuleAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundModulePackagesAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundNestMembersAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundBootstrapMethodsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundInnerClassesAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundEnclosingMethodAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundAnnotationDefaultAttr,jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleTypeAnnotationsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleTypeAnnotationsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleParameterAnnotationsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleParameterAnnotationsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleAnnotationsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleAnnotationsAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundPermittedSubclassesAttribute,jdk/internal/classfile/impl/BoundAttribute$BoundCodeAttribute flags 421 signature ;>Ljdk/internal/classfile/impl/AbstractElement;Ljava/lang/classfile/Attribute;Ljdk/internal/classfile/impl/Util$Writable; +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundUnknownAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundUnknownAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/Util$Writable outerClass jdk/internal/classfile/impl/Util innerClassName Writable flags 608 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundCodeAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundCodeAttribute flags 409 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundPermittedSubclassesAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundPermittedSubclassesAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeVisibleAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeInvisibleAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleParameterAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeInvisibleParameterAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleParameterAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeVisibleParameterAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleTypeAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeInvisibleTypeAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleTypeAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeVisibleTypeAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundAnnotationDefaultAttr outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundAnnotationDefaultAttr flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundEnclosingMethodAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundEnclosingMethodAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundInnerClassesAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundInnerClassesAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundBootstrapMethodsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundBootstrapMethodsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundNestMembersAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundNestMembersAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundModulePackagesAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundModulePackagesAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundModuleAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundModuleAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundExceptionsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundExceptionsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundModuleResolutionAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundModuleResolutionAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundSourceIDAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundSourceIDAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundCompilationIDAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundCompilationIDAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundModuleTargetAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundModuleTargetAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundConstantValueAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundConstantValueAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundSourceDebugExtensionAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundSourceDebugExtensionAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundNestHostAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundNestHostAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundModuleMainClassAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundModuleMainClassAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundSourceFileAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundSourceFileAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundSignatureAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundSignatureAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundDeprecatedAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundDeprecatedAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRecordAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRecordAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundModuleHashesAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundModuleHashesAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundMethodParametersAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundMethodParametersAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundLocalVariableTypeTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundLocalVariableTypeTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundLocalVariableTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundLocalVariableTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundCharacterRangeTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundCharacterRangeTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundLineNumberTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundLineNumberTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundSyntheticAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundSyntheticAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundStackMapTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundStackMapTableAttribute flags 19 +-method name attributeName descriptor ()Ljava/lang/String; +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name writeTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)V flags 1 +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/BufWriterImpl +-method name writeU2 descriptor (I)V +-method name writeBytes descriptor (Ljava/lang/classfile/BufWriter;)V +-method name asByteBuffer descriptor ()Ljava/nio/ByteBuffer; +-method name writeIndex descriptor (Ljava/lang/classfile/constantpool/PoolEntry;)V +-method name writeList descriptor (Ljava/util/List;)V +-method name writeListIndices descriptor (Ljava/util/List;)V +method name writeU2 descriptor (I)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name writeU1U1 descriptor (II)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name writeU1U2 descriptor (II)V flags 1 +method name writeU1U1U1 descriptor (III)V flags 1 +method name writeU1U1U2 descriptor (III)V flags 1 +method name writeU1U2U2 descriptor (III)V flags 1 +method name writeU2U1 descriptor (II)V flags 1 +method name writeU2U2 descriptor (II)V flags 1 +method name writeU2U2U2 descriptor (III)V flags 1 +method name writeIntInt descriptor (II)V flags 1 +method name writeBytes descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)V flags 1 +method name patchU2 descriptor (II)V flags 1 +method name patchInt descriptor (II)V flags 1 +method name skip descriptor (I)I flags 1 +method name bytecodeView descriptor ()Ljdk/internal/classfile/impl/RawBytecodeHelper$CodeRange; flags 1 +method name cpIndex descriptor (Ljava/lang/classfile/constantpool/PoolEntry;)I flags 1 +method name cpIndexOrZero descriptor (Ljava/lang/classfile/constantpool/PoolEntry;)I flags 1 +method name writeIndex descriptor (Ljava/lang/classfile/constantpool/PoolEntry;)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name writeIndex descriptor (ILjava/lang/classfile/constantpool/PoolEntry;)V flags 1 + +class name jdk/internal/classfile/impl/BufferedCodeBuilder +-method name original descriptor ()Ljava/util/Optional; + +class name jdk/internal/classfile/impl/BufferedCodeBuilder$Model +-method name maxLocals descriptor ()I +-method name maxStack descriptor ()I +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +class name jdk/internal/classfile/impl/BufferedFieldBuilder +header extends java/lang/Object implements jdk/internal/classfile/impl/TerminalFieldBuilder nestMembers jdk/internal/classfile/impl/BufferedFieldBuilder$Model flags 31 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass jdk/internal/classfile/impl/BufferedFieldBuilder$Model outerClass jdk/internal/classfile/impl/BufferedFieldBuilder innerClassName Model flags 11 +-method name descriptor (Ljdk/internal/classfile/impl/SplitConstantPool;Ljdk/internal/classfile/impl/ClassFileImpl;Ljava/lang/classfile/constantpool/Utf8Entry;Ljava/lang/classfile/constantpool/Utf8Entry;Ljava/lang/classfile/FieldModel;)V +-method name original descriptor ()Ljava/util/Optional; +method name descriptor (Ljdk/internal/classfile/impl/SplitConstantPool;Ljdk/internal/classfile/impl/ClassFileImpl;Ljava/lang/classfile/constantpool/Utf8Entry;Ljava/lang/classfile/constantpool/Utf8Entry;)V flags 1 + +class name jdk/internal/classfile/impl/BufferedFieldBuilder$Model +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +class name jdk/internal/classfile/impl/BufferedMethodBuilder +header extends java/lang/Object implements jdk/internal/classfile/impl/TerminalMethodBuilder nestMembers jdk/internal/classfile/impl/BufferedMethodBuilder$Model flags 31 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass jdk/internal/classfile/impl/BufferedMethodBuilder$Model outerClass jdk/internal/classfile/impl/BufferedMethodBuilder innerClassName Model flags 11 +-method name descriptor (Ljdk/internal/classfile/impl/SplitConstantPool;Ljdk/internal/classfile/impl/ClassFileImpl;Ljava/lang/classfile/constantpool/Utf8Entry;Ljava/lang/classfile/constantpool/Utf8Entry;Ljava/lang/classfile/MethodModel;)V +-method name original descriptor ()Ljava/util/Optional; +method name descriptor (Ljdk/internal/classfile/impl/SplitConstantPool;Ljdk/internal/classfile/impl/ClassFileImpl;Ljava/lang/classfile/constantpool/Utf8Entry;Ljava/lang/classfile/constantpool/Utf8Entry;ILjava/lang/classfile/MethodModel;)V flags 1 + +class name jdk/internal/classfile/impl/BufferedMethodBuilder$Model +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +class name jdk/internal/classfile/impl/ChainedClassBuilder +-method name original descriptor ()Ljava/util/Optional; + +class name jdk/internal/classfile/impl/ChainedFieldBuilder +-method name original descriptor ()Ljava/util/Optional; + +class name jdk/internal/classfile/impl/ChainedMethodBuilder +-method name original descriptor ()Ljava/util/Optional; + +class name jdk/internal/classfile/impl/ClassFileImpl +header extends java/lang/Object implements java/lang/classfile/ClassFile nestMembers jdk/internal/classfile/impl/ClassFileImpl$ClassHierarchyResolverOptionImpl,jdk/internal/classfile/impl/ClassFileImpl$AttributeMapperOptionImpl flags 31 +innerclass innerClass java/lang/classfile/ClassFile$Option outerClass java/lang/classfile/ClassFile innerClassName Option flags 609 +innerclass innerClass java/lang/classfile/ClassFile$StackMapsOption outerClass java/lang/classfile/ClassFile innerClassName StackMapsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$ClassHierarchyResolverOption outerClass java/lang/classfile/ClassFile innerClassName ClassHierarchyResolverOption flags 609 +innerclass innerClass java/lang/classfile/ClassFile$DebugElementsOption outerClass java/lang/classfile/ClassFile innerClassName DebugElementsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$LineNumbersOption outerClass java/lang/classfile/ClassFile innerClassName LineNumbersOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$AttributesProcessingOption outerClass java/lang/classfile/ClassFile innerClassName AttributesProcessingOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$ConstantPoolSharingOption outerClass java/lang/classfile/ClassFile innerClassName ConstantPoolSharingOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$ShortJumpsOption outerClass java/lang/classfile/ClassFile innerClassName ShortJumpsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$DeadCodeOption outerClass java/lang/classfile/ClassFile innerClassName DeadCodeOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$DeadLabelsOption outerClass java/lang/classfile/ClassFile innerClassName DeadLabelsOption flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$AttributeMapperOption outerClass java/lang/classfile/ClassFile innerClassName AttributeMapperOption flags 609 +innerclass innerClass jdk/internal/classfile/impl/ClassFileImpl$ClassHierarchyResolverOptionImpl outerClass jdk/internal/classfile/impl/ClassFileImpl innerClassName ClassHierarchyResolverOptionImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/ClassFileImpl$AttributeMapperOptionImpl outerClass jdk/internal/classfile/impl/ClassFileImpl innerClassName AttributeMapperOptionImpl flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name descriptor (Ljava/lang/classfile/ClassFile$StackMapsOption;Ljava/lang/classfile/ClassFile$DebugElementsOption;Ljava/lang/classfile/ClassFile$LineNumbersOption;Ljava/lang/classfile/ClassFile$AttributesProcessingOption;Ljava/lang/classfile/ClassFile$ConstantPoolSharingOption;Ljava/lang/classfile/ClassFile$ShortJumpsOption;Ljava/lang/classfile/ClassFile$DeadCodeOption;Ljava/lang/classfile/ClassFile$DeadLabelsOption;Ljava/lang/classfile/ClassFile$ClassHierarchyResolverOption;Ljava/lang/classfile/ClassFile$AttributeMapperOption;)V +-method name transform descriptor (Ljava/lang/classfile/ClassModel;Ljava/lang/classfile/constantpool/ClassEntry;Ljava/lang/classfile/ClassTransform;)[B +-method name toString descriptor ()Ljava/lang/String; +-method name hashCode descriptor ()I +-method name equals descriptor (Ljava/lang/Object;)Z +-method name stackMapsOption descriptor ()Ljava/lang/classfile/ClassFile$StackMapsOption; +-method name debugElementsOption descriptor ()Ljava/lang/classfile/ClassFile$DebugElementsOption; +-method name lineNumbersOption descriptor ()Ljava/lang/classfile/ClassFile$LineNumbersOption; +-method name constantPoolSharingOption descriptor ()Ljava/lang/classfile/ClassFile$ConstantPoolSharingOption; +-method name shortJumpsOption descriptor ()Ljava/lang/classfile/ClassFile$ShortJumpsOption; +-method name deadCodeOption descriptor ()Ljava/lang/classfile/ClassFile$DeadCodeOption; +-method name deadLabelsOption descriptor ()Ljava/lang/classfile/ClassFile$DeadLabelsOption; +-method name classHierarchyResolverOption descriptor ()Ljava/lang/classfile/ClassFile$ClassHierarchyResolverOption; +-method name attributeMapperOption descriptor ()Ljava/lang/classfile/ClassFile$AttributeMapperOption; +method name transformClass descriptor (Ljava/lang/classfile/ClassModel;Ljava/lang/classfile/constantpool/ClassEntry;Ljava/lang/classfile/ClassTransform;)[B flags 1 +method name sharedConstantPool descriptor ()Z flags 1 +method name attributeMapper descriptor ()Ljava/util/function/Function; flags 1 signature ()Ljava/util/function/Function;>; +method name classHierarchyResolver descriptor ()Ljava/lang/classfile/ClassHierarchyResolver; flags 1 +method name dropDeadLabels descriptor ()Z flags 1 +method name passDebugElements descriptor ()Z flags 1 +method name passLineNumbers descriptor ()Z flags 1 +method name fixShortJumps descriptor ()Z flags 1 +method name stackMapsWhenRequired descriptor ()Z flags 1 +method name generateStackMaps descriptor ()Z flags 1 +method name dropStackMaps descriptor ()Z flags 1 +method name patchDeadCode descriptor ()Z flags 1 + +class name jdk/internal/classfile/impl/ClassImpl +header extends jdk/internal/classfile/impl/AbstractElement implements java/lang/classfile/ClassModel flags 31 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name forEachElement descriptor (Ljava/util/function/Consumer;)V +method name forEach descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<-Ljava/lang/classfile/ClassElement;>;)V + +class name jdk/internal/classfile/impl/ClassPrinterImpl +header extends java/lang/Object nestMembers jdk/internal/classfile/impl/ClassPrinterImpl$MapNodeImpl,jdk/internal/classfile/impl/ClassPrinterImpl$MapNodeImpl$PrivateListNodeImpl,jdk/internal/classfile/impl/ClassPrinterImpl$ListNodeImpl,jdk/internal/classfile/impl/ClassPrinterImpl$LeafNodeImpl flags 31 +innerclass innerClass jdk/internal/classfile/impl/ClassPrinterImpl$LeafNodeImpl outerClass jdk/internal/classfile/impl/ClassPrinterImpl innerClassName LeafNodeImpl flags 19 +innerclass innerClass java/lang/classfile/components/ClassPrinter$Node outerClass java/lang/classfile/components/ClassPrinter innerClassName Node flags 609 +innerclass innerClass jdk/internal/classfile/impl/ClassPrinterImpl$ListNodeImpl outerClass jdk/internal/classfile/impl/ClassPrinterImpl innerClassName ListNodeImpl flags 9 +innerclass innerClass jdk/internal/classfile/impl/ClassPrinterImpl$MapNodeImpl outerClass jdk/internal/classfile/impl/ClassPrinterImpl innerClassName MapNodeImpl flags 19 +innerclass innerClass java/lang/classfile/components/ClassPrinter$LeafNode outerClass java/lang/classfile/components/ClassPrinter innerClassName LeafNode flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfString outerClass java/lang/classfile/AnnotationValue innerClassName OfString flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfDouble outerClass java/lang/classfile/AnnotationValue innerClassName OfDouble flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfFloat outerClass java/lang/classfile/AnnotationValue innerClassName OfFloat flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfLong outerClass java/lang/classfile/AnnotationValue innerClassName OfLong flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfInt outerClass java/lang/classfile/AnnotationValue innerClassName OfInt flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfShort outerClass java/lang/classfile/AnnotationValue innerClassName OfShort flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfChar outerClass java/lang/classfile/AnnotationValue innerClassName OfChar flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfByte outerClass java/lang/classfile/AnnotationValue innerClassName OfByte flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfBoolean outerClass java/lang/classfile/AnnotationValue innerClassName OfBoolean flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfClass outerClass java/lang/classfile/AnnotationValue innerClassName OfClass flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfEnum outerClass java/lang/classfile/AnnotationValue innerClassName OfEnum flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfAnnotation outerClass java/lang/classfile/AnnotationValue innerClassName OfAnnotation flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfArray outerClass java/lang/classfile/AnnotationValue innerClassName OfArray flags 609 +innerclass innerClass java/lang/classfile/components/ClassPrinter$Verbosity outerClass java/lang/classfile/components/ClassPrinter innerClassName Verbosity flags 4019 +innerclass innerClass java/lang/classfile/components/ClassPrinter$MapNode outerClass java/lang/classfile/components/ClassPrinter innerClassName MapNode flags 609 +innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 +innerclass innerClass java/lang/classfile/instruction/DiscontinuedInstruction$JsrInstruction outerClass java/lang/classfile/instruction/DiscontinuedInstruction innerClassName JsrInstruction flags 609 +innerclass innerClass java/lang/classfile/instruction/DiscontinuedInstruction$RetInstruction outerClass java/lang/classfile/instruction/DiscontinuedInstruction innerClassName RetInstruction flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$OffsetTarget outerClass java/lang/classfile/TypeAnnotation innerClassName OffsetTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeArgumentTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeArgumentTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$LocalVarTarget outerClass java/lang/classfile/TypeAnnotation innerClassName LocalVarTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$LocalVarTargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName LocalVarTargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetType outerClass java/lang/classfile/TypeAnnotation innerClassName TargetType flags 4019 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName VerificationTypeInfo flags 609 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName SimpleVerificationTypeInfo flags 4019 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$ObjectVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName ObjectVerificationTypeInfo flags 609 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$UninitializedVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName UninitializedVerificationTypeInfo flags 609 +innerclass innerClass jdk/internal/classfile/impl/ClassPrinterImpl$MapNodeImpl$PrivateListNodeImpl outerClass jdk/internal/classfile/impl/ClassPrinterImpl$MapNodeImpl innerClassName PrivateListNodeImpl flags 1a +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/ClassReaderImpl +header extends java/lang/Object implements java/lang/classfile/ClassReader flags 31 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$EmptyBootstrapAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName EmptyBootstrapAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$MethodHandleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName MethodHandleEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/Util$Writable outerClass jdk/internal/classfile/impl/Util innerClassName Writable flags 608 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$Utf8EntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName Utf8EntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$IntegerEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName IntegerEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$FloatEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName FloatEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$LongEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName LongEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$DoubleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName DoubleEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ClassEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ClassEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$StringEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName StringEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$FieldRefEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName FieldRefEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$MethodRefEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName MethodRefEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$InterfaceMethodRefEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName InterfaceMethodRefEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$NameAndTypeEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName NameAndTypeEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$MethodTypeEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName MethodTypeEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ConstantDynamicEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ConstantDynamicEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$InvokeDynamicEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName InvokeDynamicEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ModuleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ModuleEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$PackageEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName PackageEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$AbstractMemberRefEntry outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName AbstractMemberRefEntry flags 409 +-method name readUtf8Entry descriptor (I)Ljava/lang/classfile/constantpool/Utf8Entry; +-method name readUtf8EntryOrNull descriptor (I)Ljava/lang/classfile/constantpool/Utf8Entry; +-method name readModuleEntry descriptor (I)Ljava/lang/classfile/constantpool/ModuleEntry; +-method name readPackageEntry descriptor (I)Ljava/lang/classfile/constantpool/PackageEntry; +-method name readClassEntry descriptor (I)Ljava/lang/classfile/constantpool/ClassEntry; +-method name readNameAndTypeEntry descriptor (I)Ljava/lang/classfile/constantpool/NameAndTypeEntry; +-method name readMethodHandleEntry descriptor (I)Ljava/lang/classfile/constantpool/MethodHandleEntry; +-method name compare descriptor (Ljava/lang/classfile/BufWriter;III)Z +method name compare descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;III)Z flags 1 + +class name jdk/internal/classfile/impl/ClassRemapperImpl +header extends java/lang/Record implements java/lang/classfile/components/ClassRemapper record true flags 31 +recordcomponent name mapFunction descriptor Ljava/util/function/Function; signature Ljava/util/function/Function; +innerclass innerClass java/lang/classfile/Signature$ClassTypeSig outerClass java/lang/classfile/Signature innerClassName ClassTypeSig flags 609 +innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 +innerclass innerClass java/lang/classfile/Signature$ArrayTypeSig outerClass java/lang/classfile/Signature innerClassName ArrayTypeSig flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg outerClass java/lang/classfile/Signature innerClassName TypeArg flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfAnnotation outerClass java/lang/classfile/AnnotationValue innerClassName OfAnnotation flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfArray outerClass java/lang/classfile/AnnotationValue innerClassName OfArray flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfConstant outerClass java/lang/classfile/AnnotationValue innerClassName OfConstant flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfClass outerClass java/lang/classfile/AnnotationValue innerClassName OfClass flags 609 +innerclass innerClass java/lang/classfile/AnnotationValue$OfEnum outerClass java/lang/classfile/AnnotationValue innerClassName OfEnum flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeParam outerClass java/lang/classfile/Signature innerClassName TypeParam flags 609 +innerclass innerClass java/lang/classfile/Signature$RefTypeSig outerClass java/lang/classfile/Signature innerClassName RefTypeSig flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Unbounded outerClass java/lang/classfile/Signature$TypeArg innerClassName Unbounded flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Bounded outerClass java/lang/classfile/Signature$TypeArg innerClassName Bounded flags 609 +innerclass innerClass java/lang/classfile/Signature$TypeArg$Bounded$WildcardIndicator outerClass java/lang/classfile/Signature$TypeArg$Bounded innerClassName WildcardIndicator flags 4019 +innerclass innerClass java/lang/classfile/instruction/ConstantInstruction$LoadConstantInstruction outerClass java/lang/classfile/instruction/ConstantInstruction innerClassName LoadConstantInstruction flags 609 +innerclass innerClass java/lang/classfile/Signature$ThrowableSig outerClass java/lang/classfile/Signature innerClassName ThrowableSig flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/CodeImpl +header extends jdk/internal/classfile/impl/BoundAttribute$BoundCodeAttribute implements jdk/internal/classfile/impl/LabelContext nestMembers jdk/internal/classfile/impl/CodeImpl$ExceptionHandlerAction flags 31 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundCodeAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundCodeAttribute flags 409 +innerclass innerClass jdk/internal/classfile/impl/CodeImpl$ExceptionHandlerAction outerClass jdk/internal/classfile/impl/CodeImpl innerClassName ExceptionHandlerAction flags 609 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundLineNumberTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundLineNumberTableAttribute flags 19 +innerclass innerClass java/lang/classfile/instruction/DiscontinuedInstruction$JsrInstruction outerClass java/lang/classfile/instruction/DiscontinuedInstruction innerClassName JsrInstruction flags 609 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundCharacterRangeTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundCharacterRangeTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundLocalVariableTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundLocalVariableTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundLocalVariableTypeTableAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundLocalVariableTypeTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeVisibleTypeAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeVisibleTypeAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/BoundAttribute$BoundRuntimeInvisibleTypeAnnotationsAttribute outerClass jdk/internal/classfile/impl/BoundAttribute innerClassName BoundRuntimeInvisibleTypeAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundArgumentConstantInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundArgumentConstantInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundLoadConstantInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundLoadConstantInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundLoadInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundLoadInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundStoreInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundStoreInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundIncrementInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundIncrementInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundBranchInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundBranchInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundTableSwitchInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundTableSwitchInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundLookupSwitchInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundLookupSwitchInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundFieldInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundFieldInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundInvokeInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundInvokeInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundInvokeInterfaceInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundInvokeInterfaceInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundInvokeDynamicInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundInvokeDynamicInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundNewObjectInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundNewObjectInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundNewPrimitiveArrayInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundNewPrimitiveArrayInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundNewReferenceArrayInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundNewReferenceArrayInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundTypeCheckInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundTypeCheckInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundRetInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundRetInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundNewMultidimensionalArrayInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundNewMultidimensionalArrayInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$BoundJsrInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName BoundJsrInstruction flags 19 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass java/lang/classfile/instruction/ConstantInstruction$IntrinsicConstantInstruction outerClass java/lang/classfile/instruction/ConstantInstruction innerClassName IntrinsicConstantInstruction flags 609 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundLoadInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundLoadInstruction flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractInstruction$UnboundStoreInstruction outerClass jdk/internal/classfile/impl/AbstractInstruction innerClassName UnboundStoreInstruction flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +-method name forEachElement descriptor (Ljava/util/function/Consumer;)V +-method name compareCodeBytes descriptor (Ljava/lang/classfile/BufWriter;II)Z +method name writeTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)V flags 1 +method name forEach descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<-Ljava/lang/classfile/CodeElement;>;)V +method name compareCodeBytes descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;II)Z flags 1 + +class name jdk/internal/classfile/impl/DirectClassBuilder +header extends jdk/internal/classfile/impl/AbstractDirectBuilder implements java/lang/classfile/ClassBuilder flags 31 signature Ljdk/internal/classfile/impl/AbstractDirectBuilder;Ljava/lang/classfile/ClassBuilder; +innerclass innerClass jdk/internal/classfile/impl/Util$Writable outerClass jdk/internal/classfile/impl/Util innerClassName Writable flags 608 +-method name withField descriptor (Ljava/lang/classfile/WritableElement;)Ljava/lang/classfile/ClassBuilder; +-method name withMethod descriptor (Ljava/lang/classfile/WritableElement;)Ljava/lang/classfile/ClassBuilder; +method name withFlags descriptor (I)Ljava/lang/classfile/ClassBuilder; flags 1 +method name withField descriptor (Ljava/lang/classfile/constantpool/Utf8Entry;Ljava/lang/classfile/constantpool/Utf8Entry;I)Ljava/lang/classfile/ClassBuilder; flags 1 + +class name jdk/internal/classfile/impl/DirectCodeBuilder +header extends jdk/internal/classfile/impl/AbstractDirectBuilder implements jdk/internal/classfile/impl/TerminalCodeBuilder flags 31 signature Ljdk/internal/classfile/impl/AbstractDirectBuilder;Ljdk/internal/classfile/impl/TerminalCodeBuilder; +innerclass innerClass jdk/internal/classfile/impl/AbstractPseudoInstruction$ExceptionCatchImpl outerClass jdk/internal/classfile/impl/AbstractPseudoInstruction innerClassName ExceptionCatchImpl flags 19 +-method name build descriptor (Ljdk/internal/classfile/impl/MethodInfo;Ljava/util/function/Consumer;Ljdk/internal/classfile/impl/SplitConstantPool;Ljdk/internal/classfile/impl/ClassFileImpl;Ljava/lang/classfile/CodeModel;)Ljava/lang/classfile/Attribute; +-method name writeIncrement descriptor (II)V +-method name writeLoadConstant descriptor (Ljava/lang/classfile/Opcode;Ljava/lang/classfile/constantpool/LoadableConstantEntry;)V +method name build descriptor (Ljdk/internal/classfile/impl/MethodInfo;Ljava/util/function/Consumer;Ljdk/internal/classfile/impl/SplitConstantPool;Ljdk/internal/classfile/impl/ClassFileImpl;Ljava/lang/classfile/CodeModel;)Ljdk/internal/classfile/impl/UnboundAttribute; flags 9 signature (Ljdk/internal/classfile/impl/MethodInfo;Ljava/util/function/Consumer<-Ljava/lang/classfile/CodeBuilder;>;Ljdk/internal/classfile/impl/SplitConstantPool;Ljdk/internal/classfile/impl/ClassFileImpl;Ljava/lang/classfile/CodeModel;)Ljdk/internal/classfile/impl/UnboundAttribute; +method name writeIncrement descriptor (ZII)V flags 1 +method name addLabel descriptor (Ljdk/internal/classfile/impl/DirectCodeBuilder$DeferredLabel;)V flags 1 +method name return_ descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name return_ descriptor (Ljava/lang/classfile/TypeKind;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name storeLocal descriptor (Ljava/lang/classfile/TypeKind;I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name labelBinding descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name loadLocal descriptor (Ljava/lang/classfile/TypeKind;I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name invoke descriptor (Ljava/lang/classfile/Opcode;Ljava/lang/classfile/constantpool/MemberRefEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name invokespecial descriptor (Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name invokestatic descriptor (Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name invokevirtual descriptor (Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name getfield descriptor (Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/ClassDesc;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name fieldAccess descriptor (Ljava/lang/classfile/Opcode;Ljava/lang/classfile/constantpool/FieldRefEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name arrayLoad descriptor (Ljava/lang/classfile/TypeKind;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name arrayStore descriptor (Ljava/lang/classfile/TypeKind;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name branch descriptor (Ljava/lang/classfile/Opcode;Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name nop descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name aconst_null descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name aload descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name anewarray descriptor (Ljava/lang/classfile/constantpool/ClassEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name arraylength descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name areturn descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name astore descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name athrow descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name bipush descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name checkcast descriptor (Ljava/lang/classfile/constantpool/ClassEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name d2f descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name d2i descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name d2l descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dadd descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dcmpg descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dcmpl descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dconst_0 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dconst_1 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name ddiv descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dload descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name dmul descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dneg descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name drem descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dreturn descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dstore descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name dsub descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dup descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dup2 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dup2_x1 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dup2_x2 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dup_x1 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name dup_x2 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name f2d descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name f2i descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name f2l descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name fadd descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name fcmpg descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name fcmpl descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name fconst_0 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name fconst_1 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name fconst_2 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name fdiv descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name fload descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name fmul descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name fneg descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name frem descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name freturn descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name fstore descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name fsub descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name getstatic descriptor (Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/ClassDesc;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name goto_ descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name i2b descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name i2c descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name i2d descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name i2f descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name i2l descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name i2s descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name iadd descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name iand descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name iconst_0 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name iconst_1 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name iconst_2 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name iconst_3 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name iconst_4 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name iconst_5 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name iconst_m1 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name idiv descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name if_acmpeq descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name if_acmpne descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name if_icmpeq descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name if_icmpge descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name if_icmpgt descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name if_icmple descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name if_icmplt descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name if_icmpne descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name ifnonnull descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name ifnull descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name ifeq descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name ifge descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name ifgt descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name ifle descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name iflt descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name ifne descriptor (Ljava/lang/classfile/Label;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name iinc descriptor (II)Ljava/lang/classfile/CodeBuilder; flags 1 +method name iload descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name imul descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name ineg descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name instanceOf descriptor (Ljava/lang/classfile/constantpool/ClassEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name invokedynamic descriptor (Ljava/lang/classfile/constantpool/InvokeDynamicEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name invokeinterface descriptor (Ljava/lang/classfile/constantpool/InterfaceMethodRefEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name invokespecial descriptor (Ljava/lang/classfile/constantpool/InterfaceMethodRefEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name invokespecial descriptor (Ljava/lang/classfile/constantpool/MethodRefEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name invokestatic descriptor (Ljava/lang/classfile/constantpool/InterfaceMethodRefEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name invokestatic descriptor (Ljava/lang/classfile/constantpool/MethodRefEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name invokevirtual descriptor (Ljava/lang/classfile/constantpool/MethodRefEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name ior descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name irem descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name ireturn descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name ishl descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name ishr descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name istore descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name isub descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name iushr descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name ixor descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lookupswitch descriptor (Ljava/lang/classfile/Label;Ljava/util/List;)Ljava/lang/classfile/CodeBuilder; flags 1 signature (Ljava/lang/classfile/Label;Ljava/util/List;)Ljava/lang/classfile/CodeBuilder; +method name l2d descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name l2f descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name l2i descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name ladd descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name land descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lcmp descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lconst_0 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lconst_1 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name ldc descriptor (Ljava/lang/classfile/constantpool/LoadableConstantEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name ldiv descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lload descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name lmul descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lneg descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lor descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lrem descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lreturn descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lshl descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lshr descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lstore descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name lsub descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lushr descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name lxor descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name monitorenter descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name monitorexit descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name multianewarray descriptor (Ljava/lang/classfile/constantpool/ClassEntry;I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name new_ descriptor (Ljava/lang/classfile/constantpool/ClassEntry;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name newarray descriptor (Ljava/lang/classfile/TypeKind;)Ljava/lang/classfile/CodeBuilder; flags 1 +method name pop descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name pop2 descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name sipush descriptor (I)Ljava/lang/classfile/CodeBuilder; flags 1 +method name swap descriptor ()Ljava/lang/classfile/CodeBuilder; flags 1 +method name tableswitch descriptor (IILjava/lang/classfile/Label;Ljava/util/List;)Ljava/lang/classfile/CodeBuilder; flags 1 signature (IILjava/lang/classfile/Label;Ljava/util/List;)Ljava/lang/classfile/CodeBuilder; +method name writeAdaptLoadConstant descriptor (Ljava/lang/classfile/Opcode;Ljava/lang/classfile/constantpool/LoadableConstantEntry;)V flags 1 +method name writeDirectLoadConstant descriptor (Ljava/lang/classfile/Opcode;Ljava/lang/classfile/constantpool/LoadableConstantEntry;)V flags 1 + +class name jdk/internal/classfile/impl/DirectFieldBuilder +header extends jdk/internal/classfile/impl/AbstractDirectBuilder implements jdk/internal/classfile/impl/TerminalFieldBuilder,jdk/internal/classfile/impl/Util$Writable flags 31 signature Ljdk/internal/classfile/impl/AbstractDirectBuilder;Ljdk/internal/classfile/impl/TerminalFieldBuilder;Ljdk/internal/classfile/impl/Util$Writable; +innerclass innerClass jdk/internal/classfile/impl/Util$Writable outerClass jdk/internal/classfile/impl/Util innerClassName Writable flags 608 +-method name descriptor (Ljdk/internal/classfile/impl/SplitConstantPool;Ljdk/internal/classfile/impl/ClassFileImpl;Ljava/lang/classfile/constantpool/Utf8Entry;Ljava/lang/classfile/constantpool/Utf8Entry;Ljava/lang/classfile/FieldModel;)V +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name descriptor (Ljdk/internal/classfile/impl/SplitConstantPool;Ljdk/internal/classfile/impl/ClassFileImpl;Ljava/lang/classfile/constantpool/Utf8Entry;Ljava/lang/classfile/constantpool/Utf8Entry;ILjava/lang/classfile/FieldModel;)V flags 1 +method name withFlags descriptor (I)Ljava/lang/classfile/FieldBuilder; flags 1 +method name writeTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)V flags 1 + +class name jdk/internal/classfile/impl/DirectMethodBuilder +header extends jdk/internal/classfile/impl/AbstractDirectBuilder implements jdk/internal/classfile/impl/TerminalMethodBuilder,jdk/internal/classfile/impl/Util$Writable flags 31 signature Ljdk/internal/classfile/impl/AbstractDirectBuilder;Ljdk/internal/classfile/impl/TerminalMethodBuilder;Ljdk/internal/classfile/impl/Util$Writable; +innerclass innerClass jdk/internal/classfile/impl/Util$Writable outerClass jdk/internal/classfile/impl/Util innerClassName Writable flags 608 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name withFlags descriptor (I)Ljava/lang/classfile/MethodBuilder; flags 1 +method name writeTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)V flags 1 + +class name jdk/internal/classfile/impl/FieldImpl +header extends jdk/internal/classfile/impl/AbstractElement implements java/lang/classfile/FieldModel,jdk/internal/classfile/impl/Util$Writable flags 31 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass jdk/internal/classfile/impl/Util$Writable outerClass jdk/internal/classfile/impl/Util innerClassName Writable flags 608 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +-method name forEachElement descriptor (Ljava/util/function/Consumer;)V +method name writeTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)V flags 1 +method name forEach descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<-Ljava/lang/classfile/FieldElement;>;)V + +class name jdk/internal/classfile/impl/MethodImpl +header extends jdk/internal/classfile/impl/AbstractElement implements java/lang/classfile/MethodModel,jdk/internal/classfile/impl/MethodInfo,jdk/internal/classfile/impl/Util$Writable flags 31 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass jdk/internal/classfile/impl/Util$Writable outerClass jdk/internal/classfile/impl/Util innerClassName Writable flags 608 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +-method name forEachElement descriptor (Ljava/util/function/Consumer;)V +method name writeTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)V flags 1 +method name forEach descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<-Ljava/lang/classfile/MethodElement;>;)V + +class name jdk/internal/classfile/impl/MethodInfo +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/classfile/impl/MethodImpl,jdk/internal/classfile/impl/TerminalMethodBuilder,jdk/internal/classfile/impl/BufferedMethodBuilder$Model flags 601 +innerclass innerClass jdk/internal/classfile/impl/BufferedMethodBuilder$Model outerClass jdk/internal/classfile/impl/BufferedMethodBuilder innerClassName Model flags 11 + +class name jdk/internal/classfile/impl/NonterminalCodeBuilder +-method name original descriptor ()Ljava/util/Optional; + +class name jdk/internal/classfile/impl/SplitConstantPool +header extends java/lang/Object implements java/lang/classfile/constantpool/ConstantPoolBuilder flags 31 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$IntegerEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName IntegerEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$LongEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName LongEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$FloatEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName FloatEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$DoubleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName DoubleEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$AbstractRefEntry outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName AbstractRefEntry flags 408 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$AbstractRefsEntry outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName AbstractRefsEntry flags 408 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$Utf8EntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName Utf8EntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ClassEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ClassEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$PackageEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName PackageEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ModuleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ModuleEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$NameAndTypeEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName NameAndTypeEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$FieldRefEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName FieldRefEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$MethodRefEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName MethodRefEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$InterfaceMethodRefEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName InterfaceMethodRefEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$MethodTypeEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName MethodTypeEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$MethodHandleEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName MethodHandleEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$AbstractMemberRefEntry outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName AbstractMemberRefEntry flags 409 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$InvokeDynamicEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName InvokeDynamicEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$ConstantDynamicEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName ConstantDynamicEntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$StringEntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName StringEntryImpl flags 19 +-method name writeBootstrapMethods descriptor (Ljava/lang/classfile/BufWriter;)Z +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name writeBootstrapMethods descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)Z flags 1 +method name utf8Entry descriptor (Ljava/lang/constant/ClassDesc;)Ljdk/internal/classfile/impl/AbstractPoolEntry$Utf8EntryImpl; flags 1 +method name utf8Entry descriptor (Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 +method name classEntry descriptor (Ljava/lang/constant/ClassDesc;)Ljava/lang/classfile/constantpool/ClassEntry; flags 1 +method name utf8Entry descriptor (Ljava/lang/constant/ClassDesc;)Ljava/lang/classfile/constantpool/Utf8Entry; flags 1041 methodParameters 1000:null + +class name jdk/internal/classfile/impl/StackMapDecoder +header extends java/lang/Object nestMembers jdk/internal/classfile/impl/StackMapDecoder$StackMapFrameImpl,jdk/internal/classfile/impl/StackMapDecoder$UninitializedVerificationTypeInfoImpl,jdk/internal/classfile/impl/StackMapDecoder$ObjectVerificationTypeInfoImpl flags 21 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName VerificationTypeInfo flags 609 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$SimpleVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName SimpleVerificationTypeInfo flags 4019 +innerclass innerClass jdk/internal/classfile/impl/StackMapDecoder$ObjectVerificationTypeInfoImpl outerClass jdk/internal/classfile/impl/StackMapDecoder innerClassName ObjectVerificationTypeInfoImpl flags 19 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$ObjectVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName ObjectVerificationTypeInfo flags 609 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$UninitializedVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName UninitializedVerificationTypeInfo flags 609 +innerclass innerClass jdk/internal/classfile/impl/StackMapDecoder$StackMapFrameImpl outerClass jdk/internal/classfile/impl/StackMapDecoder innerClassName StackMapFrameImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/StackMapDecoder$UninitializedVerificationTypeInfoImpl outerClass jdk/internal/classfile/impl/StackMapDecoder innerClassName UninitializedVerificationTypeInfoImpl flags 19 + +class name jdk/internal/classfile/impl/StackMapDecoder$ObjectVerificationTypeInfoImpl +header extends java/lang/Record implements java/lang/classfile/attribute/StackMapFrameInfo$ObjectVerificationTypeInfo nestHost jdk/internal/classfile/impl/StackMapDecoder record true flags 31 +recordcomponent name className descriptor Ljava/lang/classfile/constantpool/ClassEntry; +innerclass innerClass jdk/internal/classfile/impl/StackMapDecoder$ObjectVerificationTypeInfoImpl outerClass jdk/internal/classfile/impl/StackMapDecoder innerClassName ObjectVerificationTypeInfoImpl flags 19 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName VerificationTypeInfo flags 609 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$ObjectVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName ObjectVerificationTypeInfo flags 609 + +class name jdk/internal/classfile/impl/StackMapDecoder$UninitializedVerificationTypeInfoImpl +header extends java/lang/Record implements java/lang/classfile/attribute/StackMapFrameInfo$UninitializedVerificationTypeInfo nestHost jdk/internal/classfile/impl/StackMapDecoder record true flags 31 +recordcomponent name newTarget descriptor Ljava/lang/classfile/Label; +innerclass innerClass jdk/internal/classfile/impl/StackMapDecoder$UninitializedVerificationTypeInfoImpl outerClass jdk/internal/classfile/impl/StackMapDecoder innerClassName UninitializedVerificationTypeInfoImpl flags 19 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$VerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName VerificationTypeInfo flags 609 +innerclass innerClass java/lang/classfile/attribute/StackMapFrameInfo$UninitializedVerificationTypeInfo outerClass java/lang/classfile/attribute/StackMapFrameInfo innerClassName UninitializedVerificationTypeInfo flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/TargetInfoImpl$EmptyTargetImpl +header extends java/lang/Record implements java/lang/classfile/TypeAnnotation$EmptyTarget nestHost jdk/internal/classfile/impl/TargetInfoImpl record true flags 31 +recordcomponent name targetType descriptor Ljava/lang/classfile/TypeAnnotation$TargetType; +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetType outerClass java/lang/classfile/TypeAnnotation innerClassName TargetType flags 4019 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$EmptyTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName EmptyTargetImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$EmptyTarget outerClass java/lang/classfile/TypeAnnotation innerClassName EmptyTarget flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/TargetInfoImpl$LocalVarTargetImpl +header extends java/lang/Record implements java/lang/classfile/TypeAnnotation$LocalVarTarget nestHost jdk/internal/classfile/impl/TargetInfoImpl record true flags 31 +recordcomponent name targetType descriptor Ljava/lang/classfile/TypeAnnotation$TargetType; +recordcomponent name table descriptor Ljava/util/List; signature Ljava/util/List; +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetType outerClass java/lang/classfile/TypeAnnotation innerClassName TargetType flags 4019 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$LocalVarTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName LocalVarTargetImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$LocalVarTarget outerClass java/lang/classfile/TypeAnnotation innerClassName LocalVarTarget flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$LocalVarTargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName LocalVarTargetInfo flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/TargetInfoImpl$OffsetTargetImpl +header extends java/lang/Record implements java/lang/classfile/TypeAnnotation$OffsetTarget nestHost jdk/internal/classfile/impl/TargetInfoImpl record true flags 31 +recordcomponent name targetType descriptor Ljava/lang/classfile/TypeAnnotation$TargetType; +recordcomponent name target descriptor Ljava/lang/classfile/Label; +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetType outerClass java/lang/classfile/TypeAnnotation innerClassName TargetType flags 4019 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$OffsetTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName OffsetTargetImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$OffsetTarget outerClass java/lang/classfile/TypeAnnotation innerClassName OffsetTarget flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/TargetInfoImpl$TypeArgumentTargetImpl +header extends java/lang/Record implements java/lang/classfile/TypeAnnotation$TypeArgumentTarget nestHost jdk/internal/classfile/impl/TargetInfoImpl record true flags 31 +recordcomponent name targetType descriptor Ljava/lang/classfile/TypeAnnotation$TargetType; +recordcomponent name target descriptor Ljava/lang/classfile/Label; +recordcomponent name typeArgumentIndex descriptor I +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetType outerClass java/lang/classfile/TypeAnnotation innerClassName TargetType flags 4019 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$TypeArgumentTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName TypeArgumentTargetImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeArgumentTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeArgumentTarget flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/TargetInfoImpl$TypeParameterBoundTargetImpl +header extends java/lang/Record implements java/lang/classfile/TypeAnnotation$TypeParameterBoundTarget nestHost jdk/internal/classfile/impl/TargetInfoImpl record true flags 31 +recordcomponent name targetType descriptor Ljava/lang/classfile/TypeAnnotation$TargetType; +recordcomponent name typeParameterIndex descriptor I +recordcomponent name boundIndex descriptor I +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetType outerClass java/lang/classfile/TypeAnnotation innerClassName TargetType flags 4019 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$TypeParameterBoundTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName TypeParameterBoundTargetImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeParameterBoundTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeParameterBoundTarget flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/TargetInfoImpl$TypeParameterTargetImpl +header extends java/lang/Record implements java/lang/classfile/TypeAnnotation$TypeParameterTarget nestHost jdk/internal/classfile/impl/TargetInfoImpl record true flags 31 +recordcomponent name targetType descriptor Ljava/lang/classfile/TypeAnnotation$TargetType; +recordcomponent name typeParameterIndex descriptor I +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetType outerClass java/lang/classfile/TypeAnnotation innerClassName TargetType flags 4019 +innerclass innerClass jdk/internal/classfile/impl/TargetInfoImpl$TypeParameterTargetImpl outerClass jdk/internal/classfile/impl/TargetInfoImpl innerClassName TypeParameterTargetImpl flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypeParameterTarget outerClass java/lang/classfile/TypeAnnotation innerClassName TypeParameterTarget flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name jdk/internal/classfile/impl/TemporaryConstantPool +-method name writeBootstrapMethods descriptor (Ljava/lang/classfile/BufWriter;)Z +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V + +class name jdk/internal/classfile/impl/TerminalCodeBuilder +header extends java/lang/Object implements java/lang/classfile/CodeBuilder,jdk/internal/classfile/impl/LabelContext sealed true permittedSubclasses jdk/internal/classfile/impl/DirectCodeBuilder,jdk/internal/classfile/impl/BufferedCodeBuilder flags 601 +innerclass innerClass jdk/internal/classfile/impl/BufferedCodeBuilder$Model outerClass jdk/internal/classfile/impl/BufferedCodeBuilder innerClassName Model flags 11 +method name setupTopLocal descriptor (Ljdk/internal/classfile/impl/MethodInfo;Ljava/lang/classfile/CodeModel;)I flags 9 + +class name jdk/internal/classfile/impl/TerminalMethodBuilder +header extends java/lang/Object implements java/lang/classfile/MethodBuilder,jdk/internal/classfile/impl/MethodInfo sealed true permittedSubclasses jdk/internal/classfile/impl/BufferedMethodBuilder,jdk/internal/classfile/impl/DirectMethodBuilder flags 601 + +class name jdk/internal/classfile/impl/UnboundAttribute +header extends jdk/internal/classfile/impl/AbstractElement implements java/lang/classfile/Attribute,jdk/internal/classfile/impl/Util$Writable nestMembers jdk/internal/classfile/impl/UnboundAttribute$EmptyBootstrapAttribute,jdk/internal/classfile/impl/UnboundAttribute$AdHocAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleAttribute,jdk/internal/classfile/impl/UnboundAttribute$TypePathComponentImpl,jdk/internal/classfile/impl/UnboundAttribute$UnboundTypeAnnotation,jdk/internal/classfile/impl/UnboundAttribute$UnboundRecordComponentInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleRequiresInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleProvideInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleOpenInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleHashInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleExportInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundMethodParameterInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTypeInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundLineNumberInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundInnerClassInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundCharacterRangeInfo,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleTypeAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleTypeAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleParameterAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleParameterAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTypeTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundLineNumberTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundCharacterRangeTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceDebugExtensionAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceIDAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundCompilationIDAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundNestHostAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundNestMembersAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundPermittedSubclassesAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleResolutionAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModulePackagesAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleHashesAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleMainClassAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleTargetAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundMethodParametersAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundEnclosingMethodAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRecordAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundInnerClassesAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundStackMapTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceFileAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundAnnotationDefaultAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundExceptionsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSignatureAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSyntheticAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundDeprecatedAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundConstantValueAttribute sealed true permittedSubclasses jdk/internal/classfile/impl/UnboundAttribute$UnboundConstantValueAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundDeprecatedAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSyntheticAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSignatureAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundExceptionsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundAnnotationDefaultAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceFileAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundStackMapTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundInnerClassesAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRecordAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundEnclosingMethodAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundMethodParametersAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleTargetAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleMainClassAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleHashesAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModulePackagesAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleResolutionAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundPermittedSubclassesAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundNestMembersAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundNestHostAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundCompilationIDAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceIDAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceDebugExtensionAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundCharacterRangeTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundLineNumberTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTypeTableAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleParameterAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleParameterAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleTypeAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleTypeAnnotationsAttribute,jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleAttribute,jdk/internal/classfile/impl/UnboundAttribute$AdHocAttribute,jdk/internal/classfile/impl/UnboundAttribute$EmptyBootstrapAttribute flags 421 signature ;>Ljdk/internal/classfile/impl/AbstractElement;Ljava/lang/classfile/Attribute;Ljdk/internal/classfile/impl/Util$Writable; +innerclass innerClass jdk/internal/classfile/impl/Util$Writable outerClass jdk/internal/classfile/impl/Util innerClassName Writable flags 608 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$EmptyBootstrapAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName EmptyBootstrapAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$AdHocAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName AdHocAttribute flags 409 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$TypePathComponentImpl outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName TypePathComponentImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundTypeAnnotation outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundTypeAnnotation flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRecordComponentInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRecordComponentInfo flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleRequiresInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleRequiresInfo flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleProvideInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleProvideInfo flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleOpenInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleOpenInfo flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleHashInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleHashInfo flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleExportInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleExportInfo flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundMethodParameterInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundMethodParameterInfo flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTypeInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundLocalVariableTypeInfo flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundLocalVariableInfo flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundLineNumberInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundLineNumberInfo flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundInnerClassInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundInnerClassInfo flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundCharacterRangeInfo outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundCharacterRangeInfo flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleTypeAnnotationsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRuntimeInvisibleTypeAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleTypeAnnotationsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRuntimeVisibleTypeAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleParameterAnnotationsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRuntimeInvisibleParameterAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleParameterAnnotationsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRuntimeVisibleParameterAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleAnnotationsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRuntimeInvisibleAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleAnnotationsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRuntimeVisibleAnnotationsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTypeTableAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundLocalVariableTypeTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTableAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundLocalVariableTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundLineNumberTableAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundLineNumberTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundCharacterRangeTableAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundCharacterRangeTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceDebugExtensionAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundSourceDebugExtensionAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceIDAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundSourceIDAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundCompilationIDAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundCompilationIDAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundNestHostAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundNestHostAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundNestMembersAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundNestMembersAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundPermittedSubclassesAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundPermittedSubclassesAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleResolutionAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleResolutionAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModulePackagesAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModulePackagesAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleHashesAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleHashesAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleMainClassAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleMainClassAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleTargetAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundModuleTargetAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundMethodParametersAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundMethodParametersAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundEnclosingMethodAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundEnclosingMethodAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundRecordAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundRecordAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundInnerClassesAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundInnerClassesAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundStackMapTableAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundStackMapTableAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceFileAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundSourceFileAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundAnnotationDefaultAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundAnnotationDefaultAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundExceptionsAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundExceptionsAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundSignatureAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundSignatureAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundSyntheticAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundSyntheticAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundDeprecatedAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundDeprecatedAttribute flags 19 +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundConstantValueAttribute outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundConstantValueAttribute flags 19 +-method name attributeName descriptor ()Ljava/lang/String; +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name writeTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)V flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$AdHocAttribute +-method name writeBody descriptor (Ljava/lang/classfile/BufWriter;)V +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +method name writeBody descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)V flags 401 +method name writeTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)V flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$EmptyBootstrapAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundAnnotationDefaultAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundCharacterRangeTableAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundCompilationIDAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundConstantValueAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundDeprecatedAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundEnclosingMethodAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundExceptionsAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundInnerClassesAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundLineNumberTableAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTableAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundLocalVariableTypeTableAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundMethodParametersAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleHashesAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleMainClassAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundModulePackagesAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleResolutionAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundModuleTargetAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundNestHostAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundNestMembersAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundPermittedSubclassesAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundRecordAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleAnnotationsAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleParameterAnnotationsAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeInvisibleTypeAnnotationsAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleAnnotationsAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleParameterAnnotationsAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundRuntimeVisibleTypeAnnotationsAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundSignatureAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceDebugExtensionAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceFileAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundSourceIDAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundStackMapTableAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundSyntheticAttribute +method name attributeName descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; flags 1 + +class name jdk/internal/classfile/impl/UnboundAttribute$UnboundTypeAnnotation +header extends java/lang/Record implements java/lang/classfile/TypeAnnotation nestHost jdk/internal/classfile/impl/UnboundAttribute record true flags 31 +recordcomponent name targetInfo descriptor Ljava/lang/classfile/TypeAnnotation$TargetInfo; +recordcomponent name targetPath descriptor Ljava/util/List; signature Ljava/util/List; +recordcomponent name annotation descriptor Ljava/lang/classfile/Annotation; +innerclass innerClass jdk/internal/classfile/impl/UnboundAttribute$UnboundTypeAnnotation outerClass jdk/internal/classfile/impl/UnboundAttribute innerClassName UnboundTypeAnnotation flags 19 +innerclass innerClass java/lang/classfile/TypeAnnotation$TargetInfo outerClass java/lang/classfile/TypeAnnotation innerClassName TargetInfo flags 609 +innerclass innerClass java/lang/classfile/TypeAnnotation$TypePathComponent outerClass java/lang/classfile/TypeAnnotation innerClassName TypePathComponent flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name descriptor (Ljava/lang/classfile/TypeAnnotation$TargetInfo;Ljava/util/List;Ljava/lang/classfile/constantpool/Utf8Entry;Ljava/util/List;)V +-method name writeTo descriptor (Ljava/lang/classfile/BufWriter;)V +-method name className descriptor ()Ljava/lang/classfile/constantpool/Utf8Entry; +-method name elements descriptor ()Ljava/util/List; +method name descriptor (Ljava/lang/classfile/TypeAnnotation$TargetInfo;Ljava/util/List;Ljava/lang/classfile/Annotation;)V flags 1 signature (Ljava/lang/classfile/TypeAnnotation$TargetInfo;Ljava/util/List;Ljava/lang/classfile/Annotation;)V methodParameters 8000:targetInfo,8000:targetPath,8000:annotation +method name annotation descriptor ()Ljava/lang/classfile/Annotation; flags 1 + +class name jdk/internal/classfile/impl/Util +header extends java/lang/Object nestMembers jdk/internal/classfile/impl/Util$WritableLocalVariable,jdk/internal/classfile/impl/Util$Writable flags 21 +innerclass innerClass java/lang/classfile/AttributeMapper$AttributeStability outerClass java/lang/classfile/AttributeMapper innerClassName AttributeStability flags 4019 +innerclass innerClass java/lang/classfile/ClassFile$AttributesProcessingOption outerClass java/lang/classfile/ClassFile innerClassName AttributesProcessingOption flags 4019 +innerclass innerClass java/lang/classfile/Opcode$Kind outerClass java/lang/classfile/Opcode innerClassName Kind flags 4019 +innerclass innerClass jdk/internal/classfile/impl/AbstractPoolEntry$Utf8EntryImpl outerClass jdk/internal/classfile/impl/AbstractPoolEntry innerClassName Utf8EntryImpl flags 19 +innerclass innerClass jdk/internal/classfile/impl/Util$Writable outerClass jdk/internal/classfile/impl/Util innerClassName Writable flags 608 +innerclass innerClass java/lang/classfile/components/ClassPrinter$Verbosity outerClass java/lang/classfile/components/ClassPrinter innerClassName Verbosity flags 4019 +innerclass innerClass jdk/internal/classfile/impl/Util$WritableLocalVariable outerClass jdk/internal/classfile/impl/Util innerClassName WritableLocalVariable flags 608 +innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name writingAll descriptor (Ljava/lang/Iterable;)Ljava/util/function/Consumer; flags 9 signature (Ljava/lang/Iterable;)Ljava/util/function/Consumer;>; +method name buildingCode descriptor (Ljava/util/function/Consumer;)Ljava/util/function/Consumer; flags 9 signature (Ljava/util/function/Consumer<-Ljava/lang/classfile/CodeBuilder;>;)Ljava/util/function/Consumer; +method name buildingFlags descriptor (I)Ljava/util/function/Consumer; flags 9 signature (I)Ljava/util/function/Consumer; +method name isAttributeAllowed descriptor (Ljava/lang/classfile/Attribute;Ljdk/internal/classfile/impl/ClassFileImpl;)Z flags 9 signature (Ljava/lang/classfile/Attribute<*>;Ljdk/internal/classfile/impl/ClassFileImpl;)Z +method name parameterSlots descriptor (Ljava/lang/constant/MethodTypeDesc;)I flags 9 +method name parseParameterSlots descriptor (ILjava/lang/constant/MethodTypeDesc;)[I flags 9 +method name maxLocals descriptor (ILjava/lang/constant/MethodTypeDesc;)I flags 9 +method name toBinaryName descriptor (Ljava/lang/constant/ClassDesc;)Ljava/lang/String; flags 9 +method name toInternalName descriptor (Ljava/lang/constant/ClassDesc;)Ljava/lang/String; flags 9 +method name toClassDesc descriptor (Ljava/lang/String;)Ljava/lang/constant/ClassDesc; flags 9 +method name mappedList descriptor (Ljava/util/List;Ljava/util/function/Function;)Ljava/util/List; flags 9 signature (Ljava/util/List<+TT;>;Ljava/util/function/Function;)Ljava/util/List; +method name entryList descriptor (Ljava/util/List;)Ljava/util/List; flags 9 signature (Ljava/util/List<+Ljava/lang/constant/ClassDesc;>;)Ljava/util/List; +method name moduleEntryList descriptor (Ljava/util/List;)Ljava/util/List; flags 9 signature (Ljava/util/List<+Ljava/lang/constant/ModuleDesc;>;)Ljava/util/List; +method name checkKind descriptor (Ljava/lang/classfile/Opcode;Ljava/lang/classfile/Opcode$Kind;)V flags 9 +method name badOpcodeKindException descriptor (Ljava/lang/classfile/Opcode;Ljava/lang/classfile/Opcode$Kind;)Ljava/lang/IllegalArgumentException; flags 9 +method name flagsToBits descriptor (Ljava/lang/reflect/AccessFlag$Location;Ljava/util/Collection;)I flags 9 signature (Ljava/lang/reflect/AccessFlag$Location;Ljava/util/Collection;)I +method name flagsToBits descriptor (Ljava/lang/reflect/AccessFlag$Location;[Ljava/lang/reflect/AccessFlag;)I flags 89 +method name has descriptor (Ljava/lang/reflect/AccessFlag$Location;ILjava/lang/reflect/AccessFlag;)Z flags 9 +method name fieldTypeSymbol descriptor (Ljava/lang/classfile/constantpool/Utf8Entry;)Ljava/lang/constant/ClassDesc; flags 9 +method name methodTypeSymbol descriptor (Ljava/lang/classfile/constantpool/Utf8Entry;)Ljava/lang/constant/MethodTypeDesc; flags 9 +method name writeAttribute descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;Ljava/lang/classfile/Attribute;)V flags 9 signature ;>(Ljdk/internal/classfile/impl/BufWriterImpl;Ljava/lang/classfile/Attribute<*>;)V +method name writeAttributes descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;Ljava/util/List;)V flags 9 signature (Ljdk/internal/classfile/impl/BufWriterImpl;Ljava/util/List<+Ljava/lang/classfile/Attribute<*>;>;)V runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name slotSize descriptor (Ljava/lang/constant/ClassDesc;)I flags 9 +method name paramSlotSize descriptor (Ljava/lang/constant/ClassDesc;)I flags 9 +method name isDoubleSlot descriptor (Ljava/lang/constant/ClassDesc;)Z flags 9 +method name dumpMethod descriptor (Ljdk/internal/classfile/impl/SplitConstantPool;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;ILjdk/internal/classfile/impl/RawBytecodeHelper$CodeRange;Ljava/util/function/Consumer;)V flags 9 signature (Ljdk/internal/classfile/impl/SplitConstantPool;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;ILjdk/internal/classfile/impl/RawBytecodeHelper$CodeRange;Ljava/util/function/Consumer;)V +method name dumpBytesHex descriptor (Ljava/util/function/Consumer;[BI)V flags 9 signature (Ljava/util/function/Consumer;[BI)V +method name writeListIndices descriptor (Ljava/lang/classfile/BufWriter;Ljava/util/List;)V flags 9 signature (Ljava/lang/classfile/BufWriter;Ljava/util/List<+Ljava/lang/classfile/constantpool/PoolEntry;>;)V +method name writeLocalVariable descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;Ljava/lang/classfile/PseudoInstruction;)Z flags 9 +method name descriptorStringHash descriptor (II)I flags 9 +method name pow31 descriptor (I)I flags 9 + +class name jdk/internal/classfile/impl/Util$Writable +header extends java/lang/Object nestHost jdk/internal/classfile/impl/Util flags 600 +innerclass innerClass jdk/internal/classfile/impl/Util$Writable outerClass jdk/internal/classfile/impl/Util innerClassName Writable flags 608 +method name writeTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)V flags 401 + +class name jdk/internal/classfile/impl/Util$WritableLocalVariable +header extends java/lang/Object nestHost jdk/internal/classfile/impl/Util flags 600 +innerclass innerClass jdk/internal/classfile/impl/Util$WritableLocalVariable outerClass jdk/internal/classfile/impl/Util innerClassName WritableLocalVariable flags 608 +method name writeLocalTo descriptor (Ljdk/internal/classfile/impl/BufWriterImpl;)Z flags 401 + +class name jdk/internal/constant/ArrayClassDescImpl +header extends java/lang/Object implements java/lang/constant/ClassDesc flags 31 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 +method name ofValidatedDescriptor descriptor (Ljava/lang/String;)Ljdk/internal/constant/ArrayClassDescImpl; flags 9 +method name ofValidated descriptor (Ljava/lang/constant/ClassDesc;I)Ljdk/internal/constant/ArrayClassDescImpl; flags 9 +method name arrayType descriptor ()Ljava/lang/constant/ClassDesc; flags 1 +method name arrayType descriptor (I)Ljava/lang/constant/ClassDesc; flags 1 +method name isArray descriptor ()Z flags 1 +method name componentType descriptor ()Ljava/lang/constant/ClassDesc; flags 1 +method name displayName descriptor ()Ljava/lang/String; flags 1 +method name descriptorString descriptor ()Ljava/lang/String; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class; thrownTypes java/lang/ReflectiveOperationException flags 1 signature (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class<*>; +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Object; thrownTypes java/lang/ReflectiveOperationException flags 1041 methodParameters 1000:null +method name arrayType descriptor ()Ljava/lang/invoke/TypeDescriptor$OfField; flags 1041 +method name componentType descriptor ()Ljava/lang/invoke/TypeDescriptor$OfField; flags 1041 + +class name jdk/internal/constant/ClassOrInterfaceDescImpl +header extends java/lang/Object implements java/lang/constant/ClassDesc flags 31 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 +method name ofValidated descriptor (Ljava/lang/String;)Ljdk/internal/constant/ClassOrInterfaceDescImpl; flags 9 +method name internalName descriptor ()Ljava/lang/String; flags 1 +method name arrayType descriptor (I)Ljava/lang/constant/ClassDesc; flags 1 +method name arrayType descriptor ()Ljava/lang/constant/ClassDesc; flags 1 +method name nested descriptor (Ljava/lang/String;)Ljava/lang/constant/ClassDesc; flags 1 +method name nested descriptor (Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/constant/ClassDesc; flags 81 +method name isClassOrInterface descriptor ()Z flags 1 +method name packageName descriptor ()Ljava/lang/String; flags 1 +method name displayName descriptor ()Ljava/lang/String; flags 1 +method name descriptorString descriptor ()Ljava/lang/String; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class; thrownTypes java/lang/ReflectiveOperationException flags 1 signature (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class<*>; +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Object; thrownTypes java/lang/ReflectiveOperationException flags 1041 methodParameters 1000:null +method name arrayType descriptor ()Ljava/lang/invoke/TypeDescriptor$OfField; flags 1041 + +class name jdk/internal/constant/PrimitiveClassDescImpl +header extends java/lang/constant/DynamicConstantDesc implements java/lang/constant/ClassDesc flags 31 signature Ljava/lang/constant/DynamicConstantDesc;>;Ljava/lang/constant/ClassDesc; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 +-method name descriptor (Ljava/lang/String;)V +field name CD_int descriptor Ljdk/internal/constant/PrimitiveClassDescImpl; flags 19 +field name CD_long descriptor Ljdk/internal/constant/PrimitiveClassDescImpl; flags 19 +field name CD_float descriptor Ljdk/internal/constant/PrimitiveClassDescImpl; flags 19 +field name CD_double descriptor Ljdk/internal/constant/PrimitiveClassDescImpl; flags 19 +field name CD_short descriptor Ljdk/internal/constant/PrimitiveClassDescImpl; flags 19 +field name CD_byte descriptor Ljdk/internal/constant/PrimitiveClassDescImpl; flags 19 +field name CD_char descriptor Ljdk/internal/constant/PrimitiveClassDescImpl; flags 19 +field name CD_boolean descriptor Ljdk/internal/constant/PrimitiveClassDescImpl; flags 19 +field name CD_void descriptor Ljdk/internal/constant/PrimitiveClassDescImpl; flags 19 +method name wrapper descriptor ()Lsun/invoke/util/Wrapper; flags 1 +method name isPrimitive descriptor ()Z flags 1 +method name arrayType descriptor (I)Ljava/lang/constant/ClassDesc; flags 1 +method name arrayType descriptor ()Ljava/lang/constant/ClassDesc; flags 1 +method name displayName descriptor ()Ljava/lang/String; flags 1 +method name arrayType descriptor ()Ljava/lang/invoke/TypeDescriptor$OfField; flags 1041 + +-class name jdk/internal/constant/ReferenceClassDescImpl + +class name jdk/internal/vm/vector/VectorSupport +field name VECTOR_OP_SADD descriptor I constantValue 119 flags 19 +field name VECTOR_OP_SSUB descriptor I constantValue 120 flags 19 +field name VECTOR_OP_SUADD descriptor I constantValue 121 flags 19 +field name VECTOR_OP_SUSUB descriptor I constantValue 122 flags 19 +field name VECTOR_OP_UMIN descriptor I constantValue 123 flags 19 +field name VECTOR_OP_UMAX descriptor I constantValue 124 flags 19 +method name wrapShuffleIndexes descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljdk/internal/vm/vector/VectorSupport$VectorShuffle;ILjdk/internal/vm/vector/VectorSupport$WrapShuffleIndexesOperation;)Ljdk/internal/vm/vector/VectorSupport$VectorShuffle; flags 9 signature ;>(Ljava/lang/Class;Ljava/lang/Class<+TSH;>;TSH;ILjdk/internal/vm/vector/VectorSupport$WrapShuffleIndexesOperation;)TSH; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; +method name selectFromTwoVectorOp descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$SelectFromTwoVector;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature ;E:Ljava/lang/Object;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class;ITV;TV;TV;Ljdk/internal/vm/vector/VectorSupport$SelectFromTwoVector;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; +method name selectFromOp descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$VectorMask;Ljdk/internal/vm/vector/VectorSupport$VectorSelectFromOp;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature ;M:Ljdk/internal/vm/vector/VectorSupport$VectorMask;E:Ljava/lang/Object;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class;Ljava/lang/Class;ITV;TV;TM;Ljdk/internal/vm/vector/VectorSupport$VectorSelectFromOp;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; + diff --git a/src/jdk.compiler/share/data/symbols/java.compiler-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.compiler-O.sym.txt new file mode 100644 index 0000000000000..f90f57e399754 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.compiler-O.sym.txt @@ -0,0 +1,91 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.compiler +header exports javax/annotation/processing,javax/lang/model,javax/lang/model/element,javax/lang/model/type,javax/lang/model/util,javax/tools requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/tools/DocumentationTool,javax/tools/JavaCompiler target macos-aarch64 flags 8000 + +class name javax/lang/model/SourceVersion +field name RELEASE_24 descriptor Ljavax/lang/model/SourceVersion; flags 4019 + +class name javax/lang/model/util/AbstractAnnotationValueVisitor14 +header extends javax/lang/model/util/AbstractAnnotationValueVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractAnnotationValueVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/AbstractAnnotationValueVisitorPreview +header extends javax/lang/model/util/AbstractAnnotationValueVisitor14 flags 421 signature Ljavax/lang/model/util/AbstractAnnotationValueVisitor14; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;LANGUAGE_MODEL;,reflective=Ztrue) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/AbstractElementVisitor14 +header extends javax/lang/model/util/AbstractElementVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractElementVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/AbstractElementVisitorPreview +header extends javax/lang/model/util/AbstractElementVisitor14 flags 421 signature Ljavax/lang/model/util/AbstractElementVisitor14; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;LANGUAGE_MODEL;,reflective=Ztrue) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/AbstractTypeVisitor14 +header extends javax/lang/model/util/AbstractTypeVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/AbstractTypeVisitorPreview +header extends javax/lang/model/util/AbstractTypeVisitor14 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor14; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;LANGUAGE_MODEL;,reflective=Ztrue) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/ElementKindVisitor14 +header extends javax/lang/model/util/ElementKindVisitor9 flags 21 signature Ljavax/lang/model/util/ElementKindVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/ElementKindVisitorPreview +header extends javax/lang/model/util/ElementKindVisitor14 flags 21 signature Ljavax/lang/model/util/ElementKindVisitor14; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;LANGUAGE_MODEL;,reflective=Ztrue) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/ElementScanner14 +header extends javax/lang/model/util/ElementScanner9 flags 21 signature Ljavax/lang/model/util/ElementScanner9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/ElementScannerPreview +header extends javax/lang/model/util/ElementScanner14 flags 21 signature Ljavax/lang/model/util/ElementScanner14; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;LANGUAGE_MODEL;,reflective=Ztrue) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/SimpleAnnotationValueVisitor14 +header extends javax/lang/model/util/SimpleAnnotationValueVisitor9 flags 21 signature Ljavax/lang/model/util/SimpleAnnotationValueVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/SimpleAnnotationValueVisitorPreview +header extends javax/lang/model/util/SimpleAnnotationValueVisitor14 flags 21 signature Ljavax/lang/model/util/SimpleAnnotationValueVisitor14; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;LANGUAGE_MODEL;,reflective=Ztrue) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/SimpleElementVisitor14 +header extends javax/lang/model/util/SimpleElementVisitor9 flags 21 signature Ljavax/lang/model/util/SimpleElementVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/SimpleElementVisitorPreview +header extends javax/lang/model/util/SimpleElementVisitor14 flags 21 signature Ljavax/lang/model/util/SimpleElementVisitor14; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;LANGUAGE_MODEL;,reflective=Ztrue) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/SimpleTypeVisitor14 +header extends javax/lang/model/util/SimpleTypeVisitor9 flags 21 signature Ljavax/lang/model/util/SimpleTypeVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/SimpleTypeVisitorPreview +header extends javax/lang/model/util/SimpleTypeVisitor14 flags 21 signature Ljavax/lang/model/util/SimpleTypeVisitor14; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;LANGUAGE_MODEL;,reflective=Ztrue) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/TypeKindVisitor14 +header extends javax/lang/model/util/TypeKindVisitor9 flags 21 signature Ljavax/lang/model/util/TypeKindVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/lang/model/util/TypeKindVisitorPreview +header extends javax/lang/model/util/TypeKindVisitor14 flags 21 signature Ljavax/lang/model/util/TypeKindVisitor14; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;LANGUAGE_MODEL;,reflective=Ztrue) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_24;) + +class name javax/tools/ToolProvider +header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3) + diff --git a/src/jdk.compiler/share/data/symbols/java.datatransfer-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.datatransfer-O.sym.txt new file mode 100644 index 0000000000000..d18edd7c44ceb --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.datatransfer-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.datatransfer +header exports java/awt/datatransfer requires name\u0020;java.base\u0020;flags\u0020;8000 uses sun/datatransfer/DesktopDatatransferService target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/java.desktop-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.desktop-O.sym.txt new file mode 100644 index 0000000000000..6dd55f78e1e1b --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.desktop-O.sym.txt @@ -0,0 +1,121 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.desktop +header exports java/applet,java/awt,java/awt/color,java/awt/desktop,java/awt/dnd,java/awt/event,java/awt/font,java/awt/geom,java/awt/im,java/awt/im/spi,java/awt/image,java/awt/image/renderable,java/awt/print,java/beans,java/beans/beancontext,javax/accessibility,javax/imageio,javax/imageio/event,javax/imageio/metadata,javax/imageio/plugins/bmp,javax/imageio/plugins/jpeg,javax/imageio/plugins/tiff,javax/imageio/spi,javax/imageio/stream,javax/print,javax/print/attribute,javax/print/attribute/standard,javax/print/event,javax/sound/midi,javax/sound/midi/spi,javax/sound/sampled,javax/sound/sampled/spi,javax/swing,javax/swing/border,javax/swing/colorchooser,javax/swing/event,javax/swing/filechooser,javax/swing/plaf,javax/swing/plaf/basic,javax/swing/plaf/metal,javax/swing/plaf/multi,javax/swing/plaf/nimbus,javax/swing/plaf/synth,javax/swing/table,javax/swing/text,javax/swing/text/html,javax/swing/text/html/parser,javax/swing/text/rtf,javax/swing/tree,javax/swing/undo extraModulePackages sun/print requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.prefs\u0020;flags\u0020;0,name\u0020;java.datatransfer\u0020;flags\u0020;20,name\u0020;java.xml\u0020;flags\u0020;20 uses java/awt/im/spi/InputMethodDescriptor,javax/accessibility/AccessibilityProvider,javax/imageio/spi/ImageInputStreamSpi,javax/imageio/spi/ImageOutputStreamSpi,javax/imageio/spi/ImageReaderSpi,javax/imageio/spi/ImageTranscoderSpi,javax/imageio/spi/ImageWriterSpi,javax/print/PrintServiceLookup,javax/print/StreamPrintServiceFactory,javax/sound/midi/spi/MidiDeviceProvider,javax/sound/midi/spi/MidiFileReader,javax/sound/midi/spi/MidiFileWriter,javax/sound/midi/spi/SoundbankReader,javax/sound/sampled/spi/AudioFileReader,javax/sound/sampled/spi/AudioFileWriter,javax/sound/sampled/spi/FormatConversionProvider,javax/sound/sampled/spi/MixerProvider,sun/swing/InteropProvider provides interface\u0020;sun/datatransfer/DesktopDatatransferService\u0020;impls\u0020;sun/awt/datatransfer/DesktopDatatransferServiceImpl,interface\u0020;java/net/ContentHandlerFactory\u0020;impls\u0020;sun/awt/www/content/MultimediaContentHandlers,interface\u0020;javax/print/PrintServiceLookup\u0020;impls\u0020;sun/print/PrintServiceLookupProvider,interface\u0020;javax/print/StreamPrintServiceFactory\u0020;impls\u0020;sun/print/PSStreamPrinterFactory,interface\u0020;javax/sound/midi/spi/MidiDeviceProvider\u0020;impls\u0020;com/sun/media/sound/MidiInDeviceProvider\u005C;u002C;com/sun/media/sound/MidiOutDeviceProvider\u005C;u002C;com/sun/media/sound/RealTimeSequencerProvider\u005C;u002C;com/sun/media/sound/SoftProvider,interface\u0020;javax/sound/midi/spi/MidiFileReader\u0020;impls\u0020;com/sun/media/sound/StandardMidiFileReader,interface\u0020;javax/sound/midi/spi/MidiFileWriter\u0020;impls\u0020;com/sun/media/sound/StandardMidiFileWriter,interface\u0020;javax/sound/midi/spi/SoundbankReader\u0020;impls\u0020;com/sun/media/sound/AudioFileSoundbankReader\u005C;u002C;com/sun/media/sound/DLSSoundbankReader\u005C;u002C;com/sun/media/sound/JARSoundbankReader\u005C;u002C;com/sun/media/sound/SF2SoundbankReader,interface\u0020;javax/sound/sampled/spi/AudioFileReader\u0020;impls\u0020;com/sun/media/sound/AiffFileReader\u005C;u002C;com/sun/media/sound/AuFileReader\u005C;u002C;com/sun/media/sound/SoftMidiAudioFileReader\u005C;u002C;com/sun/media/sound/WaveFileReader\u005C;u002C;com/sun/media/sound/WaveFloatFileReader\u005C;u002C;com/sun/media/sound/WaveExtensibleFileReader,interface\u0020;javax/sound/sampled/spi/AudioFileWriter\u0020;impls\u0020;com/sun/media/sound/AiffFileWriter\u005C;u002C;com/sun/media/sound/AuFileWriter\u005C;u002C;com/sun/media/sound/WaveFileWriter\u005C;u002C;com/sun/media/sound/WaveFloatFileWriter,interface\u0020;javax/sound/sampled/spi/FormatConversionProvider\u0020;impls\u0020;com/sun/media/sound/AlawCodec\u005C;u002C;com/sun/media/sound/AudioFloatFormatConverter\u005C;u002C;com/sun/media/sound/PCMtoPCMCodec\u005C;u002C;com/sun/media/sound/UlawCodec,interface\u0020;javax/sound/sampled/spi/MixerProvider\u0020;impls\u0020;com/sun/media/sound/DirectAudioDeviceProvider\u005C;u002C;com/sun/media/sound/PortMixerProvider target macos-aarch64 flags 8000 + +class name java/awt/AWTPermission +header extends java/security/BasicPermission flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="24") + +class name java/awt/GraphicsEnvironment +header extends java/lang/Object flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I4) + +class name java/awt/KeyboardFocusManager +-method name setCurrentKeyboardFocusManager descriptor (Ljava/awt/KeyboardFocusManager;)V +-method name getGlobalFocusOwner descriptor ()Ljava/awt/Component; +-method name setGlobalFocusOwner descriptor (Ljava/awt/Component;)V +-method name clearGlobalFocusOwner descriptor ()V +-method name getGlobalPermanentFocusOwner descriptor ()Ljava/awt/Component; +-method name setGlobalPermanentFocusOwner descriptor (Ljava/awt/Component;)V +-method name getGlobalFocusedWindow descriptor ()Ljava/awt/Window; +-method name setGlobalFocusedWindow descriptor (Ljava/awt/Window;)V +-method name getGlobalActiveWindow descriptor ()Ljava/awt/Window; +-method name setGlobalActiveWindow descriptor (Ljava/awt/Window;)V +-method name getGlobalCurrentFocusCycleRoot descriptor ()Ljava/awt/Container; +-method name setGlobalCurrentFocusCycleRoot descriptor (Ljava/awt/Container;)V +method name setCurrentKeyboardFocusManager descriptor (Ljava/awt/KeyboardFocusManager;)V flags 9 +method name getGlobalFocusOwner descriptor ()Ljava/awt/Component; flags 4 +method name setGlobalFocusOwner descriptor (Ljava/awt/Component;)V flags 4 +method name clearGlobalFocusOwner descriptor ()V flags 1 +method name getGlobalPermanentFocusOwner descriptor ()Ljava/awt/Component; flags 4 +method name setGlobalPermanentFocusOwner descriptor (Ljava/awt/Component;)V flags 4 +method name getGlobalFocusedWindow descriptor ()Ljava/awt/Window; flags 4 +method name setGlobalFocusedWindow descriptor (Ljava/awt/Window;)V flags 4 +method name getGlobalActiveWindow descriptor ()Ljava/awt/Window; flags 4 +method name setGlobalActiveWindow descriptor (Ljava/awt/Window;)V flags 4 +method name getGlobalCurrentFocusCycleRoot descriptor ()Ljava/awt/Container; flags 4 +method name setGlobalCurrentFocusCycleRoot descriptor (Ljava/awt/Container;)V flags 1 + +class name java/awt/Window +header extends java/awt/Container implements javax/accessibility/Accessible nestMembers java/awt/Window$AccessibleAWTWindow,java/awt/Window$Type flags 21 +innerclass innerClass java/awt/Window$Type outerClass java/awt/Window innerClassName Type flags 4019 +innerclass innerClass java/awt/Dialog$ModalExclusionType outerClass java/awt/Dialog innerClassName ModalExclusionType flags 4019 +innerclass innerClass java/awt/event/FocusEvent$Cause outerClass java/awt/event/FocusEvent innerClassName Cause flags 4019 +innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 +innerclass innerClass java/awt/Window$AccessibleAWTWindow outerClass java/awt/Window innerClassName AccessibleAWTWindow flags 4 +innerclass innerClass java/awt/GraphicsDevice$WindowTranslucency outerClass java/awt/GraphicsDevice innerClassName WindowTranslucency flags 4019 +innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name getWarningString descriptor ()Ljava/lang/String; +-method name setAlwaysOnTop descriptor (Z)V +method name setAlwaysOnTop descriptor (Z)V flags 11 +method name getWarningString descriptor ()Ljava/lang/String; flags 11 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="24") + +class name java/beans/Beans +-method name setDesignTime descriptor (Z)V +-method name setGuiAvailable descriptor (Z)V +method name setDesignTime descriptor (Z)V flags 9 +method name setGuiAvailable descriptor (Z)V flags 9 + +class name javax/imageio/ImageIO +header extends java/lang/Object flags 31 +innerclass innerClass javax/imageio/spi/ServiceRegistry$Filter outerClass javax/imageio/spi/ServiceRegistry innerClassName Filter flags 609 + +class name javax/sound/sampled/AudioPermission +header extends java/security/BasicPermission flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="24") + +class name javax/swing/DebugGraphics +header extends java/awt/Graphics flags 21 +innerclass innerClass java/lang/StackWalker$Option outerClass java/lang/StackWalker innerClassName Option flags 4019 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/swing/FocusManager +-method name setCurrentManager descriptor (Ljavax/swing/FocusManager;)V +method name setCurrentManager descriptor (Ljavax/swing/FocusManager;)V flags 9 + +class name javax/swing/JInternalFrame +-method name getWarningString descriptor ()Ljava/lang/String; +method name getWarningString descriptor ()Ljava/lang/String; flags 11 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="24")@Ljava/beans/BeanProperty;(bound=Zfalse) + +class name javax/swing/JSplitPane +method name setComponentOrientation descriptor (Ljava/awt/ComponentOrientation;)V flags 1 +method name setEnabled descriptor (Z)V flags 1 + +class name javax/swing/UIManager +-method name setInstalledLookAndFeels descriptor ([Ljavax/swing/UIManager$LookAndFeelInfo;)V +method name setInstalledLookAndFeels descriptor ([Ljavax/swing/UIManager$LookAndFeelInfo;)V flags 9 + +class name javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener +header extends java/lang/Object implements java/awt/event/ActionListener nestHost javax/swing/plaf/basic/BasicScrollBarUI flags 21 +innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName ScrollListener flags 4 +innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName ArrowButtonListener flags 4 +innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$TrackListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName TrackListener flags 4 + +class name javax/swing/plaf/basic/BasicSplitPaneDivider +method name setEnabled descriptor (Z)V flags 1 + diff --git a/src/jdk.compiler/share/data/symbols/java.instrument-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.instrument-O.sym.txt new file mode 100644 index 0000000000000..fe3fc9decec33 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.instrument-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.instrument +header exports java/lang/instrument requires name\u0020;java.base\u0020;flags\u0020;8000 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/java.logging-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.logging-O.sym.txt new file mode 100644 index 0000000000000..8aca5b448fd85 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.logging-O.sym.txt @@ -0,0 +1,109 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.logging +header exports java/util/logging requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;jdk/internal/logger/DefaultLoggerFinder\u0020;impls\u0020;sun/util/logging/internal/LoggingProviderImpl target macos-aarch64 flags 8000 + +class name java/util/logging/FileHandler +-method name descriptor ()V +-method name descriptor (Ljava/lang/String;)V +-method name descriptor (Ljava/lang/String;Z)V +-method name descriptor (Ljava/lang/String;II)V +-method name descriptor (Ljava/lang/String;IIZ)V +-method name publish descriptor (Ljava/util/logging/LogRecord;)V +-method name close descriptor ()V +method name publish descriptor (Ljava/util/logging/LogRecord;)V flags 21 +method name descriptor ()V thrownTypes java/io/IOException flags 1 +method name descriptor (Ljava/lang/String;)V thrownTypes java/io/IOException flags 1 +method name descriptor (Ljava/lang/String;Z)V thrownTypes java/io/IOException flags 1 +method name descriptor (Ljava/lang/String;II)V thrownTypes java/io/IOException flags 1 +method name descriptor (Ljava/lang/String;IIZ)V thrownTypes java/io/IOException flags 1 +method name close descriptor ()V flags 21 + +class name java/util/logging/Handler +-method name close descriptor ()V +-method name setFormatter descriptor (Ljava/util/logging/Formatter;)V +-method name setEncoding descriptor (Ljava/lang/String;)V +-method name setFilter descriptor (Ljava/util/logging/Filter;)V +-method name setErrorManager descriptor (Ljava/util/logging/ErrorManager;)V +-method name setLevel descriptor (Ljava/util/logging/Level;)V +method name setErrorManager descriptor (Ljava/util/logging/ErrorManager;)V flags 21 +method name close descriptor ()V flags 401 +method name setFormatter descriptor (Ljava/util/logging/Formatter;)V flags 21 +method name setEncoding descriptor (Ljava/lang/String;)V thrownTypes java/io/UnsupportedEncodingException flags 21 +method name setFilter descriptor (Ljava/util/logging/Filter;)V flags 21 +method name setLevel descriptor (Ljava/util/logging/Level;)V flags 21 + +class name java/util/logging/LogManager +-method name readConfiguration descriptor ()V +-method name reset descriptor ()V +-method name readConfiguration descriptor (Ljava/io/InputStream;)V +-method name checkAccess descriptor ()V +method name readConfiguration descriptor ()V thrownTypes java/io/IOException flags 1 +method name reset descriptor ()V flags 1 +method name readConfiguration descriptor (Ljava/io/InputStream;)V thrownTypes java/io/IOException flags 1 +method name checkAccess descriptor ()V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") + +class name java/util/logging/Logger +-method name setFilter descriptor (Ljava/util/logging/Filter;)V +-method name setLevel descriptor (Ljava/util/logging/Level;)V +-method name addHandler descriptor (Ljava/util/logging/Handler;)V +-method name removeHandler descriptor (Ljava/util/logging/Handler;)V +method name setFilter descriptor (Ljava/util/logging/Filter;)V flags 1 +method name setLevel descriptor (Ljava/util/logging/Level;)V flags 1 +method name addHandler descriptor (Ljava/util/logging/Handler;)V flags 1 +method name removeHandler descriptor (Ljava/util/logging/Handler;)V flags 1 + +class name java/util/logging/MemoryHandler +-method name close descriptor ()V +-method name publish descriptor (Ljava/util/logging/LogRecord;)V +-method name push descriptor ()V +-method name setPushLevel descriptor (Ljava/util/logging/Level;)V +method name publish descriptor (Ljava/util/logging/LogRecord;)V flags 21 +method name push descriptor ()V flags 21 +method name close descriptor ()V flags 1 +method name setPushLevel descriptor (Ljava/util/logging/Level;)V flags 21 + +class name java/util/logging/SocketHandler +-method name close descriptor ()V +-method name publish descriptor (Ljava/util/logging/LogRecord;)V +method name publish descriptor (Ljava/util/logging/LogRecord;)V flags 21 +method name close descriptor ()V flags 21 + +class name java/util/logging/StreamHandler +-method name setOutputStream descriptor (Ljava/io/OutputStream;)V +-method name setEncoding descriptor (Ljava/lang/String;)V +-method name publish descriptor (Ljava/util/logging/LogRecord;)V +-method name flush descriptor ()V +-method name close descriptor ()V +method name publish descriptor (Ljava/util/logging/LogRecord;)V flags 21 +method name flush descriptor ()V flags 21 +method name setOutputStream descriptor (Ljava/io/OutputStream;)V flags 24 +method name setEncoding descriptor (Ljava/lang/String;)V thrownTypes java/io/UnsupportedEncodingException flags 21 +method name close descriptor ()V flags 21 + diff --git a/src/jdk.compiler/share/data/symbols/java.management-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.management-O.sym.txt new file mode 100644 index 0000000000000..0e1aff70d8da2 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.management-O.sym.txt @@ -0,0 +1,108 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.management +header exports java/lang/management,javax/management,javax/management/loading,javax/management/modelmbean,javax/management/monitor,javax/management/openmbean,javax/management/relation,javax/management/remote,javax/management/timer requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/management/remote/JMXConnectorProvider,javax/management/remote/JMXConnectorServerProvider,sun/management/spi/PlatformMBeanProvider provides interface\u0020;javax/security/auth/spi/LoginModule\u0020;impls\u0020;com/sun/jmx/remote/security/FileLoginModule target macos-aarch64 flags 8000 + +class name javax/management/Notification +header extends java/util/EventObject flags 21 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/management/ObjectName +header extends java/lang/Object implements java/lang/Comparable,javax/management/QueryExp flags 21 signature Ljava/lang/Object;Ljava/lang/Comparable;Ljavax/management/QueryExp; +innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/management/modelmbean/InvalidTargetObjectTypeException +header extends java/lang/Exception flags 21 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/management/modelmbean/ModelMBeanAttributeInfo +header extends javax/management/MBeanAttributeInfo implements javax/management/DescriptorAccess flags 21 +innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 +innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/management/modelmbean/ModelMBeanConstructorInfo +header extends javax/management/MBeanConstructorInfo implements javax/management/DescriptorAccess flags 21 +innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 +innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/management/modelmbean/ModelMBeanInfoSupport +header extends javax/management/MBeanInfo implements javax/management/modelmbean/ModelMBeanInfo flags 21 +innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 +innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/management/modelmbean/ModelMBeanNotificationInfo +header extends javax/management/MBeanNotificationInfo implements javax/management/DescriptorAccess flags 21 +innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 +innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/management/modelmbean/ModelMBeanOperationInfo +header extends javax/management/MBeanOperationInfo implements javax/management/DescriptorAccess flags 21 +innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 +innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/management/modelmbean/XMLParseException +header extends java/lang/Exception flags 21 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/management/relation/MBeanServerNotificationFilter +header extends javax/management/NotificationFilterSupport flags 21 +innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 +innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/management/relation/RelationNotification +header extends javax/management/Notification flags 21 +innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 + +class name javax/management/relation/RelationTypeSupport +header extends java/lang/Object implements javax/management/relation/RelationType flags 21 +innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 +innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 + +class name javax/management/relation/Role +header extends java/lang/Object implements java/io/Serializable flags 21 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/management/relation/RoleInfo +header extends java/lang/Object implements java/io/Serializable flags 21 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/management/relation/RoleResult +header extends java/lang/Object implements java/io/Serializable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3) + +class name javax/management/relation/RoleUnresolved +header extends java/lang/Object implements java/io/Serializable flags 21 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + diff --git a/src/jdk.compiler/share/data/symbols/java.management.rmi-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.management.rmi-O.sym.txt new file mode 100644 index 0000000000000..fdb48929b8daa --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.management.rmi-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.management.rmi +header exports javax/management/remote/rmi requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.naming\u0020;flags\u0020;0,name\u0020;java.management\u0020;flags\u0020;20,name\u0020;java.rmi\u0020;flags\u0020;20 provides interface\u0020;javax/management/remote/JMXConnectorProvider\u0020;impls\u0020;com/sun/jmx/remote/protocol/rmi/ClientProvider,interface\u0020;javax/management/remote/JMXConnectorServerProvider\u0020;impls\u0020;com/sun/jmx/remote/protocol/rmi/ServerProvider target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/java.naming-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.naming-O.sym.txt new file mode 100644 index 0000000000000..fc004bc4f6203 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.naming-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.naming +header exports javax/naming,javax/naming/directory,javax/naming/event,javax/naming/ldap,javax/naming/spi,javax/naming/ldap/spi requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.security.sasl\u0020;flags\u0020;0 uses javax/naming/ldap/StartTlsResponse,javax/naming/spi/InitialContextFactory,javax/naming/ldap/spi/LdapDnsProvider provides interface\u0020;java/security/Provider\u0020;impls\u0020;sun/security/provider/certpath/ldap/JdkLDAP target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/java.net.http-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.net.http-O.sym.txt new file mode 100644 index 0000000000000..f6f1448f0e4f6 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.net.http-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.net.http +header exports java/net/http requires name\u0020;java.base\u0020;flags\u0020;8000 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/java.prefs-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.prefs-O.sym.txt new file mode 100644 index 0000000000000..027e5f6f53299 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.prefs-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.prefs +header exports java/util/prefs requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.xml\u0020;flags\u0020;0 uses java/util/prefs/PreferencesFactory target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/java.rmi-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.rmi-O.sym.txt new file mode 100644 index 0000000000000..e04259aac75d9 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.rmi-O.sym.txt @@ -0,0 +1,35 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.rmi +header exports java/rmi,java/rmi/dgc,java/rmi/registry,java/rmi/server,javax/rmi/ssl requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0 uses java/rmi/server/RMIClassLoaderSpi target macos-aarch64 flags 8000 + +class name java/rmi/server/RMIClassLoader +-method name getClassLoader descriptor (Ljava/lang/String;)Ljava/lang/ClassLoader; +method name getClassLoader descriptor (Ljava/lang/String;)Ljava/lang/ClassLoader; thrownTypes java/net/MalformedURLException flags 9 + diff --git a/src/jdk.compiler/share/data/symbols/java.scripting-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.scripting-O.sym.txt new file mode 100644 index 0000000000000..ba20166abd1dd --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.scripting-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.scripting +header exports javax/script requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/script/ScriptEngineFactory target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/java.se-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.se-O.sym.txt new file mode 100644 index 0000000000000..65b19c089fe18 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.se-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.se +header requires name\u0020;java.base\u0020;flags\u0020;20,name\u0020;java.compiler\u0020;flags\u0020;20,name\u0020;java.datatransfer\u0020;flags\u0020;20,name\u0020;java.desktop\u0020;flags\u0020;20,name\u0020;java.instrument\u0020;flags\u0020;20,name\u0020;java.logging\u0020;flags\u0020;20,name\u0020;java.management\u0020;flags\u0020;20,name\u0020;java.management.rmi\u0020;flags\u0020;20,name\u0020;java.naming\u0020;flags\u0020;20,name\u0020;java.net.http\u0020;flags\u0020;20,name\u0020;java.prefs\u0020;flags\u0020;20,name\u0020;java.rmi\u0020;flags\u0020;20,name\u0020;java.scripting\u0020;flags\u0020;20,name\u0020;java.security.jgss\u0020;flags\u0020;20,name\u0020;java.security.sasl\u0020;flags\u0020;20,name\u0020;java.sql\u0020;flags\u0020;20,name\u0020;java.sql.rowset\u0020;flags\u0020;20,name\u0020;java.transaction.xa\u0020;flags\u0020;20,name\u0020;java.xml\u0020;flags\u0020;20,name\u0020;java.xml.crypto\u0020;flags\u0020;20 target macos-aarch64 flags 8000 classAnnotations @Ljdk/internal/javac/ParticipatesInPreview; + diff --git a/src/jdk.compiler/share/data/symbols/java.security.jgss-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.security.jgss-O.sym.txt new file mode 100644 index 0000000000000..71c5c6b94421b --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.security.jgss-O.sym.txt @@ -0,0 +1,38 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.security.jgss +header exports javax/security/auth/kerberos,org/ietf/jgss requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.naming\u0020;flags\u0020;0 provides interface\u0020;java/security/Provider\u0020;impls\u0020;sun/security/jgss/SunProvider target macos-aarch64 flags 8000 + +class name javax/security/auth/kerberos/KerberosCredMessage +header extends java/lang/Object implements javax/security/auth/Destroyable flags 31 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name javax/security/auth/kerberos/KerberosPrincipal +header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 classAnnotations @Ljdk/Profile+Annotation;(value=I3) + diff --git a/src/jdk.compiler/share/data/symbols/java.security.sasl-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.security.sasl-O.sym.txt new file mode 100644 index 0000000000000..f09192aa31dfb --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.security.sasl-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.security.sasl +header exports javax/security/sasl requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0 provides interface\u0020;java/security/Provider\u0020;impls\u0020;com/sun/security/sasl/Provider target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/java.smartcardio-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.smartcardio-O.sym.txt new file mode 100644 index 0000000000000..3fbf9c5d4b79c --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.smartcardio-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.smartcardio +header exports javax/smartcardio requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;java/security/Provider\u0020;impls\u0020;sun/security/smartcardio/SunPCSC target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/java.sql-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.sql-O.sym.txt new file mode 100644 index 0000000000000..88308f6b852eb --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.sql-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.sql +header exports java/sql,javax/sql requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;20,name\u0020;java.transaction.xa\u0020;flags\u0020;20,name\u0020;java.xml\u0020;flags\u0020;20 uses java/sql/Driver target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/java.sql.rowset-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.sql.rowset-O.sym.txt new file mode 100644 index 0000000000000..7054c2c8830d0 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.sql.rowset-O.sym.txt @@ -0,0 +1,35 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.sql.rowset +header exports javax/sql/rowset,javax/sql/rowset/serial,javax/sql/rowset/spi requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;20,name\u0020;java.naming\u0020;flags\u0020;20,name\u0020;java.sql\u0020;flags\u0020;20 uses javax/sql/rowset/RowSetFactory target macos-aarch64 flags 8000 + +class name javax/sql/rowset/serial/SerialJavaObject +-method name getFields descriptor ()[Ljava/lang/reflect/Field; +method name getFields descriptor ()[Ljava/lang/reflect/Field; thrownTypes javax/sql/rowset/serial/SerialException flags 1 + diff --git a/src/jdk.compiler/share/data/symbols/java.transaction.xa-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.transaction.xa-O.sym.txt new file mode 100644 index 0000000000000..96c7721f327a3 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.transaction.xa-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.transaction.xa +header exports javax/transaction/xa requires name\u0020;java.base\u0020;flags\u0020;8000 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/java.xml-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.xml-O.sym.txt new file mode 100644 index 0000000000000..2bd8894c4c4e1 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.xml-O.sym.txt @@ -0,0 +1,34 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.xml +header exports javax/xml,javax/xml/catalog,javax/xml/datatype,javax/xml/namespace,javax/xml/parsers,javax/xml/stream,javax/xml/stream/events,javax/xml/stream/util,javax/xml/transform,javax/xml/transform/dom,javax/xml/transform/sax,javax/xml/transform/stax,javax/xml/transform/stream,javax/xml/validation,javax/xml/xpath,org/w3c/dom,org/w3c/dom/bootstrap,org/w3c/dom/events,org/w3c/dom/ls,org/w3c/dom/ranges,org/w3c/dom/traversal,org/w3c/dom/views,org/xml/sax,org/xml/sax/ext,org/xml/sax/helpers requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/xml/datatype/DatatypeFactory,javax/xml/parsers/DocumentBuilderFactory,javax/xml/parsers/SAXParserFactory,javax/xml/stream/XMLEventFactory,javax/xml/stream/XMLInputFactory,javax/xml/stream/XMLOutputFactory,javax/xml/transform/TransformerFactory,javax/xml/validation/SchemaFactory,javax/xml/xpath/XPathFactory,org/xml/sax/XMLReader target macos-aarch64 flags 8000 + +class name javax/xml/transform/TransformerException +header extends java/lang/Exception flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I2) + diff --git a/src/jdk.compiler/share/data/symbols/java.xml.crypto-O.sym.txt b/src/jdk.compiler/share/data/symbols/java.xml.crypto-O.sym.txt new file mode 100644 index 0000000000000..ca5efea31bcc4 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/java.xml.crypto-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name java.xml.crypto +header exports javax/xml/crypto,javax/xml/crypto/dom,javax/xml/crypto/dsig,javax/xml/crypto/dsig/dom,javax/xml/crypto/dsig/keyinfo,javax/xml/crypto/dsig/spec requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0,name\u0020;java.xml\u0020;flags\u0020;20 provides interface\u0020;java/security/Provider\u0020;impls\u0020;org/jcp/xml/dsig/internal/dom/XMLDSigRI target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.accessibility-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.accessibility-O.sym.txt new file mode 100644 index 0000000000000..03fc60e5da8a8 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.accessibility-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.accessibility +header exports com/sun/java/accessibility/util requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.desktop\u0020;flags\u0020;20 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.attach-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.attach-O.sym.txt new file mode 100644 index 0000000000000..dccaedb1b13a5 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.attach-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.attach +header exports com/sun/tools/attach,com/sun/tools/attach/spi requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.internal.jvmstat\u0020;flags\u0020;0 uses com/sun/tools/attach/spi/AttachProvider provides interface\u0020;com/sun/tools/attach/spi/AttachProvider\u0020;impls\u0020;sun/tools/attach/AttachProviderImpl target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.charsets-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.charsets-O.sym.txt new file mode 100644 index 0000000000000..a286e25dea831 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.charsets-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.charsets +header requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;java/nio/charset/spi/CharsetProvider\u0020;impls\u0020;sun/nio/cs/ext/ExtendedCharsets target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.compiler-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.compiler-O.sym.txt new file mode 100644 index 0000000000000..99700c8f8b3b3 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.compiler-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.compiler +header exports com/sun/source/doctree,com/sun/source/tree,com/sun/source/util,com/sun/tools/javac requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.compiler\u0020;flags\u0020;20,name\u0020;jdk.internal.opt\u0020;flags\u0020;0,name\u0020;jdk.zipfs\u0020;flags\u0020;0 uses javax/annotation/processing/Processor,com/sun/source/util/Plugin,com/sun/tools/doclint/DocLint,com/sun/tools/javac/platform/PlatformProvider,com/sun/tools/javac/api/JavacTrees$DocCommentTreeTransformer provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;com/sun/tools/javac/main/JavacToolProvider,interface\u0020;com/sun/tools/javac/platform/PlatformProvider\u0020;impls\u0020;com/sun/tools/javac/platform/JDKPlatformProvider,interface\u0020;javax/tools/JavaCompiler\u0020;impls\u0020;com/sun/tools/javac/api/JavacTool,interface\u0020;javax/tools/Tool\u0020;impls\u0020;com/sun/tools/javac/api/JavacTool target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.crypto.cryptoki-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.crypto.cryptoki-O.sym.txt new file mode 100644 index 0000000000000..a68ff27d70a38 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.crypto.cryptoki-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.crypto.cryptoki +header requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;java/security/Provider\u0020;impls\u0020;sun/security/pkcs11/SunPKCS11 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.dynalink-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.dynalink-O.sym.txt new file mode 100644 index 0000000000000..a257701a3a819 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.dynalink-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.dynalink +header exports jdk/dynalink,jdk/dynalink/beans,jdk/dynalink/linker,jdk/dynalink/linker/support,jdk/dynalink/support requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0 uses jdk/dynalink/linker/GuardingDynamicLinkerExporter target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.editpad-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.editpad-O.sym.txt new file mode 100644 index 0000000000000..83455efcc1a17 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.editpad-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.editpad +header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.desktop\u0020;flags\u0020;0,name\u0020;jdk.internal.ed\u0020;flags\u0020;0 provides interface\u0020;jdk/internal/editor/spi/BuildInEditorProvider\u0020;impls\u0020;jdk/editpad/EditPadProvider target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.hotspot.agent-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.hotspot.agent-O.sym.txt new file mode 100644 index 0000000000000..891037fc2f5fa --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.hotspot.agent-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.hotspot.agent +header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.datatransfer\u0020;flags\u0020;0,name\u0020;java.desktop\u0020;flags\u0020;0,name\u0020;java.rmi\u0020;flags\u0020;0,name\u0020;java.scripting\u0020;flags\u0020;0 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.httpserver-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.httpserver-O.sym.txt new file mode 100644 index 0000000000000..1692c98f0257b --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.httpserver-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.httpserver +header exports com/sun/net/httpserver,com/sun/net/httpserver/spi requires name\u0020;java.base\u0020;flags\u0020;8000 uses com/sun/net/httpserver/spi/HttpServerProvider target macos-aarch64 moduleMainClass sun/net/httpserver/simpleserver/Main flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-O.sym.txt new file mode 100644 index 0000000000000..88a5fe93048e8 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-O.sym.txt @@ -0,0 +1,71 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +class name jdk/internal/foreign/AbstractMemorySegmentImpl +header extends java/lang/Object implements java/lang/foreign/MemorySegment,java/lang/foreign/SegmentAllocator,java/util/function/BiFunction sealed true permittedSubclasses jdk/internal/foreign/HeapMemorySegmentImpl,jdk/internal/foreign/NativeMemorySegmentImpl flags 421 signature Ljava/lang/Object;Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/SegmentAllocator;Ljava/util/function/BiFunction;Ljava/lang/RuntimeException;>; +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass java/lang/foreign/MemorySegment$Scope outerClass java/lang/foreign/MemorySegment innerClassName Scope flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name fill descriptor (B)Ljava/lang/foreign/MemorySegment; +-method name checkValidState descriptor ()V +-method name ofBuffer descriptor (Ljava/nio/Buffer;)Ljdk/internal/foreign/AbstractMemorySegmentImpl; +-method name vectorizedMismatchLargeForBytes descriptor (Ljdk/internal/foreign/MemorySessionImpl;Ljdk/internal/foreign/MemorySessionImpl;Ljava/lang/Object;JLjava/lang/Object;JJ)J +-method name mismatch descriptor (Ljava/lang/foreign/MemorySegment;JJLjava/lang/foreign/MemorySegment;JJ)J +-method name reinterpretInternal descriptor (Ljava/lang/Class;JLjava/lang/foreign/MemorySegment$Scope;Ljava/util/function/Consumer;)Ljava/lang/foreign/MemorySegment; +-method name scope descriptor ()Ljava/lang/foreign/MemorySegment$Scope; +method name fill descriptor (B)Ljava/lang/foreign/MemorySegment; flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name checkEnclosingLayout descriptor (JLjava/lang/foreign/MemoryLayout;Z)V flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name ofBuffer descriptor (Ljava/nio/Buffer;)Ljdk/internal/foreign/AbstractMemorySegmentImpl; flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name scope descriptor ()Ljdk/internal/foreign/MemorySessionImpl; flags 1 +method name scope descriptor ()Ljava/lang/foreign/MemorySegment$Scope; flags 1041 + +class name jdk/internal/foreign/GlobalSession +-method name isCloseable descriptor ()Z + +class name jdk/internal/foreign/ImplicitSession +-method name isCloseable descriptor ()Z + +class name jdk/internal/foreign/MappedMemorySegmentImpl +header extends jdk/internal/foreign/NativeMemorySegmentImpl flags 31 + +class name jdk/internal/foreign/MemorySessionImpl +-method name isCloseable descriptor ()Z +-method name asArena descriptor ()Ljava/lang/foreign/Arena; +method name isCloseable descriptor ()Z flags 11 +method name asArena descriptor ()Ljdk/internal/foreign/ArenaImpl; flags 1 + +class name jdk/internal/foreign/NativeMemorySegmentImpl +header extends jdk/internal/foreign/AbstractMemorySegmentImpl sealed true permittedSubclasses jdk/internal/foreign/MappedMemorySegmentImpl flags 21 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.incubator.vector-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.incubator.vector-O.sym.txt new file mode 100644 index 0000000000000..c58b93e2b65c3 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.incubator.vector-O.sym.txt @@ -0,0 +1,159 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.incubator.vector +header exports jdk/incubator/vector requires name\u0020;java.base\u0020;flags\u0020;8000 target macos-aarch64 resolution 9 flags 8000 + +class name jdk/incubator/vector/ByteVector +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/ByteVector; flags 401 signature (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/ByteVector; +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/Vector; flags 1041 methodParameters 1000:null,1000:null + +class name jdk/incubator/vector/DoubleVector +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/DoubleVector; flags 401 signature (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/DoubleVector; +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/Vector; flags 1041 methodParameters 1000:null,1000:null + +class name jdk/incubator/vector/Float16 +header extends java/lang/Number implements java/lang/Comparable flags 31 signature Ljava/lang/Number;Ljava/lang/Comparable; runtimeAnnotations @Ljdk/internal/ValueBased; +field name POSITIVE_INFINITY descriptor Ljdk/incubator/vector/Float16; flags 19 +field name NEGATIVE_INFINITY descriptor Ljdk/incubator/vector/Float16; flags 19 +field name NaN descriptor Ljdk/incubator/vector/Float16; flags 19 +field name MAX_VALUE descriptor Ljdk/incubator/vector/Float16; flags 19 +field name MIN_NORMAL descriptor Ljdk/incubator/vector/Float16; flags 19 +field name MIN_VALUE descriptor Ljdk/incubator/vector/Float16; flags 19 +field name SIZE descriptor I constantValue 16 flags 19 +field name PRECISION descriptor I constantValue 11 flags 19 +field name MAX_EXPONENT descriptor I constantValue 15 flags 19 +field name MIN_EXPONENT descriptor I constantValue -14 flags 19 +field name BYTES descriptor I constantValue 2 flags 19 +method name toString descriptor (Ljdk/incubator/vector/Float16;)Ljava/lang/String; flags 9 +method name toHexString descriptor (Ljdk/incubator/vector/Float16;)Ljava/lang/String; flags 9 +method name valueOf descriptor (I)Ljdk/incubator/vector/Float16; flags 9 +method name valueOf descriptor (J)Ljdk/incubator/vector/Float16; flags 9 +method name valueOf descriptor (F)Ljdk/incubator/vector/Float16; flags 9 +method name valueOf descriptor (D)Ljdk/incubator/vector/Float16; flags 9 +method name valueOf descriptor (Ljava/lang/String;)Ljdk/incubator/vector/Float16; thrownTypes java/lang/NumberFormatException flags 9 +method name valueOf descriptor (Ljava/math/BigDecimal;)Ljdk/incubator/vector/Float16; flags 9 +method name isNaN descriptor (Ljdk/incubator/vector/Float16;)Z flags 9 +method name isInfinite descriptor (Ljdk/incubator/vector/Float16;)Z flags 9 +method name isFinite descriptor (Ljdk/incubator/vector/Float16;)Z flags 9 +method name byteValue descriptor ()B flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name shortValue descriptor ()S flags 1 +method name intValue descriptor ()I flags 1 +method name longValue descriptor ()J flags 1 +method name floatValue descriptor ()F flags 1 +method name doubleValue descriptor ()D flags 1 +method name hashCode descriptor ()I flags 1 +method name hashCode descriptor (Ljdk/incubator/vector/Float16;)I flags 9 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name float16ToRawShortBits descriptor (Ljdk/incubator/vector/Float16;)S flags 9 +method name float16ToShortBits descriptor (Ljdk/incubator/vector/Float16;)S flags 9 +method name shortBitsToFloat16 descriptor (S)Ljdk/incubator/vector/Float16; flags 9 +method name compareTo descriptor (Ljdk/incubator/vector/Float16;)I flags 1 +method name compare descriptor (Ljdk/incubator/vector/Float16;Ljdk/incubator/vector/Float16;)I flags 9 +method name max descriptor (Ljdk/incubator/vector/Float16;Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name min descriptor (Ljdk/incubator/vector/Float16;Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name add descriptor (Ljdk/incubator/vector/Float16;Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name subtract descriptor (Ljdk/incubator/vector/Float16;Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name multiply descriptor (Ljdk/incubator/vector/Float16;Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name divide descriptor (Ljdk/incubator/vector/Float16;Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name sqrt descriptor (Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name fma descriptor (Ljdk/incubator/vector/Float16;Ljdk/incubator/vector/Float16;Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name negate descriptor (Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name abs descriptor (Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name getExponent descriptor (Ljdk/incubator/vector/Float16;)I flags 9 +method name ulp descriptor (Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name nextUp descriptor (Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name nextDown descriptor (Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name scalb descriptor (Ljdk/incubator/vector/Float16;I)Ljdk/incubator/vector/Float16; flags 9 +method name copySign descriptor (Ljdk/incubator/vector/Float16;Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name signum descriptor (Ljdk/incubator/vector/Float16;)Ljdk/incubator/vector/Float16; flags 9 +method name compareTo descriptor (Ljava/lang/Object;)I flags 1041 methodParameters 1000:null + +class name jdk/incubator/vector/FloatVector +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/FloatVector; flags 401 signature (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/FloatVector; +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/Vector; flags 1041 methodParameters 1000:null,1000:null + +class name jdk/incubator/vector/IntVector +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/IntVector; flags 401 signature (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/IntVector; +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/Vector; flags 1041 methodParameters 1000:null,1000:null + +class name jdk/incubator/vector/LongVector +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/LongVector; flags 401 signature (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/LongVector; +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/Vector; flags 1041 methodParameters 1000:null,1000:null + +class name jdk/incubator/vector/ShortVector +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/ShortVector; flags 401 signature (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/ShortVector; +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/Vector; flags 1041 methodParameters 1000:null,1000:null + +class name jdk/incubator/vector/Vector +method name selectFrom descriptor (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/Vector; flags 401 signature (Ljdk/incubator/vector/Vector;Ljdk/incubator/vector/Vector;)Ljdk/incubator/vector/Vector; + +class name jdk/incubator/vector/VectorMath +header extends java/lang/Object flags 31 +method name minUnsigned descriptor (JJ)J flags 9 +method name maxUnsigned descriptor (JJ)J flags 9 +method name addSaturating descriptor (JJ)J flags 9 +method name subSaturating descriptor (JJ)J flags 9 +method name addSaturatingUnsigned descriptor (JJ)J flags 9 +method name subSaturatingUnsigned descriptor (JJ)J flags 9 +method name minUnsigned descriptor (II)I flags 9 +method name maxUnsigned descriptor (II)I flags 9 +method name addSaturating descriptor (II)I flags 9 +method name subSaturating descriptor (II)I flags 9 +method name addSaturatingUnsigned descriptor (II)I flags 9 +method name subSaturatingUnsigned descriptor (II)I flags 9 +method name minUnsigned descriptor (SS)S flags 9 +method name maxUnsigned descriptor (SS)S flags 9 +method name addSaturating descriptor (SS)S flags 9 +method name subSaturating descriptor (SS)S flags 9 +method name addSaturatingUnsigned descriptor (SS)S flags 9 +method name subSaturatingUnsigned descriptor (SS)S flags 9 +method name minUnsigned descriptor (BB)B flags 9 +method name maxUnsigned descriptor (BB)B flags 9 +method name addSaturating descriptor (BB)B flags 9 +method name subSaturating descriptor (BB)B flags 9 +method name addSaturatingUnsigned descriptor (BB)B flags 9 +method name subSaturatingUnsigned descriptor (BB)B flags 9 + +class name jdk/incubator/vector/VectorOperators +-field name UNSIGNED_LT descriptor Ljdk/incubator/vector/VectorOperators$Comparison; +-field name UNSIGNED_LE descriptor Ljdk/incubator/vector/VectorOperators$Comparison; +-field name UNSIGNED_GT descriptor Ljdk/incubator/vector/VectorOperators$Comparison; +-field name UNSIGNED_GE descriptor Ljdk/incubator/vector/VectorOperators$Comparison; +field name SADD descriptor Ljdk/incubator/vector/VectorOperators$Binary; flags 19 +field name SUADD descriptor Ljdk/incubator/vector/VectorOperators$Binary; flags 19 +field name SSUB descriptor Ljdk/incubator/vector/VectorOperators$Binary; flags 19 +field name SUSUB descriptor Ljdk/incubator/vector/VectorOperators$Binary; flags 19 +field name UMIN descriptor Ljdk/incubator/vector/VectorOperators$Associative; flags 19 +field name UMAX descriptor Ljdk/incubator/vector/VectorOperators$Associative; flags 19 +field name ULT descriptor Ljdk/incubator/vector/VectorOperators$Comparison; flags 19 +field name ULE descriptor Ljdk/incubator/vector/VectorOperators$Comparison; flags 19 +field name UGT descriptor Ljdk/incubator/vector/VectorOperators$Comparison; flags 19 +field name UGE descriptor Ljdk/incubator/vector/VectorOperators$Comparison; flags 19 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jartool-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jartool-O.sym.txt new file mode 100644 index 0000000000000..a5aa1e2288dc3 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.jartool-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.jartool +header exports jdk/security/jarsigner requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.internal.opt\u0020;flags\u0020;0 provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;sun/tools/jar/JarToolProvider target macos-aarch64 moduleMainClass sun/tools/jar/Main flags 8000 classAnnotations @Ljdk/internal/javac/ParticipatesInPreview; + diff --git a/src/jdk.compiler/share/data/symbols/jdk.javadoc-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.javadoc-O.sym.txt new file mode 100644 index 0000000000000..f358e429acc5b --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.javadoc-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.javadoc +header exports jdk/javadoc/doclet requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.compiler\u0020;flags\u0020;20,name\u0020;jdk.compiler\u0020;flags\u0020;20,name\u0020;jdk.internal.md\u0020;flags\u0020;0,name\u0020;jdk.internal.opt\u0020;flags\u0020;0 provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;jdk/javadoc/internal/tool/JavadocToolProvider,interface\u0020;javax/tools/DocumentationTool\u0020;impls\u0020;jdk/javadoc/internal/api/JavadocTool,interface\u0020;javax/tools/Tool\u0020;impls\u0020;jdk/javadoc/internal/api/JavadocTool,interface\u0020;com/sun/tools/doclint/DocLint\u0020;impls\u0020;jdk/javadoc/internal/doclint/DocLint target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jcmd-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jcmd-O.sym.txt new file mode 100644 index 0000000000000..dd4617934927d --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.jcmd-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.jcmd +header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.attach\u0020;flags\u0020;0,name\u0020;jdk.internal.jvmstat\u0020;flags\u0020;0 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jconsole-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jconsole-O.sym.txt new file mode 100644 index 0000000000000..594fd38e967ad --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.jconsole-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.jconsole +header exports com/sun/tools/jconsole requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.management.rmi\u0020;flags\u0020;0,name\u0020;java.rmi\u0020;flags\u0020;0,name\u0020;jdk.attach\u0020;flags\u0020;0,name\u0020;jdk.internal.jvmstat\u0020;flags\u0020;0,name\u0020;jdk.management\u0020;flags\u0020;0,name\u0020;jdk.management.agent\u0020;flags\u0020;0,name\u0020;java.desktop\u0020;flags\u0020;20,name\u0020;java.management\u0020;flags\u0020;20 uses com/sun/tools/jconsole/JConsolePlugin target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jdeps-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jdeps-O.sym.txt new file mode 100644 index 0000000000000..50ebc9243aea3 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.jdeps-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.jdeps +header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.compiler\u0020;flags\u0020;0,name\u0020;jdk.compiler\u0020;flags\u0020;0,name\u0020;jdk.internal.opt\u0020;flags\u0020;0 uses com/sun/tools/javac/platform/PlatformProvider provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;com/sun/tools/javap/Main$JavapToolProvider\u005C;u002C;com/sun/tools/jdeps/Main$JDepsToolProvider\u005C;u002C;com/sun/tools/jnativescan/Main$Provider target macos-aarch64 flags 8000 classAnnotations @Ljdk/internal/javac/ParticipatesInPreview; + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jdi-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jdi-O.sym.txt new file mode 100644 index 0000000000000..aa81385242663 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.jdi-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.jdi +header exports com/sun/jdi,com/sun/jdi/connect,com/sun/jdi/connect/spi,com/sun/jdi/event,com/sun/jdi/request requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.attach\u0020;flags\u0020;0,name\u0020;jdk.jdwp.agent\u0020;flags\u0020;0 uses com/sun/jdi/connect/Connector,com/sun/jdi/connect/spi/TransportService provides interface\u0020;com/sun/jdi/connect/Connector\u0020;impls\u0020;com/sun/tools/jdi/ProcessAttachingConnector\u005C;u002C;com/sun/tools/jdi/RawCommandLineLauncher\u005C;u002C;com/sun/tools/jdi/SocketAttachingConnector\u005C;u002C;com/sun/tools/jdi/SocketListeningConnector\u005C;u002C;com/sun/tools/jdi/SunCommandLineLauncher target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jdwp.agent-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jdwp.agent-O.sym.txt new file mode 100644 index 0000000000000..f74e25f5af0d9 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.jdwp.agent-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.jdwp.agent +header requires name\u0020;java.base\u0020;flags\u0020;8000 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jfr-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jfr-O.sym.txt new file mode 100644 index 0000000000000..1a5ab4788909e --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.jfr-O.sym.txt @@ -0,0 +1,39 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.jfr +header exports jdk/jfr,jdk/jfr/consumer requires name\u0020;java.base\u0020;flags\u0020;8000 target macos-aarch64 moduleMainClass jdk/jfr/internal/tool/Main flags 8000 classAnnotations @Ljdk/internal/javac/ParticipatesInPreview; + +class name jdk/jfr/FlightRecorder +-method name getFlightRecorder descriptor ()Ljdk/jfr/FlightRecorder; +-method name addPeriodicEvent descriptor (Ljava/lang/Class;Ljava/lang/Runnable;)V +-method name removePeriodicEvent descriptor (Ljava/lang/Runnable;)Z +method name getFlightRecorder descriptor ()Ljdk/jfr/FlightRecorder; thrownTypes java/lang/IllegalStateException flags 9 +method name addPeriodicEvent descriptor (Ljava/lang/Class;Ljava/lang/Runnable;)V flags 9 signature (Ljava/lang/Class<+Ljdk/jfr/Event;>;Ljava/lang/Runnable;)V +method name removePeriodicEvent descriptor (Ljava/lang/Runnable;)Z flags 9 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jlink-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jlink-O.sym.txt new file mode 100644 index 0000000000000..45718936d1bb3 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.jlink-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.jlink +header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.internal.opt\u0020;flags\u0020;0,name\u0020;jdk.jdeps\u0020;flags\u0020;0 uses jdk/tools/jlink/plugin/Plugin provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;jdk/tools/jmod/Main$JmodToolProvider\u005C;u002C;jdk/tools/jlink/internal/Main$JlinkToolProvider,interface\u0020;jdk/tools/jlink/plugin/Plugin\u0020;impls\u0020;jdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/StripJavaDebugAttributesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ExcludePlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ExcludeFilesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ExcludeJmodSectionPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/LegalNoticeFilePlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/SystemModulesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/StripNativeCommandsPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/OrderResourcesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/DefaultCompressPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ExcludeVMPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/GenerateJLIClassesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ReleaseInfoPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/AddOptionsPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/VendorBugURLPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/VendorVMBugURLPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/VendorVersionPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/CDSPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/SaveJlinkArgfilesPlugin target macos-aarch64 flags 8000 classAnnotations @Ljdk/internal/javac/ParticipatesInPreview; + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jpackage-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jpackage-O.sym.txt new file mode 100644 index 0000000000000..8b7af59449106 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.jpackage-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.jpackage +header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.internal.opt\u0020;flags\u0020;0,name\u0020;jdk.jlink\u0020;flags\u0020;0,name\u0020;java.desktop\u0020;flags\u0020;0 uses jdk/jpackage/internal/Bundler,jdk/jpackage/internal/Bundlers provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;jdk/jpackage/internal/JPackageToolProvider,interface\u0020;jdk/jpackage/internal/Bundler\u0020;impls\u0020;jdk/jpackage/internal/MacAppBundler\u005C;u002C;jdk/jpackage/internal/MacDmgBundler\u005C;u002C;jdk/jpackage/internal/MacPkgBundler,interface\u0020;jdk/jpackage/internal/Bundlers\u0020;impls\u0020;jdk/jpackage/internal/BasicBundlers target macos-aarch64 moduleMainClass jdk/jpackage/main/Main flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jshell-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jshell-O.sym.txt new file mode 100644 index 0000000000000..d34c7bdc339ec --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.jshell-O.sym.txt @@ -0,0 +1,37 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.jshell +header exports jdk/jshell,jdk/jshell/execution,jdk/jshell/spi,jdk/jshell/tool requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0,name\u0020;jdk.compiler\u0020;flags\u0020;0,name\u0020;jdk.internal.ed\u0020;flags\u0020;0,name\u0020;jdk.internal.le\u0020;flags\u0020;0,name\u0020;jdk.internal.md\u0020;flags\u0020;0,name\u0020;jdk.internal.opt\u0020;flags\u0020;0,name\u0020;java.compiler\u0020;flags\u0020;20,name\u0020;java.prefs\u0020;flags\u0020;20,name\u0020;jdk.jdi\u0020;flags\u0020;20 uses jdk/jshell/spi/ExecutionControlProvider,jdk/internal/editor/spi/BuildInEditorProvider provides interface\u0020;javax/tools/Tool\u0020;impls\u0020;jdk/internal/jshell/tool/JShellToolProvider,interface\u0020;jdk/jshell/spi/ExecutionControlProvider\u0020;impls\u0020;jdk/jshell/execution/JdiExecutionControlProvider\u005C;u002C;jdk/jshell/execution/LocalExecutionControlProvider\u005C;u002C;jdk/jshell/execution/FailOverExecutionControlProvider,interface\u0020;jdk/internal/io/JdkConsoleProvider\u0020;impls\u0020;jdk/jshell/execution/impl/ConsoleImpl$ConsoleProviderImpl target macos-aarch64 moduleMainClass jdk/internal/jshell/tool/JShellToolProvider flags 8000 classAnnotations @Ljdk/internal/javac/ParticipatesInPreview; + +class name jdk/jshell/JShellConsole +method name readLine descriptor ()Ljava/lang/String; thrownTypes java/io/IOError flags 401 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;IMPLICIT_CLASSES;) + +class name jdk/jshell/tool/JavaShellToolBuilder +method name windowSize descriptor (II)Ljdk/jshell/tool/JavaShellToolBuilder; flags 1 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jsobject-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jsobject-O.sym.txt new file mode 100644 index 0000000000000..c7ea449cd5a99 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.jsobject-O.sym.txt @@ -0,0 +1,37 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.jsobject +header exports netscape/javascript requires name\u0020;java.base\u0020;flags\u0020;8000 target macos-aarch64 flags 8000 runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="24") + +class name netscape/javascript/JSException +header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="24") + +class name netscape/javascript/JSObject +header extends java/lang/Object flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="24") + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jstatd-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jstatd-O.sym.txt new file mode 100644 index 0000000000000..9eafa23d69fe9 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.jstatd-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.jstatd +header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.rmi\u0020;flags\u0020;0,name\u0020;jdk.internal.jvmstat\u0020;flags\u0020;0 provides interface\u0020;sun/jvmstat/monitor/MonitoredHostService\u0020;impls\u0020;sun/jvmstat/perfdata/monitor/protocol/rmi/MonitoredHostRmiService target macos-aarch64 moduleMainClass sun/tools/jstatd/Jstatd flags 8000 runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="24") + diff --git a/src/jdk.compiler/share/data/symbols/jdk.localedata-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.localedata-O.sym.txt new file mode 100644 index 0000000000000..55b22f0426bde --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.localedata-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.localedata +header requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;sun/util/locale/provider/LocaleDataMetaInfo\u0020;impls\u0020;sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo\u005C;u002C;sun/util/resources/provider/NonBaseLocaleDataMetaInfo,interface\u0020;sun/util/resources/LocaleData$CommonResourceBundleProvider\u0020;impls\u0020;sun/util/resources/provider/LocaleDataProvider target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.management-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.management-O.sym.txt new file mode 100644 index 0000000000000..45640662a8c16 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.management-O.sym.txt @@ -0,0 +1,39 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.management +header exports com/sun/management,jdk/management requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.management\u0020;flags\u0020;20 provides interface\u0020;sun/management/spi/PlatformMBeanProvider\u0020;impls\u0020;com/sun/management/internal/PlatformMBeanProviderImpl target macos-aarch64 flags 8000 + +class name jdk/management/VirtualThreadSchedulerMXBean +header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601 +method name getParallelism descriptor ()I flags 401 +method name setParallelism descriptor (I)V flags 401 +method name getPoolSize descriptor ()I flags 401 +method name getMountedVirtualThreadCount descriptor ()I flags 401 +method name getQueuedVirtualThreadCount descriptor ()J flags 401 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.management.agent-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.management.agent-O.sym.txt new file mode 100644 index 0000000000000..68ec46bf5eb59 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.management.agent-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.management.agent +header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.management\u0020;flags\u0020;0,name\u0020;java.management.rmi\u0020;flags\u0020;0 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.management.jfr-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.management.jfr-O.sym.txt new file mode 100644 index 0000000000000..d795beeb79ebb --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.management.jfr-O.sym.txt @@ -0,0 +1,43 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.management.jfr +header exports jdk/management/jfr requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.management\u0020;flags\u0020;0,name\u0020;java.management\u0020;flags\u0020;20,name\u0020;jdk.jfr\u0020;flags\u0020;20 provides interface\u0020;sun/management/spi/PlatformMBeanProvider\u0020;impls\u0020;jdk/management/jfr/internal/FlightRecorderMXBeanProvider target macos-aarch64 flags 8000 + +class name jdk/management/jfr/FlightRecorderMXBean +-method name newRecording descriptor ()J +-method name cloneRecording descriptor (JZ)J +-method name startRecording descriptor (J)V +-method name stopRecording descriptor (J)Z +-method name copyTo descriptor (JLjava/lang/String;)V +method name newRecording descriptor ()J thrownTypes java/lang/IllegalStateException flags 401 +method name cloneRecording descriptor (JZ)J thrownTypes java/lang/IllegalArgumentException flags 401 +method name startRecording descriptor (J)V thrownTypes java/lang/IllegalStateException flags 401 +method name stopRecording descriptor (J)Z thrownTypes java/lang/IllegalArgumentException,java/lang/IllegalStateException flags 401 +method name copyTo descriptor (JLjava/lang/String;)V thrownTypes java/io/IOException flags 401 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.naming.dns-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.naming.dns-O.sym.txt new file mode 100644 index 0000000000000..be5ef0e6fa5c2 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.naming.dns-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.naming.dns +header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.naming\u0020;flags\u0020;0 provides interface\u0020;javax/naming/spi/InitialContextFactory\u0020;impls\u0020;com/sun/jndi/dns/DnsContextFactory target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.naming.rmi-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.naming.rmi-O.sym.txt new file mode 100644 index 0000000000000..aaf76bb9888f6 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.naming.rmi-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.naming.rmi +header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.naming\u0020;flags\u0020;0,name\u0020;java.rmi\u0020;flags\u0020;0 provides interface\u0020;javax/naming/spi/InitialContextFactory\u0020;impls\u0020;com/sun/jndi/rmi/registry/RegistryContextFactory target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.net-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.net-O.sym.txt new file mode 100644 index 0000000000000..589eeb5f0be5f --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.net-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.net +header exports jdk/net,jdk/nio requires name\u0020;java.base\u0020;flags\u0020;8000 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.nio.mapmode-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.nio.mapmode-O.sym.txt new file mode 100644 index 0000000000000..5661e9236a746 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.nio.mapmode-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.nio.mapmode +header exports jdk/nio/mapmode requires name\u0020;java.base\u0020;flags\u0020;8000 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.sctp-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.sctp-O.sym.txt new file mode 100644 index 0000000000000..18614ef859616 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.sctp-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.sctp +header exports com/sun/nio/sctp requires name\u0020;java.base\u0020;flags\u0020;8000 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.security.auth-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.security.auth-O.sym.txt new file mode 100644 index 0000000000000..44a9bc9cf4963 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.security.auth-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.security.auth +header exports com/sun/security/auth,com/sun/security/auth/callback,com/sun/security/auth/login,com/sun/security/auth/module requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.security.jgss\u0020;flags\u0020;0,name\u0020;java.naming\u0020;flags\u0020;20 provides interface\u0020;javax/security/auth/spi/LoginModule\u0020;impls\u0020;com/sun/security/auth/module/Krb5LoginModule\u005C;u002C;com/sun/security/auth/module/UnixLoginModule\u005C;u002C;com/sun/security/auth/module/JndiLoginModule\u005C;u002C;com/sun/security/auth/module/KeyStoreLoginModule\u005C;u002C;com/sun/security/auth/module/LdapLoginModule\u005C;u002C;com/sun/security/auth/module/NTLoginModule target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.security.jgss-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.security.jgss-O.sym.txt new file mode 100644 index 0000000000000..e59b96c847b48 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.security.jgss-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.security.jgss +header exports com/sun/security/jgss requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0,name\u0020;java.security.sasl\u0020;flags\u0020;0,name\u0020;java.security.jgss\u0020;flags\u0020;20 provides interface\u0020;java/security/Provider\u0020;impls\u0020;com/sun/security/sasl/gsskerb/JdkSASL target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.unsupported-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.unsupported-O.sym.txt new file mode 100644 index 0000000000000..51c980396a53f --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.unsupported-O.sym.txt @@ -0,0 +1,36 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.unsupported +header exports com/sun/nio/file,sun/misc,sun/reflect requires name\u0020;java.base\u0020;flags\u0020;8000 target macos-aarch64 flags 8000 + +class name sun/reflect/ReflectionFactory +method name defaultReadObjectForSerialization descriptor (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; flags 11 signature (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle; +method name defaultWriteObjectForSerialization descriptor (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; flags 11 signature (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle; +method name serialPersistentFields descriptor (Ljava/lang/Class;)[Ljava/io/ObjectStreamField; flags 11 signature (Ljava/lang/Class<*>;)[Ljava/io/ObjectStreamField; + diff --git a/src/jdk.compiler/share/data/symbols/jdk.xml.dom-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.xml.dom-O.sym.txt new file mode 100644 index 0000000000000..1a49bfbdc3c7b --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.xml.dom-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.xml.dom +header exports org/w3c/dom/css,org/w3c/dom/html,org/w3c/dom/stylesheets,org/w3c/dom/xpath requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.xml\u0020;flags\u0020;20 target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.zipfs-O.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.zipfs-O.sym.txt new file mode 100644 index 0000000000000..c46070b6e5d03 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.zipfs-O.sym.txt @@ -0,0 +1,31 @@ +# +# Copyright (c) 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 +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# ########################################################## +# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +module name jdk.zipfs +header requires name\u0020;java.base\u0020;flags\u0020;8000 provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/nio/zipfs/ZipFileSystemProvider target macos-aarch64 flags 8000 + diff --git a/src/jdk.compiler/share/data/symbols/symbols b/src/jdk.compiler/share/data/symbols/symbols index c08118ce5b29a..f7f2946d58292 100644 --- a/src/jdk.compiler/share/data/symbols/symbols +++ b/src/jdk.compiler/share/data/symbols/symbols @@ -29,7 +29,7 @@ #command used to generate this file: #build.tools.symbolgenerator.CreateSymbols build-description-incremental symbols include.list # -generate platforms 8:9:A:B:C:D:E:F:G:H:I:J:K:L:M:N +generate platforms 8:9:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O platform version 8 files java.activation-8.sym.txt:java.base-8.sym.txt:java.compiler-8.sym.txt:java.corba-8.sym.txt:java.datatransfer-8.sym.txt:java.desktop-8.sym.txt:java.instrument-8.sym.txt:java.logging-8.sym.txt:java.management-8.sym.txt:java.management.rmi-8.sym.txt:java.naming-8.sym.txt:java.prefs-8.sym.txt:java.rmi-8.sym.txt:java.scripting-8.sym.txt:java.security.jgss-8.sym.txt:java.security.sasl-8.sym.txt:java.sql-8.sym.txt:java.sql.rowset-8.sym.txt:java.transaction-8.sym.txt:java.xml-8.sym.txt:java.xml.bind-8.sym.txt:java.xml.crypto-8.sym.txt:java.xml.ws-8.sym.txt:java.xml.ws.annotation-8.sym.txt:jdk.httpserver-8.sym.txt:jdk.management-8.sym.txt:jdk.scripting.nashorn-8.sym.txt:jdk.sctp-8.sym.txt:jdk.security.auth-8.sym.txt:jdk.security.jgss-8.sym.txt platform version 9 base 8 files java.activation-9.sym.txt:java.base-9.sym.txt:java.compiler-9.sym.txt:java.corba-9.sym.txt:java.datatransfer-9.sym.txt:java.desktop-9.sym.txt:java.instrument-9.sym.txt:java.logging-9.sym.txt:java.management-9.sym.txt:java.management.rmi-9.sym.txt:java.naming-9.sym.txt:java.prefs-9.sym.txt:java.rmi-9.sym.txt:java.scripting-9.sym.txt:java.se-9.sym.txt:java.se.ee-9.sym.txt:java.security.jgss-9.sym.txt:java.security.sasl-9.sym.txt:java.smartcardio-9.sym.txt:java.sql-9.sym.txt:java.sql.rowset-9.sym.txt:java.transaction-9.sym.txt:java.xml-9.sym.txt:java.xml.bind-9.sym.txt:java.xml.crypto-9.sym.txt:java.xml.ws-9.sym.txt:java.xml.ws.annotation-9.sym.txt:jdk.accessibility-9.sym.txt:jdk.attach-9.sym.txt:jdk.charsets-9.sym.txt:jdk.compiler-9.sym.txt:jdk.crypto.cryptoki-9.sym.txt:jdk.crypto.ec-9.sym.txt:jdk.dynalink-9.sym.txt:jdk.editpad-9.sym.txt:jdk.hotspot.agent-9.sym.txt:jdk.httpserver-9.sym.txt:jdk.incubator.httpclient-9.sym.txt:jdk.jartool-9.sym.txt:jdk.javadoc-9.sym.txt:jdk.jcmd-9.sym.txt:jdk.jconsole-9.sym.txt:jdk.jdeps-9.sym.txt:jdk.jdi-9.sym.txt:jdk.jdwp.agent-9.sym.txt:jdk.jlink-9.sym.txt:jdk.jshell-9.sym.txt:jdk.jsobject-9.sym.txt:jdk.jstatd-9.sym.txt:jdk.localedata-9.sym.txt:jdk.management-9.sym.txt:jdk.management.agent-9.sym.txt:jdk.naming.dns-9.sym.txt:jdk.naming.rmi-9.sym.txt:jdk.net-9.sym.txt:jdk.pack-9.sym.txt:jdk.policytool-9.sym.txt:jdk.rmic-9.sym.txt:jdk.scripting.nashorn-9.sym.txt:jdk.sctp-9.sym.txt:jdk.security.auth-9.sym.txt:jdk.security.jgss-9.sym.txt:jdk.unsupported-9.sym.txt:jdk.xml.dom-9.sym.txt:jdk.zipfs-9.sym.txt platform version A base 9 files java.activation-A.sym.txt:java.base-A.sym.txt:java.compiler-A.sym.txt:java.corba-A.sym.txt:java.datatransfer-A.sym.txt:java.desktop-A.sym.txt:java.instrument-A.sym.txt:java.logging-A.sym.txt:java.management-A.sym.txt:java.management.rmi-A.sym.txt:java.naming-A.sym.txt:java.prefs-A.sym.txt:java.rmi-A.sym.txt:java.scripting-A.sym.txt:java.se-A.sym.txt:java.se.ee-A.sym.txt:java.security.jgss-A.sym.txt:java.security.sasl-A.sym.txt:java.smartcardio-A.sym.txt:java.sql-A.sym.txt:java.sql.rowset-A.sym.txt:java.transaction-A.sym.txt:java.xml-A.sym.txt:java.xml.bind-A.sym.txt:java.xml.crypto-A.sym.txt:java.xml.ws-A.sym.txt:java.xml.ws.annotation-A.sym.txt:jdk.accessibility-A.sym.txt:jdk.attach-A.sym.txt:jdk.charsets-A.sym.txt:jdk.compiler-A.sym.txt:jdk.crypto.cryptoki-A.sym.txt:jdk.crypto.ec-A.sym.txt:jdk.dynalink-A.sym.txt:jdk.editpad-A.sym.txt:jdk.hotspot.agent-A.sym.txt:jdk.httpserver-A.sym.txt:jdk.incubator.httpclient-A.sym.txt:jdk.jartool-A.sym.txt:jdk.javadoc-A.sym.txt:jdk.jcmd-A.sym.txt:jdk.jconsole-A.sym.txt:jdk.jdeps-A.sym.txt:jdk.jdi-A.sym.txt:jdk.jdwp.agent-A.sym.txt:jdk.jlink-A.sym.txt:jdk.jshell-A.sym.txt:jdk.jsobject-A.sym.txt:jdk.jstatd-A.sym.txt:jdk.localedata-A.sym.txt:jdk.management-A.sym.txt:jdk.management.agent-A.sym.txt:jdk.naming.dns-A.sym.txt:jdk.naming.rmi-A.sym.txt:jdk.net-A.sym.txt:jdk.pack-A.sym.txt:jdk.policytool-A.sym.txt:jdk.rmic-A.sym.txt:jdk.scripting.nashorn-A.sym.txt:jdk.sctp-A.sym.txt:jdk.security.auth-A.sym.txt:jdk.security.jgss-A.sym.txt:jdk.unsupported-A.sym.txt:jdk.xml.dom-A.sym.txt:jdk.zipfs-A.sym.txt @@ -46,3 +46,4 @@ platform version K base J files java.base-K.sym.txt:java.compiler-K.sym.txt:java platform version L base K files java.base-L.sym.txt:java.compiler-L.sym.txt:java.desktop-L.sym.txt:java.logging-L.sym.txt:java.management-L.sym.txt:java.management.rmi-L.sym.txt:java.net.http-L.sym.txt:java.xml.crypto-L.sym.txt:jdk.compiler-L.sym.txt:jdk.incubator.concurrent-L.sym.txt:jdk.incubator.foreign-L.sym.txt:jdk.incubator.vector-L.sym.txt:jdk.jartool-L.sym.txt:jdk.javadoc-L.sym.txt:jdk.jdi-L.sym.txt:jdk.jfr-L.sym.txt:jdk.jshell-L.sym.txt:jdk.management-L.sym.txt:jdk.sctp-L.sym.txt:jdk.unsupported-L.sym.txt platform version M base L files java.base-M.sym.txt:java.compiler-M.sym.txt:java.desktop-M.sym.txt:java.xml-M.sym.txt:java.xml.crypto-M.sym.txt:jdk.compiler-M.sym.txt:jdk.crypto.cryptoki-M.sym.txt:jdk.crypto.ec-M.sym.txt:jdk.incubator.foreign-M.sym.txt:jdk.incubator.vector-M.sym.txt:jdk.jartool-M.sym.txt:jdk.jdeps-M.sym.txt:jdk.jfr-M.sym.txt:jdk.jlink-M.sym.txt:jdk.jpackage-M.sym.txt:jdk.jshell-M.sym.txt:jdk.jstatd-M.sym.txt:jdk.unsupported-M.sym.txt platform version N base M files java.base-N.sym.txt:java.compiler-N.sym.txt:java.desktop-N.sym.txt:java.management-N.sym.txt:java.management.rmi-N.sym.txt:jdk.compiler-N.sym.txt:jdk.httpserver-N.sym.txt:jdk.incubator.foreign-N.sym.txt:jdk.javadoc-N.sym.txt:jdk.jshell-N.sym.txt:jdk.localedata-N.sym.txt:jdk.unsupported-N.sym.txt +platform version O base N files java.base-O.sym.txt:java.compiler-O.sym.txt:java.datatransfer-O.sym.txt:java.desktop-O.sym.txt:java.instrument-O.sym.txt:java.logging-O.sym.txt:java.management-O.sym.txt:java.management.rmi-O.sym.txt:java.naming-O.sym.txt:java.net.http-O.sym.txt:java.prefs-O.sym.txt:java.rmi-O.sym.txt:java.scripting-O.sym.txt:java.se-O.sym.txt:java.security.jgss-O.sym.txt:java.security.sasl-O.sym.txt:java.smartcardio-O.sym.txt:java.sql-O.sym.txt:java.sql.rowset-O.sym.txt:java.transaction.xa-O.sym.txt:java.xml-O.sym.txt:java.xml.crypto-O.sym.txt:jdk.accessibility-O.sym.txt:jdk.attach-O.sym.txt:jdk.charsets-O.sym.txt:jdk.compiler-O.sym.txt:jdk.crypto.cryptoki-O.sym.txt:jdk.dynalink-O.sym.txt:jdk.editpad-O.sym.txt:jdk.hotspot.agent-O.sym.txt:jdk.httpserver-O.sym.txt:jdk.incubator.foreign-O.sym.txt:jdk.incubator.vector-O.sym.txt:jdk.jartool-O.sym.txt:jdk.javadoc-O.sym.txt:jdk.jcmd-O.sym.txt:jdk.jconsole-O.sym.txt:jdk.jdeps-O.sym.txt:jdk.jdi-O.sym.txt:jdk.jdwp.agent-O.sym.txt:jdk.jfr-O.sym.txt:jdk.jlink-O.sym.txt:jdk.jpackage-O.sym.txt:jdk.jshell-O.sym.txt:jdk.jsobject-O.sym.txt:jdk.jstatd-O.sym.txt:jdk.localedata-O.sym.txt:jdk.management-O.sym.txt:jdk.management.agent-O.sym.txt:jdk.management.jfr-O.sym.txt:jdk.naming.dns-O.sym.txt:jdk.naming.rmi-O.sym.txt:jdk.net-O.sym.txt:jdk.nio.mapmode-O.sym.txt:jdk.sctp-O.sym.txt:jdk.security.auth-O.sym.txt:jdk.security.jgss-O.sym.txt:jdk.unsupported-O.sym.txt:jdk.xml.dom-O.sym.txt:jdk.zipfs-O.sym.txt diff --git a/src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java b/src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java index 564b97797fc6d..2e7d23bb84cc5 100644 --- a/src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java +++ b/src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java @@ -455,6 +455,27 @@ public void awaitTermination() throws InterruptedException { directoryStream.awaitTermination(); } + /** + * Registers an action to perform when new metadata arrives in the stream. + * + * The event type of an event always arrives sometime before the actual event. + * The action must be registered before the stream is started. + *

+ * The following example shows how to listen to new event types, register + * an action if the event type name matches a regular expression and increase a + * counter if a matching event is found. A benefit of using an action per + * event type, instead of the generic {@link #onEvent(Consumer)} method, + * is that a stream implementation can avoid reading events that are of no + * interest. + * + * {@snippet class = "Snippets" region = "RecordingStreamMetadata"} + * + * @param action to perform, not {@code null} + * + * @throws IllegalStateException if an action is added after the stream has + * started + * @since 16 + */ @Override public void onMetadata(Consumer action) { directoryStream.onMetadata(action); diff --git a/src/jdk.jfr/share/classes/jdk/jfr/consumer/snippet-files/Snippets.java b/src/jdk.jfr/share/classes/jdk/jfr/consumer/snippet-files/Snippets.java index 1aa45fa52c60f..3f363c4536a37 100644 --- a/src/jdk.jfr/share/classes/jdk/jfr/consumer/snippet-files/Snippets.java +++ b/src/jdk.jfr/share/classes/jdk/jfr/consumer/snippet-files/Snippets.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, 2023, 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 @@ -109,6 +109,27 @@ public static void main(String... args) throws IOException { // @end } + class RecordingStreamMetadata { + // @start region="RecordingStreamMetadata" + static long count = 0; + public static void main(String... args) throws Exception { + String regExp = args[0]; + var pr = Pattern.compile(regExp).asMatchPredicate(); + Configuration c = Configuration.getConfiguration("default"); + try (var s = new RecordingStream(c)) { + s.setOrdered(false); + s.onMetadata(metadata -> metadata.getAddedEventTypes() + .stream().map(EventType::getName).filter(pr) + .forEach(eventName -> s.onEvent(eventName, event -> count++))); + s.startAsync(); + System.out.println("Running recording for 5 s. Please wait."); + s.awaitTermination(Duration.ofSeconds(5)); + System.out.println(count + " events matches " + regExp); + } + } + // @end + } + void RecordingFileOverview() throws Exception { // @start region="RecordingFileOverview" try (RecordingFile recordingFile = new RecordingFile(Paths.get("recording.jfr"))) { diff --git a/test/hotspot/gtest/cds/test_archiveWorkers.cpp b/test/hotspot/gtest/cds/test_archiveWorkers.cpp new file mode 100644 index 0000000000000..eb5a4ad83e930 --- /dev/null +++ b/test/hotspot/gtest/cds/test_archiveWorkers.cpp @@ -0,0 +1,69 @@ +/* + * Copyright Amazon.com Inc. 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. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +#include "precompiled.hpp" +#include "cds/archiveUtils.hpp" +#include "unittest.hpp" + +class TestArchiveWorkerTask : public ArchiveWorkerTask { +private: + volatile int _sum; + int _max; +public: + TestArchiveWorkerTask() : ArchiveWorkerTask("Test"), _sum(0), _max(0) {} + void work(int chunk, int max_chunks) override { + Atomic::add(&_sum, chunk); + Atomic::store(&_max, max_chunks); + } + int sum() { return Atomic::load(&_sum); } + int max() { return Atomic::load(&_max); } +}; + +// Test a repeated cycle of workers init/shutdown without task works. +TEST_VM(ArchiveWorkersTest, continuous_restart) { + for (int c = 0; c < 1000; c++) { + ArchiveWorkers workers; + } +} + +// Test a repeated cycle of sample task works. +TEST_VM(ArchiveWorkersTest, single_task) { + for (int c = 0; c < 1000; c++) { + TestArchiveWorkerTask task; + ArchiveWorkers workers; + workers.run_task(&task); + ASSERT_EQ(task.max() * (task.max() - 1) / 2, task.sum()); + } +} + +// Test that reusing the workers fails. +#ifdef ASSERT +TEST_VM_ASSERT_MSG(ArchiveWorkersTest, multiple_tasks, ".* Should be unused yet") { + TestArchiveWorkerTask task; + ArchiveWorkers workers; + workers.run_task(&task); + workers.run_task(&task); +} +#endif // ASSERT + diff --git a/test/hotspot/gtest/gc/g1/test_freeRegionList.cpp b/test/hotspot/gtest/gc/g1/test_freeRegionList.cpp index bc45626deecb0..b3078c507bee4 100644 --- a/test/hotspot/gtest/gc/g1/test_freeRegionList.cpp +++ b/test/hotspot/gtest/gc/g1/test_freeRegionList.cpp @@ -50,7 +50,7 @@ TEST_OTHER_VM(G1FreeRegionList, length) { // the BOT. size_t bot_size = G1BlockOffsetTable::compute_size(heap.word_size()); HeapWord* bot_data = NEW_C_HEAP_ARRAY(HeapWord, bot_size, mtGC); - ReservedSpace bot_rs(G1BlockOffsetTable::compute_size(heap.word_size())); + ReservedSpace bot_rs(G1BlockOffsetTable::compute_size(heap.word_size()), mtGC); G1RegionToSpaceMapper* bot_storage = G1RegionToSpaceMapper::create_mapper(bot_rs, bot_rs.size(), diff --git a/test/hotspot/gtest/memory/test_virtualspace.cpp b/test/hotspot/gtest/memory/test_virtualspace.cpp index 2240f0f4cb37d..da91c75189246 100644 --- a/test/hotspot/gtest/memory/test_virtualspace.cpp +++ b/test/hotspot/gtest/memory/test_virtualspace.cpp @@ -64,7 +64,7 @@ namespace { static void test_reserved_size(size_t size) { ASSERT_PRED2(is_size_aligned, size, os::vm_allocation_granularity()); - ReservedSpace rs(size); + ReservedSpace rs(size, mtTest); MemoryReleaser releaser(&rs); EXPECT_TRUE(rs.base() != nullptr) << "rs.special: " << rs.special(); @@ -215,7 +215,7 @@ namespace { default: case Default: case Reserve: - return ReservedSpace(reserve_size_aligned); + return ReservedSpace(reserve_size_aligned, mtTest); case Disable: case Commit: return ReservedSpace(reserve_size_aligned, @@ -387,7 +387,7 @@ class TestReservedSpace : AllStatic { static void test_reserved_space2(size_t size) { ASSERT_TRUE(is_aligned(size, os::vm_allocation_granularity())) << "Must be at least AG aligned"; - ReservedSpace rs(size); + ReservedSpace rs(size, mtTest); EXPECT_TRUE(rs.base() != nullptr); EXPECT_EQ(rs.size(), size) << "rs.size: " << rs.size(); @@ -516,7 +516,7 @@ class TestVirtualSpace : AllStatic { default: case Default: case Reserve: - return ReservedSpace(reserve_size_aligned); + return ReservedSpace(reserve_size_aligned, mtTest); case Disable: case Commit: return ReservedSpace(reserve_size_aligned, diff --git a/test/hotspot/gtest/runtime/test_virtualMemoryTracker.cpp b/test/hotspot/gtest/runtime/test_virtualMemoryTracker.cpp index b098416456d6c..f2b3b843c2313 100644 --- a/test/hotspot/gtest/runtime/test_virtualMemoryTracker.cpp +++ b/test/hotspot/gtest/runtime/test_virtualMemoryTracker.cpp @@ -93,7 +93,7 @@ class VirtualMemoryTrackerTest { static void test_add_committed_region_adjacent() { size_t size = 0x01000000; - ReservedSpace rs(size); + ReservedSpace rs(size, mtTest); address addr = (address)rs.base(); address frame1 = (address)0x1234; @@ -167,7 +167,7 @@ class VirtualMemoryTrackerTest { static void test_add_committed_region_adjacent_overlapping() { size_t size = 0x01000000; - ReservedSpace rs(size); + ReservedSpace rs(size, mtTest); address addr = (address)rs.base(); address frame1 = (address)0x1234; @@ -254,7 +254,7 @@ class VirtualMemoryTrackerTest { static void test_add_committed_region_overlapping() { size_t size = 0x01000000; - ReservedSpace rs(size); + ReservedSpace rs(size, mtTest); address addr = (address)rs.base(); address frame1 = (address)0x1234; @@ -425,7 +425,7 @@ class VirtualMemoryTrackerTest { static void test_remove_uncommitted_region() { size_t size = 0x01000000; - ReservedSpace rs(size); + ReservedSpace rs(size, mtTest); address addr = (address)rs.base(); address frame1 = (address)0x1234; diff --git a/test/hotspot/jtreg/TEST.groups b/test/hotspot/jtreg/TEST.groups index 96743c4fe29ab..4803fca5847cb 100644 --- a/test/hotspot/jtreg/TEST.groups +++ b/test/hotspot/jtreg/TEST.groups @@ -38,10 +38,6 @@ hotspot_all_no_apps = \ hotspot_compiler = \ compiler -hotspot_compiler_xcomp = \ - :hotspot_compiler \ - -:tier1_compiler_not_xcomp - hotspot_gc = \ gc @@ -151,8 +147,7 @@ tier1_common = \ tier1_compiler = \ :tier1_compiler_1 \ :tier1_compiler_2 \ - :tier1_compiler_3 \ - :tier1_compiler_not_xcomp + :tier1_compiler_3 hotspot_not_fast_compiler = \ :hotspot_compiler \ @@ -210,6 +205,7 @@ tier1_compiler_3 = \ compiler/macronodes/ \ compiler/memoryinitialization/ \ compiler/osr/ \ + compiler/profiling \ compiler/regalloc/ \ compiler/runtime/ \ compiler/startup/ \ @@ -269,9 +265,6 @@ tier3_compiler = \ -:tier1_compiler \ -:tier2_compiler -tier1_compiler_not_xcomp = \ - compiler/profiling - ctw_1 = \ applications/ctw/modules/ \ -:ctw_2 \ diff --git a/test/hotspot/jtreg/compiler/intrinsics/float16/Binary16Conversion.java b/test/hotspot/jtreg/compiler/intrinsics/float16/Binary16Conversion.java index cd0f0b636a7ee..4fb04f0be45cf 100644 --- a/test/hotspot/jtreg/compiler/intrinsics/float16/Binary16Conversion.java +++ b/test/hotspot/jtreg/compiler/intrinsics/float16/Binary16Conversion.java @@ -27,6 +27,7 @@ * @summary Verify conversion between float and the binary16 format * @requires (vm.cpu.features ~= ".*avx512vl.*" | vm.cpu.features ~= ".*f16c.*") | os.arch=="aarch64" * | (os.arch == "riscv64" & vm.cpu.features ~= ".*zfh.*") + * | ((os.arch == "ppc64" | os.arch == "ppc64le") & vm.cpu.features ~= ".*darn.*") * @requires vm.compiler1.enabled & vm.compiler2.enabled * @requires vm.compMode != "Xcomp" * @comment default run diff --git a/test/hotspot/jtreg/compiler/intrinsics/float16/Binary16ConversionNaN.java b/test/hotspot/jtreg/compiler/intrinsics/float16/Binary16ConversionNaN.java index 8aa83544f9fcd..b80e8fecc9fcf 100644 --- a/test/hotspot/jtreg/compiler/intrinsics/float16/Binary16ConversionNaN.java +++ b/test/hotspot/jtreg/compiler/intrinsics/float16/Binary16ConversionNaN.java @@ -27,6 +27,7 @@ * @summary Verify NaN sign and significand bits are preserved across conversions * @requires (vm.cpu.features ~= ".*avx512vl.*" | vm.cpu.features ~= ".*f16c.*") | os.arch=="aarch64" * | (os.arch == "riscv64" & vm.cpu.features ~= ".*zfh.*") + * | ((os.arch == "ppc64" | os.arch == "ppc64le") & vm.cpu.features ~= ".*darn.*") * @requires vm.compiler1.enabled & vm.compiler2.enabled * @requires vm.compMode != "Xcomp" * @library /test/lib / diff --git a/test/hotspot/jtreg/compiler/intrinsics/float16/TestAllFloat16ToFloat.java b/test/hotspot/jtreg/compiler/intrinsics/float16/TestAllFloat16ToFloat.java index acf5b3c4aea23..a6a13617d8003 100644 --- a/test/hotspot/jtreg/compiler/intrinsics/float16/TestAllFloat16ToFloat.java +++ b/test/hotspot/jtreg/compiler/intrinsics/float16/TestAllFloat16ToFloat.java @@ -27,6 +27,7 @@ * @summary Verify conversion between float and the binary16 format * @requires (vm.cpu.features ~= ".*avx512vl.*" | vm.cpu.features ~= ".*f16c.*") | os.arch == "aarch64" * | (os.arch == "riscv64" & vm.cpu.features ~= ".*zfh.*") + * | ((os.arch == "ppc64" | os.arch == "ppc64le") & vm.cpu.features ~= ".*darn.*") * @requires vm.compiler1.enabled & vm.compiler2.enabled * @requires vm.compMode != "Xcomp" * @comment default run: diff --git a/test/hotspot/jtreg/compiler/intrinsics/float16/TestConstFloat16ToFloat.java b/test/hotspot/jtreg/compiler/intrinsics/float16/TestConstFloat16ToFloat.java index af89d353ab267..ce91107ed7400 100644 --- a/test/hotspot/jtreg/compiler/intrinsics/float16/TestConstFloat16ToFloat.java +++ b/test/hotspot/jtreg/compiler/intrinsics/float16/TestConstFloat16ToFloat.java @@ -27,6 +27,7 @@ * @summary Verify conversion cons between float and the binary16 format * @requires (vm.cpu.features ~= ".*avx512vl.*" | vm.cpu.features ~= ".*f16c.*") | os.arch=="aarch64" * | (os.arch == "riscv64" & vm.cpu.features ~= ".*zfh.*") + * | ((os.arch == "ppc64" | os.arch == "ppc64le") & vm.cpu.features ~= ".*darn.*") * @requires vm.compiler1.enabled & vm.compiler2.enabled * @requires vm.compMode != "Xcomp" * @comment default run: diff --git a/test/hotspot/jtreg/compiler/profiling/TestMethodHandleInvokesIntrinsic.java b/test/hotspot/jtreg/compiler/profiling/TestMethodHandleInvokesIntrinsic.java index 9ca1c13f03a96..c5ec6264952f5 100644 --- a/test/hotspot/jtreg/compiler/profiling/TestMethodHandleInvokesIntrinsic.java +++ b/test/hotspot/jtreg/compiler/profiling/TestMethodHandleInvokesIntrinsic.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,7 @@ * @bug 8041458 * @summary profiling of arguments in C1 at MethodHandle invoke of intrinsic tries to profile popped argument. * + * @requires vm.compMode != "Xcomp" * @run main/othervm -XX:-BackgroundCompilation -XX:-UseOnStackReplacement * -XX:TieredStopAtLevel=3 * compiler.profiling.TestMethodHandleInvokesIntrinsic diff --git a/test/hotspot/jtreg/compiler/profiling/TestMultiBranchDataOverflow.java b/test/hotspot/jtreg/compiler/profiling/TestMultiBranchDataOverflow.java index 323cf2137271b..8d84fc4df388a 100644 --- a/test/hotspot/jtreg/compiler/profiling/TestMultiBranchDataOverflow.java +++ b/test/hotspot/jtreg/compiler/profiling/TestMultiBranchDataOverflow.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 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 @@ -25,6 +25,7 @@ * @test * @bug 8251458 * @summary Test int range overflow of MultiBranchData counter. + * @requires vm.compMode != "Xcomp" * @run main/othervm -XX:CompileCommand=dontinline,compiler.profiling.TestMultiBranchDataOverflow::test * -Xbatch -XX:Tier4BackEdgeThreshold=2147483647 * compiler.profiling.TestMultiBranchDataOverflow diff --git a/test/hotspot/jtreg/compiler/profiling/TestProfileCounterOverflow.java b/test/hotspot/jtreg/compiler/profiling/TestProfileCounterOverflow.java index a904192997e17..b4c4d2d4a4ae6 100644 --- a/test/hotspot/jtreg/compiler/profiling/TestProfileCounterOverflow.java +++ b/test/hotspot/jtreg/compiler/profiling/TestProfileCounterOverflow.java @@ -1,4 +1,5 @@ /* + * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2019, Loongson Technology Co. Ltd. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -25,6 +26,7 @@ * @test * @bug 8224162 * @summary Profile counter for a call site may overflow. + * @requires vm.compMode != "Xcomp" * @run main/othervm -Xbatch -XX:-UseOnStackReplacement -XX:+IgnoreUnrecognizedVMOptions -XX:MaxTrivialSize=0 -XX:C1MaxTrivialSize=0 compiler.profiling.TestProfileCounterOverflow */ diff --git a/test/hotspot/jtreg/compiler/profiling/TestSharedHeadExceptionBackedges.java b/test/hotspot/jtreg/compiler/profiling/TestSharedHeadExceptionBackedges.java index e02df36fa1cc5..b3c95fa302b82 100644 --- a/test/hotspot/jtreg/compiler/profiling/TestSharedHeadExceptionBackedges.java +++ b/test/hotspot/jtreg/compiler/profiling/TestSharedHeadExceptionBackedges.java @@ -25,6 +25,7 @@ * @test * bug 8280842 * @summary Access violation in ciTypeFlow::profiled_count + * @requires vm.compMode != "Xcomp" * @run main/othervm -XX:-BackgroundCompilation TestSharedHeadExceptionBackedges */ diff --git a/test/hotspot/jtreg/compiler/profiling/TestSpecTrapClassUnloading.java b/test/hotspot/jtreg/compiler/profiling/TestSpecTrapClassUnloading.java index d713bf4d3402d..3f01d9ef2b69a 100644 --- a/test/hotspot/jtreg/compiler/profiling/TestSpecTrapClassUnloading.java +++ b/test/hotspot/jtreg/compiler/profiling/TestSpecTrapClassUnloading.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,7 @@ * @bug 8031752 * @summary speculative traps need to be cleaned up at GC * + * @requires vm.compMode != "Xcomp" * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-TieredCompilation * -XX:-UseOnStackReplacement -XX:-BackgroundCompilation * -XX:CompileThreshold=10000 diff --git a/test/hotspot/jtreg/compiler/profiling/TestTypeProfileArgsLimit.java b/test/hotspot/jtreg/compiler/profiling/TestTypeProfileArgsLimit.java index a6d5da5a40926..358048953071d 100644 --- a/test/hotspot/jtreg/compiler/profiling/TestTypeProfileArgsLimit.java +++ b/test/hotspot/jtreg/compiler/profiling/TestTypeProfileArgsLimit.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2023, 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 @@ -26,6 +26,7 @@ * @bug 8295406 * @summary Tests execution with TypeProfileArgsLimit=0 TypeProfileLevel=222. * + * @requires vm.compMode != "Xcomp" * @run main/othervm -XX:TypeProfileArgsLimit=0 -XX:TypeProfileLevel=222 compiler.profiling.TestTypeProfileArgsLimit * @run main/othervm -XX:TypeProfileArgsLimit=0 -XX:TypeProfileLevel=212 compiler.profiling.TestTypeProfileArgsLimit * @run main/othervm -XX:TypeProfileArgsLimit=0 -XX:TypeProfileLevel=202 compiler.profiling.TestTypeProfileArgsLimit diff --git a/test/hotspot/jtreg/compiler/profiling/TestTypeProfiling.java b/test/hotspot/jtreg/compiler/profiling/TestTypeProfiling.java index d5f5926bac000..849bc17ca95a4 100644 --- a/test/hotspot/jtreg/compiler/profiling/TestTypeProfiling.java +++ b/test/hotspot/jtreg/compiler/profiling/TestTypeProfiling.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 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 @@ -31,6 +31,7 @@ * * @comment the test can't be run w/ TieredStopAtLevel < 4 * @requires vm.opt.TieredStopAtLevel == null | vm.opt.TieredStopAtLevel == 4 + * @requires vm.compMode != "Xcomp" * * @library /test/lib / * @build jdk.test.whitebox.WhiteBox diff --git a/test/hotspot/jtreg/compiler/profiling/TestUnexpectedProfilingMismatch.java b/test/hotspot/jtreg/compiler/profiling/TestUnexpectedProfilingMismatch.java index c0df67a1709d6..3bbf0a445e510 100644 --- a/test/hotspot/jtreg/compiler/profiling/TestUnexpectedProfilingMismatch.java +++ b/test/hotspot/jtreg/compiler/profiling/TestUnexpectedProfilingMismatch.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,7 @@ * @bug 8027631 * @summary profiling of arguments at calls cannot rely on signature of callee for types * + * @requires vm.compMode != "Xcomp" * @run main/othervm -XX:-BackgroundCompilation -XX:TieredStopAtLevel=3 -XX:TypeProfileLevel=111 * -XX:Tier3InvocationThreshold=200 -XX:Tier0InvokeNotifyFreqLog=7 * compiler.profiling.TestUnexpectedProfilingMismatch diff --git a/test/hotspot/jtreg/compiler/profiling/UnsafeAccess.java b/test/hotspot/jtreg/compiler/profiling/UnsafeAccess.java index b7b91e8615bf9..ef09de8d63baa 100644 --- a/test/hotspot/jtreg/compiler/profiling/UnsafeAccess.java +++ b/test/hotspot/jtreg/compiler/profiling/UnsafeAccess.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 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 @@ -25,6 +25,7 @@ * @bug 8134918 * @modules java.base/jdk.internal.misc * + * @requires vm.compMode != "Xcomp" * @run main/bootclasspath/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:TypeProfileLevel=222 -XX:+UseTypeSpeculation -Xbatch * -XX:CompileCommand=dontinline,compiler.profiling.UnsafeAccess::test* * compiler.profiling.UnsafeAccess diff --git a/test/hotspot/jtreg/compiler/profiling/spectrapredefineclass/Launcher.java b/test/hotspot/jtreg/compiler/profiling/spectrapredefineclass/Launcher.java index 1a8ed4c789332..bdf4b3fb85249 100644 --- a/test/hotspot/jtreg/compiler/profiling/spectrapredefineclass/Launcher.java +++ b/test/hotspot/jtreg/compiler/profiling/spectrapredefineclass/Launcher.java @@ -28,6 +28,7 @@ * @modules java.base/jdk.internal.misc * java.instrument * @requires vm.jvmti & (vm.opt.TieredStopAtLevel == null | vm.opt.TieredStopAtLevel == 4) + * @requires vm.compMode != "Xcomp" * @build compiler.profiling.spectrapredefineclass.Agent * @run driver jdk.test.lib.helpers.ClassFileInstaller compiler.profiling.spectrapredefineclass.Agent * @run driver compiler.profiling.spectrapredefineclass.Launcher diff --git a/test/hotspot/jtreg/compiler/profiling/spectrapredefineclass_classloaders/Launcher.java b/test/hotspot/jtreg/compiler/profiling/spectrapredefineclass_classloaders/Launcher.java index 08765e911c02e..6fdbca00523fc 100644 --- a/test/hotspot/jtreg/compiler/profiling/spectrapredefineclass_classloaders/Launcher.java +++ b/test/hotspot/jtreg/compiler/profiling/spectrapredefineclass_classloaders/Launcher.java @@ -28,6 +28,7 @@ * @modules java.base/jdk.internal.misc * java.instrument * @requires vm.jvmti & (vm.opt.TieredStopAtLevel == null | vm.opt.TieredStopAtLevel == 4) + * @requires vm.compMode != "Xcomp" * @build compiler.profiling.spectrapredefineclass_classloaders.Agent * compiler.profiling.spectrapredefineclass_classloaders.Test * compiler.profiling.spectrapredefineclass_classloaders.A diff --git a/test/hotspot/jtreg/compiler/profiling/unloadingconflict/TestProfileConflictClassUnloading.java b/test/hotspot/jtreg/compiler/profiling/unloadingconflict/TestProfileConflictClassUnloading.java index d68f5c012d01f..daebd57c457c9 100644 --- a/test/hotspot/jtreg/compiler/profiling/unloadingconflict/TestProfileConflictClassUnloading.java +++ b/test/hotspot/jtreg/compiler/profiling/unloadingconflict/TestProfileConflictClassUnloading.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,7 @@ * @summary class unloading resets profile, method compiled after the profile is * first set and before class loading sets unknown bit with not recorded class * @library / + * @requires vm.compMode != "Xcomp" * @build compiler.profiling.unloadingconflict.B * @run main/othervm -XX:TypeProfileLevel=222 -XX:-BackgroundCompilation * compiler.profiling.unloadingconflict.TestProfileConflictClassUnloading diff --git a/test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorConvChain.java b/test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorConvChain.java index a2ff267f937ae..20401a989383a 100644 --- a/test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorConvChain.java +++ b/test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorConvChain.java @@ -26,6 +26,7 @@ * @summary Test Float16 vector conversion chain. * @requires (vm.cpu.features ~= ".*avx512vl.*" | vm.cpu.features ~= ".*f16c.*") | os.arch == "aarch64" * | (os.arch == "riscv64" & vm.cpu.features ~= ".*zvfh.*") +* | ((os.arch == "ppc64" | os.arch == "ppc64le") & vm.cpu.features ~= ".*darn.*") * @library /test/lib / * @run driver compiler.vectorization.TestFloat16VectorConvChain */ diff --git a/test/hotspot/jtreg/gc/g1/TestGCLogMessages.java b/test/hotspot/jtreg/gc/g1/TestGCLogMessages.java index 2a7886a2106ff..e30cd3c52069d 100644 --- a/test/hotspot/jtreg/gc/g1/TestGCLogMessages.java +++ b/test/hotspot/jtreg/gc/g1/TestGCLogMessages.java @@ -187,6 +187,7 @@ public boolean isAvailable() { new LogMessageWithLevel("Serial Free Collection Set:", Level.TRACE), new LogMessageWithLevel("Young Free Collection Set \\(ms\\):", Level.TRACE), new LogMessageWithLevel("Non-Young Free Collection Set \\(ms\\):", Level.TRACE), + new LogMessageWithLevel("Reset Partial Array State Manager \\(ms\\)", Level.TRACE), // Misc Top-level new LogMessageWithLevel("Rebuild Free List:", Level.DEBUG), diff --git a/test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java b/test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java index 0ecfbe2c8dbc3..bd7663c965de4 100644 --- a/test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java +++ b/test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java @@ -69,9 +69,6 @@ public class VMDeprecatedOptions { }) ); } - if (Platform.isLinux()) { - deprecated.add(new String[] { "UseLinuxPosixThreadCPUClocks", "true" }); - } if (wb.isJFRIncluded()) { deprecated.add(new String[] {"FlightRecorder", "false"}); } diff --git a/test/hotspot/jtreg/runtime/cds/appcds/jvmti/CFLH/MultiReleaseJars.java b/test/hotspot/jtreg/runtime/cds/appcds/jvmti/CFLH/MultiReleaseJars.java index 92c5e3d5f022c..2997beeb15529 100644 --- a/test/hotspot/jtreg/runtime/cds/appcds/jvmti/CFLH/MultiReleaseJars.java +++ b/test/hotspot/jtreg/runtime/cds/appcds/jvmti/CFLH/MultiReleaseJars.java @@ -49,8 +49,8 @@ static String getMain() { String sts = """ public class Main { public static void main(String[] args) throws Exception { - System.out.println(Class.forName(\"Foo\")); - System.out.println(Class.forName(\"Bar\")); + System.out.println(Class.forName("pkg1.Foo")); + System.out.println(Class.forName("pkg2.Bar")); } } """; @@ -59,6 +59,7 @@ public static void main(String[] args) throws Exception { static String getFoo() { String sts = """ + package pkg1; class Foo { static { System.out.println("Hello from Foo old version"); @@ -70,6 +71,7 @@ class Foo { static String getFooNewVersion() { String sts = """ + package pkg1; class Foo { static { System.out.println("Hello from Foo new version"); @@ -81,6 +83,7 @@ class Foo { static String getBar() { String sts = """ + package pkg2; class Bar { static { System.out.println("Hello from Bar"); @@ -107,13 +110,17 @@ static void writeFile(File file, String... contents) throws Exception { /* version.jar entries and files: * META-INF/ * META-INF/MANIFEST.MF - * Bar.class * Main.class + * pkg2/ + * pkg2/Bar.class * META-INF/versions/9/ - * META-INF/versions/9/Bar.class - * META-INF/versions/9/Foo.class + * META-INF/versions/9/pkg1 + * META-INF/versions/9/pkg1/Foo.class + * META-INF/versions/9/pkg2 + * META-INF/versions/9/pkg2/Bar.class * META-INF/versions/24/ - * META-INF/versions/24/Foo.class + * META-INF/versions/24/pkg1 + * META-INF/versions/24/pkg1Foo.class */ static void createClassFilesAndJar() throws Exception { String tempDir = CDSTestUtils.getOutputDir(); @@ -163,25 +170,25 @@ public static void main(String... args) throws Exception { String mainClass = "Main"; String appJar = TestCommon.getTestJar("multi-version.jar"); - String appClasses[] = {"Foo", "Bar"}; + String appClasses[] = {"pkg1/Foo", "pkg2/Bar"}; OutputAnalyzer output = TestCommon.dump(appJar, appClasses); output.shouldContain("Loading classes to share: done.") .shouldHaveExitValue(0); - String agentCmdArg = "-agentlib:SimpleClassFileLoadHook=Foo,Hello,HELLO"; + String agentCmdArg = "-agentlib:SimpleClassFileLoadHook=pkg1/Foo,Hello,HELLO"; output = TestCommon.execAuto("-cp", appJar, "-Xlog:cds=info,class+load", agentCmdArg, mainClass); - output.shouldMatch(".*Foo.source:.*multi-version.jar") + output.shouldMatch(".*pkg1.Foo.source:.*multi-version.jar") // New version of Foo is loaded from jar since it was modified by CFLH .shouldContain("HELLO from Foo new version") // CFLH changed "Hello" to "HELLO" - .shouldContain("class Foo") // output from Main + .shouldContain("class pkg1.Foo") // output from Main // Bar is loaded from archive .shouldContain("Bar source: shared objects file") .shouldContain("Hello from Bar") - .shouldContain("class Bar"); // output from Main + .shouldContain("class pkg2.Bar"); // output from Main } } diff --git a/test/jdk/java/lang/Thread/virtual/Starvation.java b/test/jdk/java/lang/Thread/virtual/Starvation.java new file mode 100644 index 0000000000000..c767cffbdf5eb --- /dev/null +++ b/test/jdk/java/lang/Thread/virtual/Starvation.java @@ -0,0 +1,84 @@ +/* + * Copyright (c) 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. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + * @library /test/lib + * @bug 8345294 + * @run main/othervm --enable-native-access=ALL-UNNAMED Starvation 100000 + */ + +import java.time.Duration; +import java.time.Instant; +import java.util.ArrayList; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.atomic.AtomicReference; +import jdk.test.lib.thread.VThreadPinner; + +public class Starvation { + public static void main(String[] args) throws Exception { + int iterations = Integer.parseInt(args[0]); + + for (int i = 0; i < iterations; i++) { + var exRef = new AtomicReference(); + Thread thread = Thread.startVirtualThread(() -> { + try { + runTest(); + } catch (Exception e) { + exRef.set(e); + } + }); + while (!thread.join(Duration.ofSeconds(1))) { + System.out.format("%s iteration %d waiting for %s%n", Instant.now(), i, thread); + } + Exception ex = exRef.get(); + if (ex != null) { + throw ex; + } + } + } + + static void runTest() throws InterruptedException { + int nprocs = Runtime.getRuntime().availableProcessors(); + + var threads = new ArrayList(); + Object lock = new Object(); + synchronized (lock) { + for (int i = 0; i < nprocs - 1; i++) { + var started = new CountDownLatch(1); + Thread thread = Thread.startVirtualThread(() -> { + started.countDown(); + VThreadPinner.runPinned(() -> { + synchronized (lock) { + } + }); + }); + started.await(); + threads.add(thread); + } + } + + for (Thread t : threads) { + t.join(); + } + } +} diff --git a/test/jdk/javax/swing/JComboBox/6559152/bug6559152.java b/test/jdk/javax/swing/JComboBox/6559152/bug6559152.java index 5540bb306148c..c0747f8b1e47d 100644 --- a/test/jdk/javax/swing/JComboBox/6559152/bug6559152.java +++ b/test/jdk/javax/swing/JComboBox/6559152/bug6559152.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -48,8 +48,8 @@ public class bug6559152 { private static JFrame frame; private static JComboBox cb; private static Robot robot; - private static Point p = null; - private static Dimension d; + private static volatile Point p = null; + private static volatile Dimension d; public static void main(String[] args) throws Exception { robot = new Robot(); @@ -84,7 +84,7 @@ static void blockTillDisplayed(JComponent comp) throws Exception { } private static void setupUI() { - frame = new JFrame(); + frame = new JFrame("bug6559152"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); DefaultTableModel model = new DefaultTableModel(1, 1); diff --git a/test/jdk/javax/swing/JTable/TestCaretArtifact.java b/test/jdk/javax/swing/JTable/TestCaretArtifact.java new file mode 100644 index 0000000000000..98e174315a907 --- /dev/null +++ b/test/jdk/javax/swing/JTable/TestCaretArtifact.java @@ -0,0 +1,86 @@ +/* + * Copyright (c) 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. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8268145 + * @library /java/awt/regtesthelpers + * @build PassFailJFrame + * @requires (os.family == "mac") + * @summary Verify rendering artifact is not seen moving caret inside + * JTable with TableCellEditor having JTextField + * @run main/manual TestCaretArtifact + */ + +import javax.swing.DefaultCellEditor; +import javax.swing.JFrame; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.table.TableCellEditor; +import javax.swing.table.TableColumn; +import javax.swing.SwingUtilities; + +public class TestCaretArtifact { + + private static final String INSTRUCTIONS = """ + Double click on "Click Here" textfield so that textfield becomes editable; + Press spacebar. Press left arrow button. + Do this few times. + If artifact is seen, press Fail else press Pass."""; + + public static void main(String[] args) throws Exception { + PassFailJFrame.builder() + .title("Caret Artifact Instructions") + .instructions(INSTRUCTIONS) + .columns(35) + .testUI(TestCaretArtifact::createUI) + .build() + .awaitAndCheck(); + } + + + public static JFrame createUI() { + TableCellEditor editor = new TestEditor(new JTextField()); + JTable table = new JTable(new Object[][] {{"click here", + "inactive forever"}}, + new Object[] {"1", "2"}); + + JFrame frame = new JFrame("CaretArtifact"); + TableColumn column = table.getColumn("1"); + column.setCellEditor(editor); + frame.getContentPane().add("Center", table); + frame.setSize(400, 100); + + return frame; + } + + static class TestEditor extends DefaultCellEditor { + public TestEditor(JTextField tf) { + super(tf); + } + public boolean stopCellEditing() { + return false; + } + } +} + diff --git a/test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java b/test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java index 1e64a0bb4e44e..b089013d132d6 100644 --- a/test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java +++ b/test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java @@ -111,6 +111,7 @@ public static void main(String[] args) throws IOException { "FreeCSet", "UpdateDerivedPointers", "EagerlyReclaimHumongousObjects", + "ResetPartialArrayStateManager", "ClearLoggedCards", "MergePSS", "NonYoungFreeCSet", diff --git a/test/jdk/sun/security/krb5/NullStringToKey.java b/test/jdk/sun/security/krb5/NullStringToKey.java index 93ee704156c03..ca6b6d5439e61 100644 --- a/test/jdk/sun/security/krb5/NullStringToKey.java +++ b/test/jdk/sun/security/krb5/NullStringToKey.java @@ -24,12 +24,9 @@ * @test * @bug 8343622 * @summary KerberosKey created with null key bytes - * @library /test/lib * @run main/othervm NullStringToKey */ -import jdk.test.lib.Utils; - import javax.security.auth.kerberos.KerberosKey; import javax.security.auth.kerberos.KerberosPrincipal; import java.security.Security; @@ -47,8 +44,16 @@ public static void main(String[] args) throws Exception { "aes128-cts-hmac-sha1-96", "aes256-cts-hmac-sha1-96", "aes128-cts-hmac-sha256-128", "aes256-cts-hmac-sha384-192")) { System.out.println(alg); - Utils.runAndCheckException(() -> new KerberosKey(name, pass, alg), - IllegalArgumentException.class); + // Do not use Utils.runAndCheckException as it might call + // MessageDigest.getInstance("MD5") at class initialization + // and we have already removed the SUN provider. + try { + new KerberosKey(name, pass, alg); + throw new RuntimeException("Didn't get expected exception"); + } catch (IllegalArgumentException e) { + // expected + System.out.println(e); + } } } } diff --git a/test/langtools/tools/javac/api/TestGetSourceVersions.java b/test/langtools/tools/javac/api/TestGetSourceVersions.java index ef135fd4de247..caac5eb2a3dbc 100644 --- a/test/langtools/tools/javac/api/TestGetSourceVersions.java +++ b/test/langtools/tools/javac/api/TestGetSourceVersions.java @@ -24,7 +24,7 @@ /* * @test * @bug 6395981 6458819 7025784 8028543 8028544 8193291 8193292 8193292 8205393 8245585 8245585 8245585 8286034 - * 8296150 8306585 8319414 8330183 + * 8296150 8306585 8319414 8330183 8342982 * @summary JavaCompilerTool and Tool must specify version of JLS and JVMS * @author Peter von der Ah\u00e9 * @modules java.compiler @@ -37,7 +37,7 @@ * RELEASE_8 RELEASE_9 RELEASE_10 RELEASE_11 RELEASE_12 * RELEASE_13 RELEASE_14 RELEASE_15 RELEASE_16 RELEASE_17 * RELEASE_18 RELEASE_19 RELEASE_20 RELEASE_21 RELEASE_22 - * RELEASE_23 RELEASE_24 + * RELEASE_23 RELEASE_24 RELEASE_25 */ import java.util.EnumSet; diff --git a/test/langtools/tools/javac/classfiles/ClassVersionChecker.java b/test/langtools/tools/javac/classfiles/ClassVersionChecker.java index 7d383382e7755..c12ff311bdb4d 100644 --- a/test/langtools/tools/javac/classfiles/ClassVersionChecker.java +++ b/test/langtools/tools/javac/classfiles/ClassVersionChecker.java @@ -24,6 +24,7 @@ /* * @test * @bug 7157626 8001112 8188870 8173382 8193290 8205619 8245586 8257453 8306586 8330184 + * 8342983 * @summary Test major version for all legal combinations for -source and -target * @author sgoel * @@ -59,6 +60,7 @@ private static enum Version { TWENTY_TWO("22", 66), TWENTY_THREE("23", 67), TWENTY_FOUR("24", 68), + TWENTY_FIVE("25", 69), ; // Reduce code churn when appending new constants private Version(String release, int classFileVer) { diff --git a/test/langtools/tools/javac/lib/JavacTestingAbstractProcessor.java b/test/langtools/tools/javac/lib/JavacTestingAbstractProcessor.java index c6c757f51ef9a..081a156d6a05f 100644 --- a/test/langtools/tools/javac/lib/JavacTestingAbstractProcessor.java +++ b/test/langtools/tools/javac/lib/JavacTestingAbstractProcessor.java @@ -113,7 +113,7 @@ protected void addExports(String moduleName, String... packageNames) { * corresponding platform visitor type. */ - @SupportedSourceVersion(RELEASE_24) + @SupportedSourceVersion(RELEASE_25) @SuppressWarnings("preview") public static abstract class AbstractAnnotationValueVisitor extends AbstractAnnotationValueVisitorPreview { @@ -125,7 +125,7 @@ protected AbstractAnnotationValueVisitor() { } } - @SupportedSourceVersion(RELEASE_24) + @SupportedSourceVersion(RELEASE_25) @SuppressWarnings("preview") public static abstract class AbstractElementVisitor extends AbstractElementVisitorPreview { /** @@ -136,7 +136,7 @@ protected AbstractElementVisitor(){ } } - @SupportedSourceVersion(RELEASE_24) + @SupportedSourceVersion(RELEASE_25) @SuppressWarnings("preview") public static abstract class AbstractTypeVisitor extends AbstractTypeVisitorPreview { /** @@ -147,7 +147,7 @@ protected AbstractTypeVisitor() { } } - @SupportedSourceVersion(RELEASE_24) + @SupportedSourceVersion(RELEASE_25) @SuppressWarnings("preview") public static class ElementKindVisitor extends ElementKindVisitorPreview { /** @@ -169,7 +169,7 @@ protected ElementKindVisitor(R defaultValue) { } } - @SupportedSourceVersion(RELEASE_24) + @SupportedSourceVersion(RELEASE_25) @SuppressWarnings("preview") public static class ElementScanner extends ElementScannerPreview { /** @@ -189,7 +189,7 @@ protected ElementScanner(R defaultValue){ } } - @SupportedSourceVersion(RELEASE_24) + @SupportedSourceVersion(RELEASE_25) @SuppressWarnings("preview") public static class SimpleAnnotationValueVisitor extends SimpleAnnotationValueVisitorPreview { /** @@ -211,7 +211,7 @@ protected SimpleAnnotationValueVisitor(R defaultValue) { } } - @SupportedSourceVersion(RELEASE_24) + @SupportedSourceVersion(RELEASE_25) @SuppressWarnings("preview") public static class SimpleElementVisitor extends SimpleElementVisitorPreview { /** @@ -233,7 +233,7 @@ protected SimpleElementVisitor(R defaultValue){ } } - @SupportedSourceVersion(RELEASE_24) + @SupportedSourceVersion(RELEASE_25) @SuppressWarnings("preview") public static class SimpleTypeVisitor extends SimpleTypeVisitorPreview { /** @@ -255,7 +255,7 @@ protected SimpleTypeVisitor(R defaultValue){ } } - @SupportedSourceVersion(RELEASE_24) + @SupportedSourceVersion(RELEASE_25) @SuppressWarnings("preview") public static class TypeKindVisitor extends TypeKindVisitorPreview { /** diff --git a/test/langtools/tools/javac/preview/classReaderTest/Client.nopreview.out b/test/langtools/tools/javac/preview/classReaderTest/Client.nopreview.out index 036ce4980d9f6..46c55fa62f389 100644 --- a/test/langtools/tools/javac/preview/classReaderTest/Client.nopreview.out +++ b/test/langtools/tools/javac/preview/classReaderTest/Client.nopreview.out @@ -1,2 +1,2 @@ -- compiler.err.preview.feature.disabled.classfile: Bar.class, 24 +- compiler.err.preview.feature.disabled.classfile: Bar.class, 25 1 error diff --git a/test/langtools/tools/javac/preview/classReaderTest/Client.preview.out b/test/langtools/tools/javac/preview/classReaderTest/Client.preview.out index 85dba732c06a3..539b128efd2ed 100644 --- a/test/langtools/tools/javac/preview/classReaderTest/Client.preview.out +++ b/test/langtools/tools/javac/preview/classReaderTest/Client.preview.out @@ -1,4 +1,4 @@ -- compiler.warn.preview.feature.use.classfile: Bar.class, 24 +- compiler.warn.preview.feature.use.classfile: Bar.class, 25 - compiler.err.warnings.and.werror 1 error 1 warning diff --git a/test/langtools/tools/javac/versions/Versions.java b/test/langtools/tools/javac/versions/Versions.java index a33802c16d0ae..6d885a559725b 100644 --- a/test/langtools/tools/javac/versions/Versions.java +++ b/test/langtools/tools/javac/versions/Versions.java @@ -26,6 +26,7 @@ * @bug 4981566 5028634 5094412 6304984 7025786 7025789 8001112 8028545 * 8000961 8030610 8028546 8188870 8173382 8173382 8193290 8205619 8028563 * 8245147 8245586 8257453 8286035 8306586 8320806 8306586 8319414 8330183 + * 8342982 * @summary Check interpretation of -target and -source options * @modules java.compiler * jdk.compiler @@ -72,9 +73,9 @@ public static void main(String... args) throws IOException { public static final Set VALID_SOURCES = Set.of("1.8", "1.9", "1.10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", - "23", "24"); + "23", "24", "25"); - public static final String LATEST_MAJOR_VERSION = "68.0"; + public static final String LATEST_MAJOR_VERSION = "69.0"; static enum SourceTarget { EIGHT(true, "52.0", "8"), @@ -94,6 +95,7 @@ static enum SourceTarget { TWENTY_TWO(false,"66.0", "22"), TWENTY_THREE(false,"67.0", "23"), TWENTY_FOUR(false,"68.0", "24"), + TWENTY_FIVE(false,"69.0", "25"), ; // Reduce code churn when appending new constants private final boolean dotOne;