Skip to content

Commit dc2a89f

Browse files
committed
Merge
2 parents 24c6146 + e47cf61 commit dc2a89f

File tree

482 files changed

+12436
-6978
lines changed

Some content is hidden

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

482 files changed

+12436
-6978
lines changed

doc/building.html

Lines changed: 511 additions & 346 deletions
Large diffs are not rendered by default.

doc/building.md

Lines changed: 990 additions & 776 deletions
Large diffs are not rendered by default.

doc/testing.md

Lines changed: 104 additions & 108 deletions
Large diffs are not rendered by default.

make/hotspot/lib/CompileJvm.gmk

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,6 @@ DISABLED_WARNINGS_gcc := array-bounds comment delete-non-virtual-dtor \
8888
maybe-uninitialized missing-field-initializers parentheses \
8989
shift-negative-value unknown-pragmas
9090

91-
ifeq ($(DEBUG_LEVEL), fastdebug)
92-
ifeq ($(call And, $(call isTargetOs, linux) $(call isTargetCpu, aarch64)), true)
93-
# False positive warnings for atomic_linux_aarch64.hpp on GCC >= 13
94-
DISABLED_WARNINGS_gcc += stringop-overflow
95-
endif
96-
endif
97-
9891
DISABLED_WARNINGS_clang := sometimes-uninitialized \
9992
missing-braces delete-non-abstract-non-virtual-dtor unknown-pragmas
10093

@@ -171,8 +164,12 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJVM, \
171164
DISABLED_WARNINGS_gcc_ad_$(HOTSPOT_TARGET_CPU_ARCH).cpp := nonnull, \
172165
DISABLED_WARNINGS_gcc_cgroupV1Subsystem_linux.cpp := address, \
173166
DISABLED_WARNINGS_gcc_cgroupV2Subsystem_linux.cpp := address, \
167+
DISABLED_WARNINGS_gcc_handshake.cpp := stringop-overflow, \
174168
DISABLED_WARNINGS_gcc_interp_masm_x86.cpp := uninitialized, \
169+
DISABLED_WARNINGS_gcc_jvmciCodeInstaller.cpp := stringop-overflow, \
170+
DISABLED_WARNINGS_gcc_jvmtiTagMap.cpp := stringop-overflow, \
175171
DISABLED_WARNINGS_gcc_postaloc.cpp := address, \
172+
DISABLED_WARNINGS_gcc_synchronizer.cpp := stringop-overflow, \
176173
DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang), \
177174
DISABLED_WARNINGS_clang_arguments.cpp := missing-field-initializers, \
178175
DISABLED_WARNINGS_clang_codeBuffer.cpp := tautological-undefined-compare, \

src/hotspot/cpu/aarch64/assembler_aarch64.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,8 +1088,8 @@ class Assembler : public AbstractAssembler {
10881088
#undef INSN
10891089

10901090
// we only provide mrs and msr for the special purpose system
1091-
// registers where op1 (instr[20:19]) == 11 and, (currently) only
1092-
// use it for FPSR n.b msr has L (instr[21]) == 0 mrs has L == 1
1091+
// registers where op1 (instr[20:19]) == 11
1092+
// n.b msr has L (instr[21]) == 0 mrs has L == 1
10931093

10941094
void msr(int op1, int CRn, int CRm, int op2, Register rt) {
10951095
starti;

src/hotspot/cpu/aarch64/c2_CodeStubs_aarch64.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ int C2EntryBarrierStub::max_size() const {
5555

5656
void C2EntryBarrierStub::emit(C2_MacroAssembler& masm) {
5757
__ bind(entry());
58-
__ movptr(rscratch1, (uintptr_t) StubRoutines::aarch64::method_entry_barrier());
58+
__ lea(rscratch1, RuntimeAddress(StubRoutines::method_entry_barrier()));
5959
__ blr(rscratch1);
6060
__ b(continuation());
6161

src/hotspot/cpu/aarch64/frame_aarch64.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
// Entry frames
9494
// n.b. these values are determined by the layout defined in
9595
// stubGenerator for the Java call stub
96-
entry_frame_after_call_words = 27,
96+
entry_frame_after_call_words = 29,
9797
entry_frame_call_wrapper_offset = -8,
9898

9999
// we don't need a save area

src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ void BarrierSetAssembler::nmethod_entry_barrier(MacroAssembler* masm, Label* slo
358358
__ br(condition, barrier_target);
359359

360360
if (slow_path == nullptr) {
361-
__ movptr(rscratch1, (uintptr_t) StubRoutines::aarch64::method_entry_barrier());
361+
__ lea(rscratch1, RuntimeAddress(StubRoutines::method_entry_barrier()));
362362
__ blr(rscratch1);
363363
__ b(skip_barrier);
364364

src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -571,6 +571,19 @@ class MacroAssembler: public Assembler {
571571
msr(0b011, 0b0100, 0b0100, 0b001, zr);
572572
}
573573

574+
// FPCR : op1 == 011
575+
// CRn == 0100
576+
// CRm == 0100
577+
// op2 == 000
578+
579+
inline void get_fpcr(Register reg) {
580+
mrs(0b11, 0b0100, 0b0100, 0b000, reg);
581+
}
582+
583+
inline void set_fpcr(Register reg) {
584+
msr(0b011, 0b0100, 0b0100, 0b000, reg);
585+
}
586+
574587
// DCZID_EL0: op1 == 011
575588
// CRn == 0000
576589
// CRm == 0000

src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -801,9 +801,7 @@ AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm
801801

802802
static int c_calling_convention_priv(const BasicType *sig_bt,
803803
VMRegPair *regs,
804-
VMRegPair *regs2,
805804
int total_args_passed) {
806-
assert(regs2 == nullptr, "not needed on AArch64");
807805

808806
// We return the amount of VMRegImpl stack slots we need to reserve for all
809807
// the arguments NOT counting out_preserve_stack_slots.
@@ -897,10 +895,9 @@ int SharedRuntime::vector_calling_convention(VMRegPair *regs,
897895

898896
int SharedRuntime::c_calling_convention(const BasicType *sig_bt,
899897
VMRegPair *regs,
900-
VMRegPair *regs2,
901898
int total_args_passed)
902899
{
903-
int result = c_calling_convention_priv(sig_bt, regs, regs2, total_args_passed);
900+
int result = c_calling_convention_priv(sig_bt, regs, total_args_passed);
904901
guarantee(result >= 0, "Unsupported arguments configuration");
905902
return result;
906903
}
@@ -1457,7 +1454,7 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
14571454
// Now figure out where the args must be stored and how much stack space
14581455
// they require.
14591456
int out_arg_slots;
1460-
out_arg_slots = c_calling_convention_priv(out_sig_bt, out_regs, nullptr, total_c_args);
1457+
out_arg_slots = c_calling_convention_priv(out_sig_bt, out_regs, total_c_args);
14611458

14621459
if (out_arg_slots < 0) {
14631460
return nullptr;

0 commit comments

Comments
 (0)