--- a/make/UpdateX11Wrappers.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/UpdateX11Wrappers.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -78,7 +78,7 @@
EXTRA_FILES := $(X11WRAPPERS_OUTPUT)/src/data_generator.c, \
CFLAGS := $(X_CFLAGS) $(DATA_GENERATOR_INCLUDES) $(CFLAGS_JDKEXE), \
LDFLAGS := $(LDFLAGS_JDKEXE), \
- LIBS := $(X_LIBS) -lc, \
+ LIBS := $(X_LIBS), \
OBJECT_DIR := $(X11WRAPPERS_OUTPUT)/objs, \
))
--- a/make/autoconf/libraries.m4 Wed Mar 14 23:15:29 2018 +0100
+++ b/make/autoconf/libraries.m4 Wed Mar 14 23:26:27 2018 +0100
@@ -103,16 +103,15 @@
LIB_SETUP_SOLARIS_STLPORT
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
- ALWAYS_LIBS="-lc"
+ GLOBAL_LIBS="-lc"
else
- ALWAYS_LIBS=""
+ GLOBAL_LIBS=""
fi
BASIC_JDKLIB_LIBS=""
if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
BASIC_JDKLIB_LIBS="-ljava -ljvm"
fi
- BASIC_JDKLIB_LIBS="$BASIC_JDKLIB_LIBS $ALWAYS_LIBS"
# Math library
if test "x$OPENJDK_TARGET_OS" != xsolaris; then
@@ -150,7 +149,6 @@
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
wsock32.lib winmm.lib version.lib psapi.lib"
fi
- BASIC_JVM_LIBS="$BASIC_JVM_LIBS $ALWAYS_LIBS"
JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"
JDKEXE_LIBS=""
@@ -163,6 +161,7 @@
AC_SUBST(JVM_LIBS)
AC_SUBST(OPENJDK_BUILD_JDKLIB_LIBS)
AC_SUBST(OPENJDK_BUILD_JVM_LIBS)
+ AC_SUBST(GLOBAL_LIBS)
])
################################################################################
--- a/make/autoconf/spec.gmk.in Wed Mar 14 23:15:29 2018 +0100
+++ b/make/autoconf/spec.gmk.in Wed Mar 14 23:26:27 2018 +0100
@@ -467,6 +467,7 @@
# LDFLAGS used to link the jdk native libraries (C-code)
LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@
JDKLIB_LIBS:=@JDKLIB_LIBS@
+GLOBAL_LIBS:=@GLOBAL_LIBS@
# LDFLAGS used to link the jdk native launchers (C-code)
LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@
--- a/make/common/NativeCompilation.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/common/NativeCompilation.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -870,7 +870,7 @@
endif
$1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
- $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_CREATE_DEBUGINFO_CMDS) \
+ $$(GLOBAL_LIBS) $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_CREATE_DEBUGINFO_CMDS) \
$$($1_STRIP_CMD)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
@@ -924,8 +924,8 @@
ifeq ($(OPENJDK_TARGET_OS), windows)
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
- $(LD_OUT_OPTION)$$@ $$($1_LD_OBJ_ARG) $$($1_RES) $$($1_LIBS) \
- $$($1_EXTRA_LIBS)) \
+ $(LD_OUT_OPTION)$$@ $$($1_LD_OBJ_ARG) $$($1_RES) $$(GLOBAL_LIBS) \
+ $$($1_LIBS) $$($1_EXTRA_LIBS)) \
| $(GREP) -v "^ Creating library .*\.lib and object .*\.exp" || \
test "$$$$?" = "1" ; \
$$($1_CREATE_DEBUGINFO_CMDS)
@@ -934,8 +934,8 @@
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
$$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
- $(LD_OUT_OPTION)$$@ $$($1_LD_OBJ_ARG) $$($1_RES) $$($1_LIBS) \
- $$($1_EXTRA_LIBS)) ; \
+ $(LD_OUT_OPTION)$$@ $$($1_LD_OBJ_ARG) $$($1_RES) $$(GLOBAL_LIBS) \
+ $$($1_LIBS) $$($1_EXTRA_LIBS)) ; \
$$($1_CREATE_DEBUGINFO_CMDS)
$$($1_STRIP_CMD)
endif
@@ -972,7 +972,7 @@
ifeq ($$($1_TYPE), EXECUTABLE)
# A executable binary has been specified, setup the target for it.
$1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
- $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \
+ $$(GLOBAL_LIBS) $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \
$$($1_CODESIGN) $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \
$$($1_STRIP_CMD)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
@@ -991,7 +991,7 @@
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
$(EXE_OUT_OPTION)$$($1_TARGET) \
$$($1_ALL_OBJS) $$($1_RES) \
- $$($1_LIBS) $$($1_EXTRA_LIBS))
+ $$(GLOBAL_LIBS) $$($1_LIBS) $$($1_EXTRA_LIBS))
ifeq ($(OPENJDK_TARGET_OS), windows)
ifneq ($$($1_MANIFEST), )
$$($1_MT) -nologo -manifest $$($1_MANIFEST) -identity:"$$($1_NAME).exe, version=$$($1_MANIFEST_VERSION)" -outputresource:$$@;#1
--- a/make/conf/jib-profiles.js Wed Mar 14 23:15:29 2018 +0100
+++ b/make/conf/jib-profiles.js Wed Mar 14 23:26:27 2018 +0100
@@ -528,6 +528,32 @@
profiles[debugName] = concatObjects(profiles[name],
common.slowdebug_profile_base);
});
+ // Generate testmake profiles for the main profile of each build host
+ // platform. This profile only runs the makefile tests.
+ // Ant is needed to run the idea project generator test.
+ var testmakeBase = {
+ dependencies: [ "ant" ],
+ environment: {
+ "ANT_HOME": input.get("ant", "install_path") + "/apache-ant-1.7.1"
+ }
+ };
+ [ "linux-x64", "macosx-x64", "solaris-sparcv9", "solaris-x64", "windows-x64"]
+ .forEach(function (name) {
+ var maketestName = name + "-testmake";
+ profiles[maketestName] = concatObjects(profiles[name], testmakeBase);
+ profiles[maketestName].default_make_targets = [ "test-make" ];
+ });
+ // Generate cmp-baseline profiles for each main profile. This profile does
+ // a compare build run with no changes to verify that the compare script
+ // has a clean baseline
+ common.main_profile_names.forEach(function (name) {
+ var cmpBaselineName = name + "-cmp-baseline";
+ profiles[cmpBaselineName] = clone(profiles[name]);
+ // Only compare the images target. This should pressumably be expanded
+ // to include more build targets when possible.
+ profiles[cmpBaselineName].default_make_targets = [ "images" ];
+ profiles[cmpBaselineName].make_args = [ "COMPARE_BUILD=CONF=" ];
+ });
// Profiles for building the zero jvm variant. These are used for verification
// in JPRT.
@@ -913,7 +939,15 @@
environment_name: "JIB_JAR",
environment_value: input.get("jib", "install_path")
+ "/jib-3.0-SNAPSHOT-distribution/lib/jib-3.0-SNAPSHOT.jar"
- }
+ },
+
+ ant: {
+ organization: common.organization,
+ ext: "zip",
+ revision: "1.7.1+1.0",
+ configure_args: "",
+ },
+
};
// Need to add a value for the Visual Studio tools variable to make
--- a/make/hotspot/lib/CompileDtracePostJvm.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/hotspot/lib/CompileDtracePostJvm.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -175,7 +175,7 @@
SRC := $(TOPDIR)/src/java.base/solaris/native/libjvm_dtrace, \
CFLAGS := -m64 -G -mt -KPIC, \
LDFLAGS := -m64 -mt -xnolib $(SHARED_LIBRARY_FLAGS), \
- LIBS := $(LIBDL) -lc -lthread -ldoor, \
+ LIBS := $(LIBDL) -lthread -ldoor, \
MAPFILE := $(TOPDIR)/make/mapfiles/libjvm_dtrace/mapfile-vers, \
OBJECT_DIR := $(LIBJVM_DTRACE_OUTPUTDIR)/objs, \
))
@@ -191,7 +191,6 @@
CFLAGS := -I$(JVM_VARIANT_OUTPUTDIR)/gensrc -I$(DTRACE_SUPPORT_DIR) \
-m64 -G -mt -KPIC, \
LDFLAGS := -m64 -mt -xnolib $(SHARED_LIBRARY_FLAGS), \
- LIBS := -lc, \
MAPFILE := $(TOPDIR)/make/mapfiles/libjvm_db/mapfile-vers, \
OBJECT_DIR := $(LIBJVM_DB_OUTPUTDIR)/objs, \
))
--- a/make/launcher/Launcher-jdk.pack.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/launcher/Launcher-jdk.pack.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -89,7 +89,6 @@
$(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(UNPACKEXE_LIBS) $(LIBCXX), \
- LIBS_solaris := -lc, \
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/unpackexe, \
MANIFEST := $(TOPDIR)/src/jdk.pack/windows/native/unpack200/unpack200_proto.exe.manifest, \
MANIFEST_VERSION := $(VERSION_NUMBER_FOUR_POSITIONS), \
--- a/make/launcher/LauncherCommon.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/launcher/LauncherCommon.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -197,8 +197,8 @@
MAPFILE := $$($1_MAPFILE), \
LIBS := $(JDKEXE_LIBS) $$($1_LIBS), \
LIBS_unix := $$($1_LIBS_unix), \
- LIBS_linux := -lpthread -ljli $(LIBDL) -lc, \
- LIBS_solaris := -ljli -lthread $(LIBDL) -lc, \
+ LIBS_linux := -lpthread -ljli $(LIBDL), \
+ LIBS_solaris := -ljli -lthread $(LIBDL), \
LIBS_windows := $$($1_WINDOWS_JLI_LIB) \
$(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib advapi32.lib \
$$($1_LIBS_windows), \
--- a/make/lib/Awt2dLibraries.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Awt2dLibraries.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -60,7 +60,6 @@
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(BUILD_LIBMLIB_LDLIBS) \
$(JDKLIB_LIBS), \
- LIBS_solaris := -lc, \
))
$(BUILD_LIBMLIB_IMAGE): $(call FindLib, java.base, java)
@@ -111,7 +110,7 @@
MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
- LIBS := -ljava -ljvm -lc $(BUILD_LIBMLIB_LDLIBS), \
+ LIBS := -ljava -ljvm $(BUILD_LIBMLIB_LDLIBS), \
))
$(BUILD_LIBMLIB_IMAGE_V): $(call FindLib, java.base, java)
@@ -240,7 +239,7 @@
-delayload:comctl32.dll -delayload:shlwapi.dll, \
LIBS_unix := -ljvm -ljava $(LIBM), \
LIBS_linux := $(LIBDL), \
- LIBS_solaris := $(LIBDL) -lc, \
+ LIBS_solaris := $(LIBDL), \
LIBS_aix := $(LIBDL),\
LIBS_macosx := -lmlib_image \
-framework Cocoa \
@@ -319,7 +318,7 @@
endif
endif
- LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
+ LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm
ifeq ($(OPENJDK_TARGET_OS), linux)
LIBAWT_XAWT_LIBS += -lpthread
@@ -414,7 +413,6 @@
LIBS_unix := -lawt -ljvm -ljava $(LCMS_LIBS), \
LIBS_linux := $(LIBM), \
LIBS_macosx := $(LIBM), \
- LIBS_solaris := -lc, \
LIBS_aix := $(LIBM),\
LIBS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
))
@@ -540,7 +538,7 @@
REORDER := $(LIBAWT_HEADLESS_REORDER), \
LIBS_unix := -lawt -ljvm -ljava, \
LIBS_linux := $(LIBM) $(LIBDL), \
- LIBS_solaris := $(LIBM) $(LIBDL) $(LIBCXX) -lc, \
+ LIBS_solaris := $(LIBM) $(LIBDL) $(LIBCXX), \
))
# AIX warning explanation:
@@ -580,7 +578,6 @@
DISABLED_WARNINGS_microsoft := 4267 2220 4244, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
- LIBS_solaris := -lc, \
))
TARGETS += $(BUILD_LIBFREETYPE)
@@ -692,8 +689,6 @@
LDFLAGS_macosx := -undefined dynamic_lookup, \
LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
- LIBS_linux := -lc, \
- LIBS_solaris := -lc, \
LIBS_aix := -lawt_headless,\
LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
$(WIN_AWT_LIB), \
--- a/make/lib/CoreLibraries.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/CoreLibraries.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -118,7 +118,7 @@
MAPFILE := $(TOPDIR)/make/mapfiles/libverify/mapfile-vers, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
- LIBS_unix := -ljvm -lc, \
+ LIBS_unix := -ljvm, \
LIBS_windows := jvm.lib, \
REORDER := $(BUILD_LIBVERIFY_REORDER), \
))
@@ -169,7 +169,7 @@
-export:getErrorString -delayload:shell32.dll, \
LIBS_unix := -ljvm -lverify, \
LIBS_linux := $(LIBDL) $(BUILD_LIBFDLIBM), \
- LIBS_solaris := -lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc, \
+ LIBS_solaris := -lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM), \
LIBS_aix := $(LIBDL) $(BUILD_LIBFDLIBM) $(LIBM),\
LIBS_macosx := -lfdlibm \
-framework CoreFoundation \
@@ -225,7 +225,6 @@
-export:ZIP_ReadEntry -export:ZIP_GetNextEntry \
-export:ZIP_InflateFully -export:ZIP_CRC32 -export:ZIP_FreeEntry, \
LIBS_unix := -ljvm -ljava $(LIBZ_LIBS), \
- LIBS_solaris := -lc, \
LIBS_windows := jvm.lib $(WIN_JAVA_LIB), \
))
@@ -261,7 +260,6 @@
-export:JIMAGE_FindResource -export:JIMAGE_GetResource \
-export:JIMAGE_ResourceIterator -export:JIMAGE_ResourcePath, \
LIBS_unix := -ljvm -ldl $(LIBCXX), \
- LIBS_solaris := -lc, \
LIBS_macosx := -lc++, \
LIBS_windows := jvm.lib, \
))
@@ -369,8 +367,8 @@
-export:JLI_AddArgsFromEnvVar \
-export:JLI_GetAppArgIndex, \
LIBS_unix := $(LIBZ_LIBS), \
- LIBS_linux := $(LIBDL) -lc -lpthread, \
- LIBS_solaris := $(LIBDL) -lc, \
+ LIBS_linux := $(LIBDL) -lpthread, \
+ LIBS_solaris := $(LIBDL), \
LIBS_aix := $(LIBDL),\
LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
LIBS_windows := advapi32.lib comctl32.lib user32.lib, \
--- a/make/lib/Lib-java.prefs.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Lib-java.prefs.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -44,7 +44,7 @@
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := -ljvm, \
LIBS_linux := -ljava, \
- LIBS_solaris := -ljava -lc, \
+ LIBS_solaris := -ljava, \
LIBS_aix := -ljava, \
LIBS_macosx := -framework CoreFoundation -framework Foundation, \
LIBS_windows := advapi32.lib jvm.lib $(WIN_JAVA_LIB), \
--- a/make/lib/Lib-java.security.jgss.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Lib-java.security.jgss.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -43,7 +43,6 @@
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(LIBDL), \
- LIBS_solaris := -lc, \
))
TARGETS += $(BUILD_LIBJ2GSS)
--- a/make/lib/Lib-java.smartcardio.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Lib-java.smartcardio.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -43,7 +43,6 @@
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := $(LIBDL), \
- LIBS_solaris := -lc, \
LIBS_windows := winscard.lib, \
))
--- a/make/lib/Lib-jdk.crypto.cryptoki.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Lib-jdk.crypto.cryptoki.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -41,7 +41,6 @@
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := $(LIBDL), \
- LIBS_solaris := -lc, \
))
TARGETS += $(BUILD_LIBJ2PKCS11)
--- a/make/lib/Lib-jdk.crypto.ec.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Lib-jdk.crypto.ec.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -59,8 +59,6 @@
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(LIBCXX), \
- LIBS_linux := -lc, \
- LIBS_solaris := -lc, \
))
TARGETS += $(BUILD_LIBSUNEC)
--- a/make/lib/Lib-jdk.crypto.ucrypto.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Lib-jdk.crypto.ucrypto.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -40,7 +40,6 @@
MAPFILE := $(TOPDIR)/make/mapfiles/libj2ucrypto/mapfile-vers, \
LDFLAGS := $(LDFLAGS_JDKLIB), \
LIBS := $(LIBDL), \
- LIBS_solaris := -lc, \
))
$(BUILD_LIBJ2UCRYPTO): $(BUILD_LIBJAVA)
--- a/make/lib/Lib-jdk.hotspot.agent.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Lib-jdk.hotspot.agent.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -59,7 +59,7 @@
SA_CFLAGS := $(CFLAGS_JDKLIB)
SA_CXXFLAGS := $(CXXFLAGS_JDKLIB)
SA_LDFLAGS := -mt $(LDFLAGS_CXX_JDK)
- SA_LIBS := -ldl -ldemangle -lthread -lc -lproc
+ SA_LIBS := -ldl -ldemangle -lthread -lproc
else ifeq ($(OPENJDK_TARGET_OS), macosx)
SA_EXCLUDE_FILES := BsdDebuggerLocal.c ps_proc.c salibelf.c StubDebuggerLocal.c
--- a/make/lib/Lib-jdk.jdwp.agent.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Lib-jdk.jdwp.agent.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -47,7 +47,7 @@
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_windows := -export:jdwpTransport_OnLoad, \
LIBS_linux := -lpthread, \
- LIBS_solaris := -lnsl -lsocket -lc, \
+ LIBS_solaris := -lnsl -lsocket, \
LIBS_windows := $(JDKLIB_LIBS) ws2_32.lib, \
))
--- a/make/lib/Lib-jdk.net.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Lib-jdk.net.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -37,7 +37,7 @@
MAPFILE := $(TOPDIR)/make/mapfiles/libextnet/mapfile-solaris, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
- LIBS := -lsocket -lc -ljava, \
+ LIBS := -lsocket -ljava, \
))
$(BUILD_LIBEXTNET): $(call FindLib, java.base, java)
@@ -56,7 +56,7 @@
MAPFILE := $(TOPDIR)/make/mapfiles/libextnet/mapfile-linux, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
- LIBS := -ljvm -ljava -lc, \
+ LIBS := -ljvm -ljava, \
))
$(BUILD_LIBEXTNET): $(call FindLib, java.base, java)
--- a/make/lib/Lib-jdk.pack.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Lib-jdk.pack.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -44,7 +44,7 @@
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_windows := -map:$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/unpack.map -debug, \
- LIBS_unix := -ljvm $(LIBCXX) -ljava -lc, \
+ LIBS_unix := -ljvm $(LIBCXX) -ljava, \
LIBS_windows := jvm.lib $(WIN_JAVA_LIB), \
))
--- a/make/lib/Lib-jdk.sctp.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Lib-jdk.sctp.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -46,7 +46,7 @@
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := -lnio -lnet -ljava -ljvm, \
LIBS_linux := -lpthread $(LIBDL), \
- LIBS_solaris := -lsocket -lc, \
+ LIBS_solaris := -lsocket, \
))
TARGETS += $(BUILD_LIBSCTP)
--- a/make/lib/Lib-jdk.security.auth.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/Lib-jdk.security.auth.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -46,7 +46,6 @@
MAPFILE := $(LIBJAAS_MAPFILE), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
- LIBS_solaris := -lc, \
LIBS_windows := netapi32.lib user32.lib mpr.lib advapi32.lib $(JDKLIB_LIBS), \
))
--- a/make/lib/NetworkingLibraries.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/NetworkingLibraries.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -41,7 +41,7 @@
LDFLAGS_windows := -delayload:secur32.dll -delayload:iphlpapi.dll, \
LIBS_unix := -ljvm -ljava, \
LIBS_linux := $(LIBDL) -lpthread, \
- LIBS_solaris := -lnsl -lsocket $(LIBDL) -lc, \
+ LIBS_solaris := -lnsl -lsocket $(LIBDL), \
LIBS_aix := $(LIBDL),\
LIBS_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib winhttp.lib \
delayimp.lib $(WIN_JAVA_LIB) advapi32.lib, \
--- a/make/lib/NioLibraries.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/NioLibraries.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -70,7 +70,7 @@
LIBS_unix := -ljava -lnet, \
LIBS_linux := -lpthread $(LIBDL), \
LIBS_solaris := -ljvm -lsocket -lposix4 $(LIBDL) \
- -lsendfile -lc, \
+ -lsendfile, \
LIBS_aix := $(LIBDL), \
LIBS_macosx := \
-framework CoreFoundation -framework CoreServices, \
--- a/make/lib/SoundLibraries.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/lib/SoundLibraries.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -127,7 +127,6 @@
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := -ljava -ljvm, \
- LIBS_solaris := -lc, \
LIBS_macosx := -framework CoreAudio -framework CoreFoundation \
-framework CoreServices -framework AudioUnit $(LIBCXX) \
-framework CoreMIDI -framework AudioToolbox, \
--- a/make/test/JtregNativeHotspot.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/test/JtregNativeHotspot.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -99,29 +99,6 @@
$(TOPDIR)/test/hotspot/jtreg/runtime/StackGuardPages
endif
-ifeq ($(TOOLCHAIN_TYPE), solstudio)
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_liboverflow := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libSimpleClassFileLoadHook := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libCanGenerateAllClassHook := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libGetOwnedMonitorInfoTest := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libGetOwnedMonitorStackDepthInfoTest := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libGetNamedModuleTest := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libIsModifiableModuleTest := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libAddModuleReadsTest := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libAddModuleExportsAndOpensTest := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libAddModuleUsesAndProvidesTest := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libMAAClassFileLoadHook := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libMAAClassLoadPrepare := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libMAAThreadStart := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libAllowedFunctions := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libRedefineDoubleDelete := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libHandshakeTransitionTest := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libHasNoEntryPoint := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libReturnError := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libCNLookUp := -lc
- BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libTestCheckedEnsureLocalCapacity := -lc
-endif
-
ifeq ($(OPENJDK_TARGET_OS), linux)
BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rw := -z noexecstack
BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rwx := -z execstack
--- a/make/test/JtregNativeJdk.gmk Wed Mar 14 23:15:29 2018 +0100
+++ b/make/test/JtregNativeJdk.gmk Wed Mar 14 23:26:27 2018 +0100
@@ -49,8 +49,8 @@
#
ifneq ($(OPENJDK_TARGET_OS), windows)
- BUILD_JDK_JTREG_NATIVE_SRC += $(TOPDIR)/test/jdk/java/nio/channels/FileChannel/directio
- BUILD_JDK_JTREG_NATIVE_SRC += $(TOPDIR)/test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel
+ BUILD_JDK_JTREG_NATIVE_SRC += $(TOPDIR)/test/jdk/java/nio/channels/FileChannel/directio
+ BUILD_JDK_JTREG_NATIVE_SRC += $(TOPDIR)/test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel
endif
BUILD_JDK_JTREG_OUTPUT_DIR := $(OUTPUTDIR)/support/test/jdk/jtreg/native
@@ -58,19 +58,16 @@
BUILD_JDK_JTREG_IMAGE_DIR := $(TEST_IMAGE_DIR)/jdk/jtreg
ifeq ($(OPENJDK_TARGET_OS), windows)
- WIN_LIB_JAVA := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
- BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := $(WIN_LIB_JAVA)
-else ifeq ($(OPENJDK_TARGET_OS), linux)
- BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := -ljava
- BUILD_JDK_JTREG_LIBRARIES_LIBS_libDirectIO := -ljava
+ WIN_LIB_JAVA := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
+ BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := $(WIN_LIB_JAVA)
+else
+ BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := -ljava
+ BUILD_JDK_JTREG_LIBRARIES_LIBS_libDirectIO := -ljava
+ ifeq ($(OPENJDK_TARGET_OS), linux)
BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava
-else ifeq ($(OPENJDK_TARGET_OS), solaris)
- BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := -ljava -lc
- BUILD_JDK_JTREG_LIBRARIES_LIBS_libDirectIO := -ljava -lc
- BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava -lc
-else
- BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := -ljava
- BUILD_JDK_JTREG_LIBRARIES_LIBS_libDirectIO := -ljava
+ else ifeq ($(OPENJDK_TARGET_OS), solaris)
+ BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava
+ endif
endif
$(eval $(call SetupTestFilesCompilation, BUILD_JDK_JTREG_LIBRARIES, \
--- a/src/java.base/share/classes/java/lang/invoke/ConstantBootstraps.java Wed Mar 14 23:15:29 2018 +0100
+++ b/src/java.base/share/classes/java/lang/invoke/ConstantBootstraps.java Wed Mar 14 23:26:27 2018 +0100
@@ -104,10 +104,10 @@
*
* @param lookup the lookup context describing the class performing the
* operation (normally stacked by the JVM)
+ * @param name the name of the constant to return, which must exactly match
+ * an enum constant in the specified type.
* @param type the {@code Class} object describing the enum type for which
* a constant is to be returned
- * @param name the name of the constant to return, which must exactly match
- * an enum constant in the specified type.
* @param <E> The enum type for which a constant value is to be returned
* @return the enum constant of the specified enum type with the
* specified name
@@ -208,20 +208,25 @@
/**
* Returns the result of invoking a method handle with the provided
* arguments.
+ * <p>
+ * This method behaves as if the method handle to be invoked is the result
+ * of adapting the given method handle, via {@link MethodHandle#asType}, to
+ * adjust the return type to the desired type.
*
* @param lookup unused
* @param name unused
- * @param type the type of the value to be returned, which must be
+ * @param type the desired type of the value to be returned, which must be
* compatible with the return type of the method handle
* @param handle the method handle to be invoked
* @param args the arguments to pass to the method handle, as if with
* {@link MethodHandle#invokeWithArguments}. Each argument may be
* {@code null}.
* @return the result of invoking the method handle
- * @throws WrongMethodTypeException if the handle's return type cannot be
- * adjusted to the desired type
- * @throws ClassCastException if an argument cannot be converted by
- * reference casting
+ * @throws WrongMethodTypeException if the handle's method type cannot be
+ * adjusted to take the given number of arguments, or if the handle's return
+ * type cannot be adjusted to the desired type
+ * @throws ClassCastException if an argument or the result produced by
+ * invoking the handle cannot be converted by reference casting
* @throws Throwable anything thrown by the method handle invocation
*/
public static Object invoke(MethodHandles.Lookup lookup, String name, Class<?> type,
--- a/src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java Wed Mar 14 23:15:29 2018 +0100
+++ b/src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java Wed Mar 14 23:26:27 2018 +0100
@@ -133,7 +133,7 @@
}
static byte[] generateInvokersHolderClassBytes(String className,
- MethodType[] methodTypes) {
+ MethodType[] invokerMethodTypes, MethodType[] callSiteMethodTypes) {
HashSet<MethodType> dedupSet = new HashSet<>();
ArrayList<LambdaForm> forms = new ArrayList<>();
@@ -144,17 +144,33 @@
MethodTypeForm.LF_GEN_LINKER,
MethodTypeForm.LF_GEN_INVOKER
};
- for (int i = 0; i < methodTypes.length; i++) {
+
+ for (int i = 0; i < invokerMethodTypes.length; i++) {
// generate methods representing invokers of the specified type
- if (dedupSet.add(methodTypes[i])) {
+ if (dedupSet.add(invokerMethodTypes[i])) {
for (int type : types) {
- LambdaForm invokerForm = Invokers.invokeHandleForm(methodTypes[i],
+ LambdaForm invokerForm = Invokers.invokeHandleForm(invokerMethodTypes[i],
/*customized*/false, type);
forms.add(invokerForm);
names.add(invokerForm.kind.defaultLambdaName);
}
}
}
+
+ dedupSet = new HashSet<>();
+ for (int i = 0; i < callSiteMethodTypes.length; i++) {
+ // generate methods representing invokers of the specified type
+ if (dedupSet.add(callSiteMethodTypes[i])) {
+ LambdaForm callSiteForm = Invokers.callSiteForm(callSiteMethodTypes[i], true);
+ forms.add(callSiteForm);
+ names.add(callSiteForm.kind.defaultLambdaName);
+
+ LambdaForm methodHandleForm = Invokers.callSiteForm(callSiteMethodTypes[i], false);
+ forms.add(methodHandleForm);
+ names.add(methodHandleForm.kind.defaultLambdaName);
+ }
+ }
+
return generateCodeBytesForLFs(className,
names.toArray(new String[0]),
forms.toArray(new LambdaForm[0]));
--- a/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Wed Mar 14 23:15:29 2018 +0100
+++ b/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Wed Mar 14 23:26:27 2018 +0100
@@ -649,6 +649,8 @@
}
case EXACT_INVOKER: // fall-through
case EXACT_LINKER: // fall-through
+ case LINK_TO_CALL_SITE: // fall-through
+ case LINK_TO_TARGET_METHOD: // fall-through
case GENERIC_INVOKER: // fall-through
case GENERIC_LINKER: return resolveFrom(name, invokerType.basicType(), Invokers.Holder.class);
case GET_OBJECT: // fall-through
--- a/src/java.base/share/classes/java/lang/invoke/Invokers.java Wed Mar 14 23:15:29 2018 +0100
+++ b/src/java.base/share/classes/java/lang/invoke/Invokers.java Wed Mar 14 23:26:27 2018 +0100
@@ -523,7 +523,7 @@
}
// skipCallSite is true if we are optimizing a ConstantCallSite
- private static LambdaForm callSiteForm(MethodType mtype, boolean skipCallSite) {
+ static LambdaForm callSiteForm(MethodType mtype, boolean skipCallSite) {
mtype = mtype.basicType(); // normalize Z to I, String to Object, etc.
final int which = (skipCallSite ? MethodTypeForm.LF_MH_LINKER : MethodTypeForm.LF_CS_LINKER);
LambdaForm lform = mtype.form().cachedLambdaForm(which);
--- a/src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java Wed Mar 14 23:15:29 2018 +0100
+++ b/src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java Wed Mar 14 23:26:27 2018 +0100
@@ -1841,10 +1841,13 @@
@Override
public byte[] generateInvokersHolderClassBytes(final String className,
- MethodType[] methodTypes) {
+ MethodType[] invokerMethodTypes,
+ MethodType[] callSiteMethodTypes) {
return GenerateJLIClassesHelper
- .generateInvokersHolderClassBytes(className, methodTypes);
+ .generateInvokersHolderClassBytes(className,
+ invokerMethodTypes, callSiteMethodTypes);
}
+
});
}
--- a/src/java.base/share/classes/jdk/internal/misc/JavaLangInvokeAccess.java Wed Mar 14 23:15:29 2018 +0100
+++ b/src/java.base/share/classes/jdk/internal/misc/JavaLangInvokeAccess.java Wed Mar 14 23:26:27 2018 +0100
@@ -84,7 +84,7 @@
/**
* Returns a {@code byte[]} representation of {@code BoundMethodHandle}
* species class implementing the signature defined by {@code types}. Used
- * by GenerateBMHClassesPlugin to enable generation of such classes during
+ * by GenerateJLIClassesPlugin to enable generation of such classes during
* the jlink phase. Should do some added validation since this string may be
* user provided.
*/
@@ -99,8 +99,11 @@
/**
* Returns a {@code byte[]} representation of a class implementing
- * the invoker forms for the set of supplied {@code methodTypes}.
+ * the invoker forms for the set of supplied {@code invokerMethodTypes}
+ * and {@code callSiteMethodTypes}.
*/
byte[] generateInvokersHolderClassBytes(String className,
- MethodType[] methodTypes);
+ MethodType[] invokerMethodTypes,
+ MethodType[] callSiteMethodTypes);
+
}
--- a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/GenerateJLIClassesPlugin.java Wed Mar 14 23:15:29 2018 +0100
+++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/GenerateJLIClassesPlugin.java Wed Mar 14 23:26:27 2018 +0100
@@ -69,7 +69,9 @@
private static final String DELEGATING_HOLDER = "java/lang/invoke/DelegatingMethodHandle$Holder";
private static final String BASIC_FORMS_HOLDER = "java/lang/invoke/LambdaForm$Holder";
- private static final String INVOKERS_HOLDER = "java/lang/invoke/Invokers$Holder";
+
+ private static final String INVOKERS_HOLDER_NAME = "java.lang.invoke.Invokers$Holder";
+ private static final String INVOKERS_HOLDER_INTERNAL_NAME = INVOKERS_HOLDER_NAME.replace('.', '/');
private static final JavaLangInvokeAccess JLIA
= SharedSecrets.getJavaLangInvokeAccess();
@@ -78,6 +80,8 @@
Set<String> invokerTypes = Set.of();
+ Set<String> callSiteTypes = Set.of();
+
Map<String, Set<String>> dmhMethods = Map.of();
String mainArgument;
@@ -128,7 +132,7 @@
* @return the default invoker forms to generate.
*/
private static Set<String> defaultInvokers() {
- return Set.of("LL_L", "LL_I", "LILL_I", "L6_L");
+ return Set.of("LL_L", "LL_I", "LLLL_L", "LLLL_I", "LLIL_L", "LLIL_I", "L6_L");
}
/**
@@ -209,6 +213,8 @@
// ease finding methods in the generated code
speciesTypes = new TreeSet<>(speciesTypes);
invokerTypes = new TreeSet<>(invokerTypes);
+ callSiteTypes = new TreeSet<>(callSiteTypes);
+
TreeMap<String, Set<String>> newDMHMethods = new TreeMap<>();
for (Map.Entry<String, Set<String>> entry : dmhMethods.entrySet()) {
newDMHMethods.put(entry.getKey(), new TreeSet<>(entry.getValue()));
@@ -229,8 +235,13 @@
case "[LF_RESOLVE]":
String methodType = parts[3];
validateMethodType(methodType);
- if (parts[1].contains("Invokers")) {
- invokerTypes.add(methodType);
+ if (parts[1].equals(INVOKERS_HOLDER_NAME)) {
+ if ("linkToTargetMethod".equals(parts[2]) ||
+ "linkToCallSite".equals(parts[2])) {
+ callSiteTypes.add(methodType);
+ } else {
+ invokerTypes.add(methodType);
+ }
} else if (parts[1].contains("DirectMethodHandle")) {
String dmh = parts[2];
// ignore getObject etc for now (generated
@@ -294,10 +305,11 @@
// Copy all but DMH_ENTRY to out
in.transformAndCopy(entry -> {
// filter out placeholder entries
- if (entry.path().equals(DIRECT_METHOD_HOLDER_ENTRY) ||
- entry.path().equals(DELEGATING_METHOD_HOLDER_ENTRY) ||
- entry.path().equals(INVOKERS_HOLDER_ENTRY) ||
- entry.path().equals(BASIC_FORMS_HOLDER_ENTRY)) {
+ String path = entry.path();
+ if (path.equals(DIRECT_METHOD_HOLDER_ENTRY) ||
+ path.equals(DELEGATING_METHOD_HOLDER_ENTRY) ||
+ path.equals(INVOKERS_HOLDER_ENTRY) ||
+ path.equals(BASIC_FORMS_HOLDER_ENTRY)) {
return null;
} else {
return entry;
@@ -361,23 +373,40 @@
index++;
}
}
+
+ // The invoker type to ask for is retrieved by removing the first
+ // and the last argument, which needs to be of Object.class
MethodType[] invokerMethodTypes = new MethodType[this.invokerTypes.size()];
int i = 0;
for (String invokerType : invokerTypes) {
- // The invoker type to ask for is retrieved by removing the first
- // and the last argument, which needs to be of Object.class
MethodType mt = asMethodType(invokerType);
final int lastParam = mt.parameterCount() - 1;
if (mt.parameterCount() < 2 ||
mt.parameterType(0) != Object.class ||
mt.parameterType(lastParam) != Object.class) {
throw new PluginException(
- "Invoker type parameter must start and end with L");
+ "Invoker type parameter must start and end with Object: " + invokerType);
}
mt = mt.dropParameterTypes(lastParam, lastParam + 1);
invokerMethodTypes[i] = mt.dropParameterTypes(0, 1);
i++;
}
+
+ // The callSite type to ask for is retrieved by removing the last
+ // argument, which needs to be of Object.class
+ MethodType[] callSiteMethodTypes = new MethodType[this.callSiteTypes.size()];
+ i = 0;
+ for (String callSiteType : callSiteTypes) {
+ MethodType mt = asMethodType(callSiteType);
+ final int lastParam = mt.parameterCount() - 1;
+ if (mt.parameterCount() < 1 ||
+ mt.parameterType(lastParam) != Object.class) {
+ throw new PluginException(
+ "CallSite type parameter must end with Object: " + callSiteType);
+ }
+ callSiteMethodTypes[i] = mt.dropParameterTypes(lastParam, lastParam + 1);
+ i++;
+ }
try {
byte[] bytes = JLIA.generateDirectMethodHandleHolderClassBytes(
DIRECT_HOLDER, directMethodTypes, dmhTypes);
@@ -390,8 +419,8 @@
ndata = ResourcePoolEntry.create(DELEGATING_METHOD_HOLDER_ENTRY, bytes);
out.add(ndata);
- bytes = JLIA.generateInvokersHolderClassBytes(INVOKERS_HOLDER,
- invokerMethodTypes);
+ bytes = JLIA.generateInvokersHolderClassBytes(INVOKERS_HOLDER_INTERNAL_NAME,
+ invokerMethodTypes, callSiteMethodTypes);
ndata = ResourcePoolEntry.create(INVOKERS_HOLDER_ENTRY, bytes);
out.add(ndata);
@@ -409,7 +438,7 @@
private static final String BASIC_FORMS_HOLDER_ENTRY =
"/java.base/" + BASIC_FORMS_HOLDER + ".class";
private static final String INVOKERS_HOLDER_ENTRY =
- "/java.base/" + INVOKERS_HOLDER + ".class";
+ "/java.base/" + INVOKERS_HOLDER_INTERNAL_NAME + ".class";
// Convert LL -> LL, L3 -> LLL
public static String expandSignature(String signature) {