Skip to content

Commit b47055e

Browse files
Merge tag 'jdk-25+20' into labsjdk/adopt-jdk-25+20-master
Added tag jdk-25+20 for changeset 953eef4
2 parents 3da3701 + 953eef4 commit b47055e

File tree

1,025 files changed

+33470
-7764
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,025 files changed

+33470
-7764
lines changed

doc/building.html

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1722,6 +1722,20 @@ <h4 id="building-for-musl">Building for musl</h4>
17221722
--with-devkit=$DEVKIT \
17231723
--with-sysroot=$SYSROOT</code></pre>
17241724
<p>and run <code>make</code> normally.</p>
1725+
<h4 id="building-for-windows-aarch64">Building for Windows AArch64</h4>
1726+
<p>The Visual Studio Build Tools can be used for building the JDK
1727+
without a full Visual Studio installation. To set up the Visual Studio
1728+
2022 Build Tools on a Windows AArch64 machine for a native build, launch
1729+
the installer as follows in a Windows command prompt:</p>
1730+
<pre><code>vs_buildtools.exe --quiet --wait --norestart --nocache ^
1731+
--installPath &quot;%ProgramFiles(x86)%\Microsoft Visual Studio\2022\BuildTools&quot; ^
1732+
--add Microsoft.VisualStudio.Component.VC.CoreBuildTools ^
1733+
--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 ^
1734+
--add Microsoft.VisualStudio.Component.Windows11SDK.22621</code></pre>
1735+
<p>To generate Windows AArch64 builds using Cygwin on a Windows x64
1736+
machine, you must set the proper target platform by adding
1737+
<code>--openjdk-target=aarch64-unknown-cygwin</code> to your configure
1738+
command line.</p>
17251739
<h2 id="build-performance">Build Performance</h2>
17261740
<p>Building the JDK requires a lot of horsepower. Some of the build
17271741
tools can be adjusted to utilize more or less of resources such as

doc/building.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1457,6 +1457,24 @@ sh ./configure --with-jvm-variants=server \
14571457

14581458
and run `make` normally.
14591459

1460+
#### Building for Windows AArch64
1461+
The Visual Studio Build Tools can be used for building the JDK without a full
1462+
Visual Studio installation. To set up the Visual Studio 2022 Build Tools on a
1463+
Windows AArch64 machine for a native build, launch the installer as follows
1464+
in a Windows command prompt:
1465+
1466+
```
1467+
vs_buildtools.exe --quiet --wait --norestart --nocache ^
1468+
--installPath "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\BuildTools" ^
1469+
--add Microsoft.VisualStudio.Component.VC.CoreBuildTools ^
1470+
--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 ^
1471+
--add Microsoft.VisualStudio.Component.Windows11SDK.22621
1472+
```
1473+
1474+
To generate Windows AArch64 builds using Cygwin on a Windows x64 machine,
1475+
you must set the proper target platform by adding
1476+
`--openjdk-target=aarch64-unknown-cygwin` to your configure command line.
1477+
14601478
## Build Performance
14611479

14621480
Building the JDK requires a lot of horsepower. Some of the build tools can be

make/RunTests.gmk

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -929,6 +929,11 @@ define SetupRunJtregTestBody
929929
JTREG_AUTO_PROBLEM_LISTS += ProblemList-shenandoah.txt
930930
endif
931931

932+
ifneq ($$(findstring --enable-preview, $$(JTREG_ALL_OPTIONS)), )
933+
JTREG_AUTO_PROBLEM_LISTS += ProblemList-enable-preview.txt
934+
endif
935+
936+
932937
ifneq ($$(JTREG_EXTRA_PROBLEM_LISTS), )
933938
# Accept both absolute paths as well as relative to the current test root.
934939
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \

