Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge jdk #1281

Closed
wants to merge 74 commits into from
Closed
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
6644dd3
8338760: Adjust the comment after UseObjectMonitorTable
Aug 22, 2024
129f527
8338290: Xcode project generator for hotspot
magicus Aug 22, 2024
6cf7f9c
8338662: Shenandoah: Remove excessive ShenandoahVerifier::verify_duri…
shipilev Aug 22, 2024
6041c93
8335664: Parsing jsr broken: assert(bci>= 0 && bci < c->method()->cod…
Aug 22, 2024
0b5c887
8338380: Update TLSCommon/interop/AbstractServer to specify an interf…
Aug 22, 2024
813546f
8338856: [BACKOUT] JDK-8337828: CDS: Trim down minimum GC region alig…
shipilev Aug 22, 2024
c89a1c3
8338696: (fs) BasicFileAttributes.creationTime() falls back to epoch …
Aug 22, 2024
ea33709
8328880: Events::log_exception should limit the size of the logging m…
Aug 23, 2024
e06652a
8338810: PPC, s390x: LightweightSynchronizer::exit asserts, missing lock
xmas92 Aug 23, 2024
8e0d019
8338630: Test java/nio/channels/DatagramChannel/SendReceiveMaxSize.ja…
Aug 23, 2024
9cbf685
8337658: ZGC: Move soft reference handling out of the driver loop fun…
stefank Aug 23, 2024
a5e2800
8338834: Remove unused import declarations in java.compiler
Aug 23, 2024
fead3cf
8338745: Intrinsify Continuation.pin() and Continuation.unpin()
Aug 23, 2024
69bd227
8338417: Explicitly pin a virtual thread before acquiring the JFR str…
Aug 23, 2024
965dd1a
8333334: C2: Make result of `Node::dominates` more precise to enhance…
MaxXSoft Aug 23, 2024
21d1e4d
8338819: JFR: Internal events causes crash when no other events are i…
egahlin Aug 23, 2024
916f1aa
8329756: [macos] "javax/swing/JTable/KeyBoardNavigation.java" fail be…
Aug 23, 2024
a461369
8338700: AttributeMapper type parameter should be bounded by Attribute
liach Aug 23, 2024
23dc3b0
8324048: (fc) Make FileKey fields final
Aug 23, 2024
5d12ac3
8337715: Update --release 23 symbol information for JDK 23 build 37
jddarcy Aug 23, 2024
32b3d70
8338925: ProblemList runtime/interpreter/LastJsrTest.java on linux-all
Aug 23, 2024
5671f83
8338785: The java.awt.datatransfer.SystemFlavorMap#FLAVOR_MAP_KEY fie…
mrserb Aug 24, 2024
0c14579
8336830: C2: assert(get_loop(lca)->_nest < n_loop->_nest || lca->in(0…
rwestrel Aug 26, 2024
ce83f6a
8338844: C2: remove useless code in PhaseIdealLoop::place_outside_loo…
rwestrel Aug 26, 2024
20d8f58
8331671: Implement JEP 472: Prepare to Restrict the Use of JNI
mcimadamore Aug 26, 2024
e63418e
8338979: Avoid bootstrapped switches in the classfile API
cl4es Aug 26, 2024
3f00da8
8338906: Avoid passing EnumDescs and extra classes to type switch met…
cl4es Aug 26, 2024
a15af69
8338538: [JVMCI] Allow HotSpotJVMCIRuntime#getJObjectValue to be call…
tzezula Aug 26, 2024
0c744ea
8338928: Update SwingSet2 "About" image to reference openjdk.org
prrace Aug 26, 2024
5ecbecf
8338936: StringConcatFactory optimize the construction of MethodType …
wenshao Aug 26, 2024
a827ff0
8335577: runtime/cds/appcds/TestParallelGCWithCDS.java still fails wi…
calvinccheung Aug 26, 2024
16df090
8338947: Deprecate the UseLinuxPosixThreadCPUClocks flag and remove i…
Aug 26, 2024
78f53ef
8338938: The result of the combine method of SettingsControl is not used
chiroito Aug 27, 2024
cd9e241
8336289: Obliterate most references to _snprintf in the Windows JDK
TheShermanTanker Aug 27, 2024
b8e8e96
8338668: Test javax/swing/JFileChooser/8080628/bug8080628.java doesn'…
Aug 27, 2024
b704bfa
8298920: Improve microbenchmark build times
lahodaj Aug 27, 2024
aefdbdc
8338727: RISC-V: Avoid synthetic data dependency in nmethod barrier o…
robehn Aug 27, 2024
2edf574
8338814: [PPC64] Unify interface of cmpxchg for different types
TheRealMDoerr Aug 27, 2024
d5c6158
8338389: [JFR] Long strings should be added to the string pool
jaokim Aug 27, 2024
414d23c
8338765: ScheduledThreadPoolExecutor struggles with extremely long de…
Aug 27, 2024
b25095b
8338728: Misc issues in memory layout javadoc
mcimadamore Aug 27, 2024
0f66710
8338939: Simplify processing of hidden class names
Aug 27, 2024
1ff5f8d
8338440: Parallel: Improve fragmentation mitigation in Full GC
albertnetymk Aug 27, 2024
fa4ff78
8338690: CompactNumberInstance.format incorrectly formats some number…
naotoj Aug 27, 2024
daf2617
8338929: Make Metaspace::deallocate space-aware
tstuefe Aug 27, 2024
44d3a68
8314124: RISC-V: implement Base64 intrinsic - decoding
Aug 27, 2024
2e96f15
8338489: Typo in MemorySegment doc
minborg Aug 27, 2024
284c3cd
8336299: Improve GCLocker stall diagnostics
Aug 27, 2024
b1b4cd4
8332158: [XWayland] test/jdk/java/awt/Mouse/EnterExitEvents/ResizingF…
Aug 27, 2024
449ca2c
8337832: Optimize datetime toString
wenshao Aug 27, 2024
8e88da0
8338041: Keyboard Navigation of JTable, Ctrl Shift RIGHT/LEFT doesn't…
Aug 28, 2024
2e174c6
8338445: jdk.internal.loader.URLClassPath may leak JarFile instance w…
jaikiran Aug 28, 2024
1ff9ac7
8338731: MemoryLayout::offsetHandle can return a negative offset
mcimadamore Aug 28, 2024
2150521
8322036: Improve help output from the javadoc tool
nizarbenalla Aug 28, 2024
9d183bd
8339149: jfr_flush_event_writer - return value type mismatch
Aug 28, 2024
32c9750
8339160: [BACKOUT] JDK-8338440 Parallel: Improve fragmentation mitiga…
albertnetymk Aug 28, 2024
b670009
8338729: Retire the test jdk/java/util/zip/TestZipError.java
Aug 28, 2024
379f3db
8339175: ProblemList runtime/interpreter/LastJsrTest.java on all plat…
Aug 28, 2024
0c2b175
8328608: Multiple NewSessionTicket support for TLS
Aug 28, 2024
3d49fb8
8338103: Stabilize and open source a Swing OGL ButtonResizeTest
Aug 28, 2024
a98ecad
8338897: Small startup regression remains after JDK-8309622 and JDK-8…
cl4es Aug 28, 2024
eff6d9c
8339167: Remove AbstractPoolEntry.PrimitiveEntry to reduce boxing ove…
cl4es Aug 28, 2024
d03ec7a
8339030: frame::print_value_on(outputStream* st, JavaThread *thread) …
lmesnik Aug 28, 2024
d08b5bd
8258483: [TESTBUG] gtest CollectorPolicy.young_scaled_initial_ergo_vm…
lmesnik Aug 28, 2024
a8ac287
8339126: JNI exception pending in Inflater.c
Aug 28, 2024
72a4900
8338888: SystemDictionary::class_name_symbol has incorrect length check
Aug 28, 2024
26e3d53
8338716: Re-visit "interrupt handling" in jdk.internal.loader.Resource
Aug 28, 2024
0ddcd70
8335120: assert(!target->can_be_statically_bound() || target == cha_m…
dean-long Aug 29, 2024
eb7ead5
8336873: BasicSplitPaneDivider:oneTouchExpandableChanged() should men…
prsadhuk Aug 29, 2024
1383fec
8327381: Refactor type-improving transformations in BoolNode::Ideal t…
tabjy Aug 29, 2024
0b4a7d5
8324859: Improve error recovery
lahodaj Aug 29, 2024
ff59532
8338678: Erroneous parameterized type represented as <any>
lahodaj Aug 29, 2024
01e9569
Merge tag 'jdk-24+13' into lworld_merge_jdk_24_13
MrSimms Oct 17, 2024
6339992
Adjust testing
MrSimms Oct 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 12 additions & 0 deletions make/Main.gmk
Original file line number Diff line number Diff line change
@@ -278,6 +278,18 @@ $(eval $(call SetupTarget, eclipse-mixed-env, \
ARGS := --always-make, \
))

$(eval $(call SetupTarget, hotspot-xcode-project, \
MAKEFILE := ide/xcode/hotspot/CreateXcodeProject, \
TARGET := build, \
DEPS := hotspot compile-commands-hotspot jdk-image, \
))

$(eval $(call SetupTarget, open-hotspot-xcode-project, \
MAKEFILE := ide/xcode/hotspot/CreateXcodeProject, \
TARGET := open, \
DEPS := hotspot-xcode-project, \
))

ALL_TARGETS += $(HOTSPOT_VARIANT_TARGETS) $(HOTSPOT_VARIANT_GENSRC_TARGETS) \
$(HOTSPOT_VARIANT_LIBS_TARGETS) $(HOTSPOT_VARIANT_STATIC_LIBS_TARGETS)

5 changes: 5 additions & 0 deletions make/common/FileUtils.gmk
Original file line number Diff line number Diff line change
@@ -189,6 +189,11 @@ else
endef
endif

define copy-and-chmod-executable
$(install-file)
$(CHMOD) a+rx $@
endef

################################################################################

# Recursive wildcard function. Walks down directories recursively and matches
36 changes: 20 additions & 16 deletions make/common/JavaCompilation.gmk
Original file line number Diff line number Diff line change
@@ -282,8 +282,26 @@ define SetupJavaCompilationBody
$1_FLAGS += -Xlint:$$(call CommaList, $$(addprefix -, $$($1_DISABLED_WARNINGS)))
endif

ifneq ($$($1_CLASSPATH), )
$1_FLAGS += -cp $$(call PathList, $$($1_CLASSPATH))
$1_AUGMENTED_CLASSPATH := $$($1_CLASSPATH)
$1_API_TARGET := $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1_pubapi
$1_API_INTERNAL := $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1_internalapi

ifeq ($$($1_CREATE_API_DIGEST), true)
$1_API_DIGEST_FLAGS := \
-Xplugin:"depend $$($1_API_TARGET)" \
"-XDinternalAPIPath=$$($1_API_INTERNAL)" \
"-XDLOG_LEVEL=$(LOG_LEVEL)" \
#

$1_EXTRA_DEPS := $$(BUILDTOOLS_OUTPUTDIR)/depend/_the.COMPILE_DEPEND_batch
# including the compilation output on the classpath, so that incremental
# compilations in unnamed module can refer to other classes from the same
# source root, which are not being recompiled in this compilation:
$1_AUGMENTED_CLASSPATH += $$(BUILDTOOLS_OUTPUTDIR)/depend $$($1_BIN)
endif

ifneq ($$($1_AUGMENTED_CLASSPATH), )
$1_FLAGS += -cp $$(call PathList, $$($1_AUGMENTED_CLASSPATH))
endif

# Make sure the dirs exist, or that one of the EXTRA_FILES, that may not
@@ -411,9 +429,6 @@ define SetupJavaCompilationBody
$1_MODFILELIST := $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1_batch.modfiles
$1_MODFILELIST_FIXED := $$($1_MODFILELIST).fixed

$1_API_TARGET := $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1_pubapi
$1_API_INTERNAL := $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1_internalapi

# Put headers in a temp dir to filter out those that actually
# changed before copying them to the real header dir.
ifneq (,$$($1_HEADERS))
@@ -442,17 +457,6 @@ define SetupJavaCompilationBody
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1.vardeps)

ifeq ($$($1_CREATE_API_DIGEST), true)
$1_API_DIGEST_FLAGS := \
-classpath $$(BUILDTOOLS_OUTPUTDIR)/depend \
-Xplugin:"depend $$($1_API_TARGET)" \
"-XDinternalAPIPath=$$($1_API_INTERNAL)" \
"-XDLOG_LEVEL=$(LOG_LEVEL)" \
#

$1_EXTRA_DEPS := $$(BUILDTOOLS_OUTPUTDIR)/depend/_the.COMPILE_DEPEND_batch
endif

# Create a file with all sources, to pass to javac in an @file.
# $$($1_VARDEPS_FILE) is used as dependency to track changes in set of
# list of files.
2 changes: 1 addition & 1 deletion make/common/NativeCompilation.gmk
Original file line number Diff line number Diff line change
@@ -222,7 +222,7 @@ define SetupNativeCompilationBody

ifeq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
# Override all targets (this is a hack)
$1 := $$($1_ALL_OBJS_JSON)
$1 := $$($1_ALL_OBJS_JSON) $$($1_LDFLAGS_FILE)
endif
endef

12 changes: 12 additions & 0 deletions make/common/native/Link.gmk
Original file line number Diff line number Diff line change
@@ -198,4 +198,16 @@ define CreateDynamicLibraryOrExecutable
$(CODESIGN) -f -s $$($1_CODESIGN_OPTS) --entitlements \
$$(call GetEntitlementsFile, $$@) $$@)
endif

# This is for IDE integration purposes only, and is not normally generated
$1_LDFLAGS_FILE := $$(MAKESUPPORT_OUTPUTDIR)/compile-commands/$$($1_NAME)-ldflags.txt

$1_ALL_LD_ARGS := $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
$$($1_LIBS) $$($1_EXTRA_LIBS)

$$($1_LDFLAGS_FILE): $$($1_VARDEPS_FILE)
$$(call LogInfo, Creating compile commands linker flags output for $$($1_BASENAME))
$$(call MakeDir, $$(dir $$@))
$$(ECHO) $$($1_ALL_LD_ARGS) > $$@

endef
32 changes: 5 additions & 27 deletions make/conf/module-loader-map.conf
Original file line number Diff line number Diff line change
@@ -94,48 +94,26 @@ PLATFORM_MODULES_windows= \

NATIVE_ACCESS_MODULES= \
java.base \
java.datatransfer \
java.desktop \
java.instrument \
java.logging \
java.management \
java.management.rmi \
java.naming \
java.net.http \
java.prefs \
java.rmi \
java.scripting \
java.se \
java.security.jgss \
java.security.sasl \
java.smartcardio \
java.sql \
java.sql.rowset \
java.transaction.xa \
java.xml \
java.xml.crypto \
jdk.accessibility \
jdk.charsets \
jdk.attach \
jdk.crypto.cryptoki \
jdk.dynalink \
jdk.httpserver \
jdk.incubator.vector \
jdk.crypto.mscapi \
jdk.hotspot.agent \
jdk.internal.le \
jdk.internal.vm.ci \
jdk.jdi \
jdk.jfr \
jdk.jsobject \
jdk.localedata \
jdk.jpackage \
jdk.management \
jdk.management.agent \
jdk.management.jfr \
jdk.naming.dns \
jdk.naming.rmi \
jdk.net \
jdk.nio.mapmode \
jdk.sctp \
jdk.security.auth \
jdk.security.jgss \
jdk.unsupported \
jdk.xml.dom \
jdk.zipfs \
#
4 changes: 2 additions & 2 deletions make/ide/visualstudio/hotspot/CreateVSProject.gmk
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2023, 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
@@ -83,7 +83,7 @@ ifeq ($(call isTargetOs, windows), true)
################################################################################
# Build the ProjectCreator java tool.

TOOLS_OUTPUTDIR := $(HOTSPOT_OUTPUTDIR)/support/ide_classes
TOOLS_OUTPUTDIR := $(MAKESUPPORT_OUTPUTDIR)/ide/visualstudio

$(eval $(call SetupJavaCompilation, BUILD_PROJECT_CREATOR, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
112 changes: 112 additions & 0 deletions make/ide/xcode/hotspot/CreateXcodeProject.gmk
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
#
# 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
# 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 must be the first rule
default: all

include $(SPEC)
include MakeBase.gmk
include CopyFiles.gmk
include Execute.gmk
include JavaCompilation.gmk

ifeq ($(call isTargetOs, macosx), true)
##############################################################################
# Build the XcodeProjectMaker java tool.

PROJECT_MAKER_DIR := $(TOPDIR)/make/ide/xcode/hotspot
TOOLS_OUTPUTDIR := $(MAKESUPPORT_OUTPUTDIR)/ide/xcode
IDE_OUTPUTDIR := $(OUTPUTDIR)/xcode
PROJECT_FILE_NAME := hotspot.xcodeproj

COMPILE_COMMAND_FILE := $(OUTPUTDIR)/compile_commands.json
LINKER_FLAGS_FILE := $(MAKESUPPORT_OUTPUTDIR)/compile-commands/jvm-ldflags.txt

$(eval $(call SetupJavaCompilation, BUILD_PROJECT_CREATOR, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := $(PROJECT_MAKER_DIR)/src/classes, \
BIN := $(TOOLS_OUTPUTDIR), \
DISABLED_WARNINGS := rawtypes unchecked serial, \
))

TARGETS += $(BUILD_PROJECT_CREATOR)

# Run the XcodeProjectMaker tool
PROJECT_CREATOR_TOOL := $(JAVA_SMALL) -cp $(TOOLS_OUTPUTDIR) XcodeProjectMaker

ifneq ($(findstring $(LOG_LEVEL), debug trace), )
XCODE_PROJ_DEBUG_OPTION := -d
endif

XCODE_PROJ_VARDEPS := $(WORKSPACE_ROOT) $(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)

$(eval $(call SetupExecute, build_xcode_project, \
WARN := Generating Xcode project file, \
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) \
$(PROJECT_MAKER_DIR)/data $(COMPILE_COMMAND_FILE) \
$(LINKER_FLAGS_FILE) $(XCODE_PROJ_DEBUG_OPTION), \
))

TARGETS += $(build_xcode_project)

$(eval $(call SetupCopyFiles, copy_xcode_project, \
DEST := $(IDE_OUTPUTDIR), \
FILES := $(PROJECT_MAKER_DIR)/data/script_before.sh $(PROJECT_MAKER_DIR)/data/script_after.sh , \
MACRO := copy-and-chmod-executable, \
))

TARGETS += $(copy_xcode_project)

$(eval $(call SetupExecute, open_xcode_project, \
INFO := Opening Xcode project file, \
DEPS := $(build_xcodeproject_TARGET) FORCE, \
OUTPUT_DIR := $(TOOLS_OUTPUTDIR), \
COMMAND := open $(IDE_OUTPUTDIR)/$(PROJECT_FILE_NAME), \
))

TARGETS += $(open_xcode_project)

# Always call open without considering dependencies being up to date
FORCE:

build: $(build_xcode_project) $(copy_xcode_project)

open: $(open_xcode_project)

all: $(TARGETS)
else
build:
open:
all:
$(info Xcode projects are only supported on macOS)
endif

.PHONY: default all build open
41 changes: 41 additions & 0 deletions make/ide/xcode/hotspot/data/Breakpoints_v2.xcbkptlist.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
type = "4"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "Yes"
symbolName = "load_jimage_library"
moduleName = "libjvm.dylib">
<Actions>
<BreakpointActionProxy
ActionExtensionID = "Xcode.BreakpointAction.DebuggerCommand">
<ActionContent
consoleCommand = "process handle -n true -p true -s false SIGSEGV SIGBUS SIGUSR2">
</ActionContent>
</BreakpointActionProxy>
</Actions>
<Locations>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "ClassLoader::load_jimage_library()"
moduleName = "libjvm.dylib"
usesParentBreakpointCondition = "Yes"
timestampString = "0"
startingColumnNumber = "0"
endingColumnNumber = "0"
startingLineNumber = "0"
endingLineNumber = "0"
offsetFromSymbolStart = "0">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>
Loading