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 openjdk/jdk:master #483

Closed
wants to merge 144 commits into from
Closed
Changes from 31 commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
f536f5a
8336086: G1: Use one G1CardSet instance for all young regions
Aug 15, 2024
da7311b
8338286: GHA: Demote x86_32 to hotspot build only
shipilev Aug 15, 2024
74fdd68
8333791: Fix memory barriers for @Stable fields
shipilev Aug 15, 2024
56dec21
8338014: Improve usage of @jvms tags in class file API
Aug 15, 2024
3859131
8338442: AArch64: Clean up IndOffXX type and let legitimize_address()…
Aug 15, 2024
6169613
8336655: java/net/httpclient/DigestEchoClient.java IOException: HTTP/…
dfuch Aug 15, 2024
7d1bbff
8328553: Get rid of JApplet in test/jdk/sanity/client/lib/SwingSet2/s…
lawrence-andrew Aug 15, 2024
ef54af3
8338444: Shenandoah: Remove ShenandoahHumongousThreshold tunable
shipilev Aug 15, 2024
e51e40c
8336914: Shenandoah: Missing verification steps after JDK-8255765
satyenme Aug 15, 2024
f308b2d
8336915: Shenandoah: Remove unused ShenandoahVerifier::verify_after_e…
satyenme Aug 15, 2024
9655082
8338330: Fix -Wzero-as-null-pointer-constant warnings from THROW_XXX_0
Aug 15, 2024
ace4965
8338406: BytecodeHelpers using wrong bootstrap method descriptor for …
liach Aug 15, 2024
52d9d69
8338331: Fix -Wzero-as-null-pointer-constant warnings from CHECK_0 in…
Aug 15, 2024
1cd4884
8338447: Remove InstanceKlass::_is_marked_dependent
coleenp Aug 15, 2024
d86e99c
8293650: Shenandoah: Support archived heap objects
shipilev Aug 15, 2024
74066bc
8338409: Use record to simplify code
wenshao Aug 15, 2024
bd4160c
8315884: New Object to ObjectMonitor mapping
xmas92 Aug 16, 2024
60c9b5c
8337839: Make a few fields in MergeCollation static
Aug 16, 2024
ddbc0b6
8338495: Revert "8336655: java/net/httpclient/DigestEchoClient.java I…
dfuch Aug 16, 2024
5022109
8336856: Efficient hidden class-based string concatenation strategy
wenshao Aug 16, 2024
07352c6
8338398: Trivially fix grammar and typos
Aug 16, 2024
961e944
8336754: Remodel TypeAnnotation to "has" instead of "be" an Annotation
liach Aug 16, 2024
8635642
8338469: com/sun/jdi/DataDumpTest.java failed with Not a debuggee, or…
plummercj Aug 16, 2024
2f7ba78
8335150: Test LogGeneratedClassesTest.java fails on rpmbuild mock env…
Aug 19, 2024
56a007d
8338488: Add screen capture for failure case
Aug 19, 2024
15b20cb
8337886: java/awt/Frame/MaximizeUndecoratedTest.java fails in OEL due…
Aug 19, 2024
f0374a0
8337987: Relocate jfr and throw_exception stubs from StubGenerator to…
adinn Aug 19, 2024
6d430f2
8338314: JFR: Split JFRCheckpoint VM operation
shipilev Aug 19, 2024
e07a5b6
8338512: JFR: Revert changes to TestCodeSweeper
egahlin Aug 19, 2024
6ff6b09
8290501: Typo in javax.swing.BoundedRangeModel documentation
Renjithkannath Aug 19, 2024
f0fe313
8338564: Remove obsolete AbstractNamedEntry::equals method
asotona Aug 19, 2024
2766b09
8338452: (dc) DatagramChannelImpl.blockingReceive with timeout may bl…
Aug 19, 2024
3ca359a
8335771: Improve stability of java/nio/channels/DatagramChannel tests
dfuch Aug 19, 2024
6460b30
8321140: Add comment to note difference in Metal's JButton margins
Aug 19, 2024
c7690c3
8338190: TOC vertical offsets not updated when document size changes
hns Aug 19, 2024
55851a3
8281533: Odd "preview" label in link/linkplain
hns Aug 19, 2024
68d1f5c
8338543: ClassBuilder withMethod builders should cache the method typ…
liach Aug 20, 2024
9775d57
8338139: {ClassLoading,Memory}MXBean::isVerbose methods are inconsist…
stefank Aug 20, 2024
b9d49dc
8337981: ShenandoahHeap::is_in should check for alive regions
shipilev Aug 20, 2024
89ca5b6
8338365: [PPC64, s390] Out-of-bounds array access in secondary_super_…
offamitkumar Aug 20, 2024
7933e45
8338550: Do libubsan1 installation in test container only if requested
MBaesken Aug 20, 2024
01d03e0
8324209: Check implementation of Expect: 100-continue in the java.net…
Aug 20, 2024
686eb23
8336817: Several methods on DatagramSocket and MulticastSocket do not…
jaikiran Aug 20, 2024
bc2700b
8282944: GHA: Add Alpine Linux x86_64 pre-integration check
gdams Aug 20, 2024
b442003
8338623: StackCounter adding extraneous slots for receiver invoke ins…
liach Aug 20, 2024
55a97ec
8336729: C2: Div/Mod nodes without zero check could be split through …
chhagedorn Aug 20, 2024
285ceb9
8336529: (fs) UnixFileAttributeViews setTimes() failing on armhf, Ubu…
Aug 20, 2024
c646efc
8205957: setfldw001/TestDescription.java fails with bad field value
lmesnik Aug 20, 2024
0267284
8338611: java.lang.module specification wording not aligned with JEP 261
mbreinhold Aug 20, 2024
1ebf2cf
8336756: Improve ClassFile Annotation writing
liach Aug 20, 2024
d728107
8338482: com/sun/jdi/ThreadMemoryLeakTest.java requires that compress…
plummercj Aug 20, 2024
88ccbb6
8336934: Clean up JavaLangReflectAccess
liach Aug 21, 2024
cafb3dc
6318027: BasicScrollBarUI does not disable timer when enclosing frame…
prsadhuk Aug 21, 2024
5981697
8337828: CDS: Trim down minimum GC region alignment
shipilev Aug 21, 2024
e88a3b0
8338661: StackMapTable is invalid if frames appear in dead code
asotona Aug 21, 2024
715fa8f
8336498: [macos] [build]: install-file macro may run into permission …
RealLucy Aug 21, 2024
c4cf1e9
8338539: New Object to ObjectMonitor mapping: riscv64 implementation
zifeihan Aug 21, 2024
7458952
8338595: Add more linesize for MIME decoder in macro bench test Base6…
Aug 21, 2024
80adea8
8338545: Functional interface implementations for common pre-boot Cla…
liach Aug 21, 2024
918cf11
8338490: Serial: Move Generation::print_on to subclasses
albertnetymk Aug 21, 2024
3aeb673
8338532: Speed up the ClassFile API MethodTypeDesc#ofDescriptor
wenshao Aug 21, 2024
0e8fe35
8338677: Improve startup of memory access var handles by simplifying …
mcimadamore Aug 21, 2024
e297e88
8338688: Shenandoah: Avoid calling java_lang_Class accessors in asser…
shipilev Aug 21, 2024
ab8071d
8338146: Improve Exchanger performance with VirtualThreads
Aug 21, 2024
47c8a6a
8333265: De-duplicate method references in java.util.stream.FindOps
cl4es Aug 21, 2024
1d05989
8334357: Use NonInterleavingLogStream for report_metadata_oome
xmas92 Aug 22, 2024
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
19d9c58
Merge remote-tracking branch 'shenandoah/master' into merge-jdk-24+12
earthling-amzn 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
67aabca
Use when sanity checking
earthling-amzn 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
2f79caf
Fix merge issues
earthling-amzn Aug 27, 2024
449ca2c
8337832: Optimize datetime toString
wenshao Aug 27, 2024
7847a38
Disable CDS support for Shenandoah
earthling-amzn Aug 28, 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
61ef37a
Disable CDS only for generational mode (need to fix card table)
earthling-amzn 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
2751b36
Merge tag 'jdk-24+13' into merge-jdk-24+12
earthling-amzn Aug 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
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
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>
112 changes: 112 additions & 0 deletions make/ide/xcode/hotspot/data/jvm.xcscheme.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0900"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D60000000000000000000000"
BuildableName = "libjvm.dylib"
BlueprintName = "jvm"
ReferencedContainer = "container:hotspot.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D60000000000000000000000"
BuildableName = "libjvm.dylib"
BlueprintName = "jvm"
ReferencedContainer = "container:hotspot.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<PathRunnable
runnableDebuggingMode = "0"
FilePath = "TEMPLATE_JDK_PATH/build/jdk/bin/java">
</PathRunnable>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D60000000000000000000000"
BuildableName = "libjvm.dylib"
BlueprintName = "jvm"
ReferencedContainer = "container:hotspot.xcodeproj">
</BuildableReference>
</MacroExpansion>
<CommandLineArguments>
<CommandLineArgument
argument = "-version"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
<EnvironmentVariables>
<EnvironmentVariable
key = "DYLD_PRINT_ENV"
value = "1"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<PathRunnable
runnableDebuggingMode = "0"
FilePath = "TEMPLATE_JDK_PATH/build/jdk/bin/java">
</PathRunnable>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D60000000000000000000000"
BuildableName = "libjvm.dylib"
BlueprintName = "jvm"
ReferencedContainer = "container:hotspot.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Release">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Loading