Skip to content

Commit 1c1d544

Browse files
[GR-50932] Merge in tag jdk-23+4.
PullRequest: labsjdk-ce/49
2 parents c6b2d82 + ae333fe commit 1c1d544

File tree

235 files changed

+2497
-1189
lines changed

Some content is hidden

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

235 files changed

+2497
-1189
lines changed

ci.jsonnet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ local contains(str, needle) = std.findSubstr(needle, str) != [];
246246
# Downstream Graal branch to test against. If you change this value to anything but
247247
# "master", you must create an ol-jira issue to change it back to master once the
248248
# next JVMCI release has been made. Add the issue id as a comment here.
249-
local downstream_branch = "labsjdk/automation-12-26-2023-5475",
249+
local downstream_branch = "labsjdk/automation-1-8-2024-1624",
250250

251251
local clone_graal(defs) = {
252252
# Checkout the graal-enterprise repo to the "_gate" version of the

doc/building.html

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1499,9 +1499,7 @@ <h4 id="using-debian-debootstrap">Using Debian debootstrap</h4>
14991499
--resolve-deps \
15001500
buster \
15011501
~/sysroot-arm64 \
1502-
https://httpredir.debian.org/debian/</code></pre>
1503-
<p>If the target architecture is <code>riscv64</code>, the path should
1504-
be <code>debian-ports</code> instead of <code>debian</code>.</p></li>
1502+
https://httpredir.debian.org/debian/</code></pre></li>
15051503
<li><p>To create an Ubuntu-based chroot:</p>
15061504
<pre><code>sudo debootstrap \
15071505
--arch=arm64 \

doc/building.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1316,9 +1316,6 @@ For example, cross-compiling to AArch64 from x86_64 could be done like this:
13161316
https://httpredir.debian.org/debian/
13171317
```
13181318

1319-
If the target architecture is `riscv64`, the path should be `debian-ports`
1320-
instead of `debian`.
1321-
13221319
* To create an Ubuntu-based chroot:
13231320

13241321
```

make/modules/java.instrument/Lib.gmk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -47,7 +47,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \
4747
LDFLAGS_macosx := -L$(call FindLibDirForModule, java.base), \
4848
LDFLAGS_aix := -L$(SUPPORT_OUTPUTDIR)/native/java.base, \
4949
LIBS := $(JDKLIB_LIBS), \
50-
LIBS_unix := -ljava -ljvm $(LIBZ_LIBS), \
50+
LIBS_unix := $(LIBZ_LIBS), \
5151
LIBS_linux := -ljli $(LIBDL), \
5252
LIBS_aix := -liconv -ljli_static $(LIBDL), \
5353
LIBS_macosx := -ljli -liconv -framework Cocoa -framework Security \

src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
310310

311311
uint int_args = 0;
312312
uint fp_args = 0;
313-
uint stk_args = 0; // inc by 2 each time
313+
uint stk_args = 0;
314314

315315
for (int i = 0; i < total_args_passed; i++) {
316316
switch (sig_bt[i]) {
@@ -322,8 +322,9 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
322322
if (int_args < Argument::n_int_register_parameters_j) {
323323
regs[i].set1(INT_ArgReg[int_args++]->as_VMReg());
324324
} else {
325+
stk_args = align_up(stk_args, 2);
325326
regs[i].set1(VMRegImpl::stack2reg(stk_args));
326-
stk_args += 2;
327+
stk_args += 1;
327328
}
328329
break;
329330
case T_VOID:
@@ -340,6 +341,7 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
340341
if (int_args < Argument::n_int_register_parameters_j) {
341342
regs[i].set2(INT_ArgReg[int_args++]->as_VMReg());
342343
} else {
344+
stk_args = align_up(stk_args, 2);
343345
regs[i].set2(VMRegImpl::stack2reg(stk_args));
344346
stk_args += 2;
345347
}
@@ -348,15 +350,17 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
348350
if (fp_args < Argument::n_float_register_parameters_j) {
349351
regs[i].set1(FP_ArgReg[fp_args++]->as_VMReg());
350352
} else {
353+
stk_args = align_up(stk_args, 2);
351354
regs[i].set1(VMRegImpl::stack2reg(stk_args));
352-
stk_args += 2;
355+
stk_args += 1;
353356
}
354357
break;
355358
case T_DOUBLE:
356359
assert((i + 1) < total_args_passed && sig_bt[i + 1] == T_VOID, "expecting half");
357360
if (fp_args < Argument::n_float_register_parameters_j) {
358361
regs[i].set2(FP_ArgReg[fp_args++]->as_VMReg());
359362
} else {
363+
stk_args = align_up(stk_args, 2);
360364
regs[i].set2(VMRegImpl::stack2reg(stk_args));
361365
stk_args += 2;
362366
}
@@ -367,7 +371,7 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
367371
}
368372
}
369373

370-
return align_up(stk_args, 2);
374+
return stk_args;
371375
}
372376

373377
// Patch the callers callsite with entry to compiled code if it exists.

src/hotspot/cpu/aarch64/templateTable_aarch64.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3603,11 +3603,9 @@ void TemplateTable::_new() {
36033603
// get InstanceKlass
36043604
__ load_resolved_klass_at_offset(r4, r3, r4, rscratch1);
36053605

3606-
// make sure klass is initialized & doesn't have finalizer
3607-
// make sure klass is fully initialized
3608-
__ ldrb(rscratch1, Address(r4, InstanceKlass::init_state_offset()));
3609-
__ cmp(rscratch1, (u1)InstanceKlass::fully_initialized);
3610-
__ br(Assembler::NE, slow_case);
3606+
// make sure klass is initialized
3607+
assert(VM_Version::supports_fast_class_init_checks(), "Optimization requires support for fast class initialization checks");
3608+
__ clinit_barrier(r4, rscratch1, nullptr /*L_fast_path*/, &slow_case);
36113609

36123610
// get instance_size in InstanceKlass (scaled to a count of bytes)
36133611
__ ldrw(r3,

src/hotspot/cpu/aarch64/vm_version_aarch64.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ enum Ampere_CPU_Model {
165165
static int dcache_line_size() { return _dcache_line_size; }
166166
static int get_initial_sve_vector_length() { return _initial_sve_vector_length; };
167167

168+
// Aarch64 supports fast class initialization checks
168169
static bool supports_fast_class_init_checks() { return true; }
169170
constexpr static bool supports_stack_watermark_barrier() { return true; }
170171

src/hotspot/cpu/arm/sharedRuntime_arm.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,6 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
441441
}
442442
}
443443

444-
if (slot & 1) slot++;
445444
return slot;
446445
}
447446

src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -734,7 +734,7 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
734734
ShouldNotReachHere();
735735
}
736736
}
737-
return align_up(stk, 2);
737+
return stk;
738738
}
739739

740740
#if defined(COMPILER1) || defined(COMPILER2)

src/hotspot/cpu/ppc/vm_version_ppc.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ class VM_Version: public Abstract_VM_Version {
9191
// Override Abstract_VM_Version implementation
9292
static void print_platform_virtualization_info(outputStream*);
9393

94-
// PPC64 supports fast class initialization checks for static methods.
94+
// PPC64 supports fast class initialization checks
9595
static bool supports_fast_class_init_checks() { return true; }
9696
constexpr static bool supports_stack_watermark_barrier() { return true; }
9797

0 commit comments

Comments
 (0)