src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,17 @@ int C1_MacroAssembler::lock_object(Register hdr, Register obj, Register disp_hdr
7272

7373
null_check_offset = offset();
7474

75-
if (DiagnoseSyncOnValueBasedClasses != 0) {
76-
load_klass(hdr, obj);
77-
ldrb(hdr, Address(hdr, Klass::misc_flags_offset()));
78-
tst(hdr, KlassFlags::_misc_is_value_based_class);
79-
br(Assembler::NE, slow_case);
80-
}
81-
8275
if (LockingMode == LM_LIGHTWEIGHT) {
8376
lightweight_lock(disp_hdr, obj, hdr, temp, rscratch2, slow_case);
8477
} else if (LockingMode == LM_LEGACY) {
78+
79+
if (DiagnoseSyncOnValueBasedClasses != 0) {
80+
load_klass(hdr, obj);
81+
ldrb(hdr, Address(hdr, Klass::misc_flags_offset()));
82+
tst(hdr, KlassFlags::_misc_is_value_based_class);
83+
br(Assembler::NE, slow_case);
84+
}
85+
8586
Label done;
8687
// Load object header
8788
ldr(hdr, Address(obj, hdr_offset));

src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,10 @@ int StubAssembler::call_RT(Register oop_result1, Register metadata_result, addre
9191
// exception pending => remove activation and forward to exception handler
9292
// make sure that the vm_results are cleared
9393
if (oop_result1->is_valid()) {
94-
str(zr, Address(rthread, JavaThread::vm_result_offset()));
94+
str(zr, Address(rthread, JavaThread::vm_result_oop_offset()));
9595
}
9696
if (metadata_result->is_valid()) {
97-
str(zr, Address(rthread, JavaThread::vm_result_2_offset()));
97+
str(zr, Address(rthread, JavaThread::vm_result_metadata_offset()));
9898
}
9999
if (frame_size() == no_frame_size) {
100100
leave();
@@ -108,10 +108,10 @@ int StubAssembler::call_RT(Register oop_result1, Register metadata_result, addre
108108
}
109109
// get oop results if there are any and reset the values in the thread
110110
if (oop_result1->is_valid()) {
111-
get_vm_result(oop_result1, rthread);
111+
get_vm_result_oop(oop_result1, rthread);
112112
}
113113
if (metadata_result->is_valid()) {
114-
get_vm_result_2(metadata_result, rthread);
114+
get_vm_result_metadata(metadata_result, rthread);
115115
}
116116
return call_offset;
117117
}
@@ -406,8 +406,8 @@ OopMapSet* Runtime1::generate_handle_exception(C1StubId id, StubAssembler *sasm)
406406
__ authenticate_return_address(exception_pc);
407407

408408
// make sure that the vm_results are cleared (may be unnecessary)
409-
__ str(zr, Address(rthread, JavaThread::vm_result_offset()));
410-
__ str(zr, Address(rthread, JavaThread::vm_result_2_offset()));
409+
__ str(zr, Address(rthread, JavaThread::vm_result_oop_offset()));
410+
__ str(zr, Address(rthread, JavaThread::vm_result_metadata_offset()));
411411
break;
412412
case C1StubId::handle_exception_nofpu_id:
413413
case C1StubId::handle_exception_id:

src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ void C2_MacroAssembler::fast_lock_lightweight(Register obj, Register box, Regist
360360
Label slow_path;
361361

362362
if (UseObjectMonitorTable) {
363-
// Clear cache in case fast locking succeeds.
363+
// Clear cache in case fast locking succeeds or we need to take the slow-path.
364364
str(zr, Address(box, BasicLock::object_monitor_cache_offset_in_bytes()));
365365
}
366366

src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727
#include "c1/c1_MacroAssembler.hpp"
2828
#include "compiler/compilerDefinitions.inline.hpp"
2929
#include "gc/shared/gc_globals.hpp"
30+
#include "gc/shenandoah/c1/shenandoahBarrierSetC1.hpp"
3031
#include "gc/shenandoah/shenandoahBarrierSet.hpp"
3132
#include "gc/shenandoah/shenandoahBarrierSetAssembler.hpp"
32-
#include "gc/shenandoah/c1/shenandoahBarrierSetC1.hpp"
3333

3434
#define __ masm->masm()->
3535

src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,17 @@
2323
*
2424
*/
2525

26+
#include "gc/shenandoah/heuristics/shenandoahHeuristics.hpp"
27+
#include "gc/shenandoah/mode/shenandoahMode.hpp"
2628
#include "gc/shenandoah/shenandoahBarrierSet.hpp"
2729
#include "gc/shenandoah/shenandoahBarrierSetAssembler.hpp"
2830
#include "gc/shenandoah/shenandoahForwarding.hpp"
2931
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
3032
#include "gc/shenandoah/shenandoahHeapRegion.hpp"
3133
#include "gc/shenandoah/shenandoahRuntime.hpp"
3234
#include "gc/shenandoah/shenandoahThreadLocalData.hpp"
33-
#include "gc/shenandoah/heuristics/shenandoahHeuristics.hpp"
34-
#include "gc/shenandoah/mode/shenandoahMode.hpp"
35-
#include "interpreter/interpreter.hpp"
3635
#include "interpreter/interp_masm.hpp"
36+
#include "interpreter/interpreter.hpp"
3737
#include "runtime/javaThread.hpp"
3838
#include "runtime/sharedRuntime.hpp"
3939
#ifdef COMPILER1

src/hotspot/cpu/aarch64/gc/z/zAddress_aarch64.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
* questions.
2222
*/
2323

24-
#include "gc/shared/gcLogPrecious.hpp"
2524
#include "gc/shared/gc_globals.hpp"
25+
#include "gc/shared/gcLogPrecious.hpp"
2626
#include "gc/z/zAddress.hpp"
2727
#include "gc/z/zBarrierSetAssembler.hpp"
2828
#include "gc/z/zGlobals.hpp"

src/hotspot/cpu/aarch64/icache_aarch64.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ void ICacheStubGenerator::generate_icache_flush(
3131
*flush_icache_stub = nullptr;
3232
}
3333

34-
void ICache::initialize() {}
34+
void ICache::initialize(int phase) {}

0 commit comments

Comments
 (0)