Skip to content

Commit 2a9d294

Browse files
committed
Merge
2 parents 675233f + 024133b commit 2a9d294

File tree

347 files changed

+11136
-3851
lines changed

Some content is hidden

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

347 files changed

+11136
-3851
lines changed

make/Main.gmk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1431,13 +1431,13 @@ ALL_TARGETS += $(addsuffix -only, $(filter-out dist-clean clean%, $(ALL_TARGETS)
14311431
# are internal only, to support Init.gmk.
14321432

14331433
print-targets:
1434-
@$(ECHO) $(sort $(ALL_TARGETS))
1434+
$(info $(subst $(SPACE),$(NEWLINE),$(sort $(ALL_TARGETS))))
14351435

14361436
print-modules:
1437-
@$(ECHO) $(sort $(ALL_MODULES))
1437+
$(info $(subst $(SPACE),$(NEWLINE),$(sort $(ALL_MODULES))))
14381438

14391439
print-tests:
1440-
@$(ECHO) $(sort $(ALL_NAMED_TESTS))
1440+
$(info $(subst $(SPACE),$(NEWLINE),$(sort $(ALL_NAMED_TESTS))))
14411441

14421442
create-main-targets-include:
14431443
$(call LogInfo, Generating main target list)

make/autoconf/lib-x11.m4

Lines changed: 5 additions & 3 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, 2023, 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
@@ -35,6 +35,7 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
3535
X_CFLAGS=
3636
X_LIBS=
3737
else
38+
x_libraries_orig="$x_libraries"
3839
3940
if test "x${with_x}" = xno; then
4041
AC_MSG_ERROR([It is not possible to disable the use of X11. Remove the --without-x option.])
@@ -48,6 +49,7 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
4849
fi
4950
if test "x$x_libraries" = xNONE; then
5051
x_libraries="${with_x}/lib"
52+
x_libraries_orig="$x_libraries"
5153
fi
5254
else
5355
# Check if the user has specified sysroot, but not --with-x, --x-includes or --x-libraries.
@@ -82,8 +84,8 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
8284
AC_PATH_XTRA
8385
8486
# AC_PATH_XTRA creates X_LIBS and sometimes adds -R flags. When cross compiling
85-
# this doesn't make sense so we remove it.
86-
if test "x$COMPILE_TYPE" = xcross; then
87+
# this doesn't make sense so we remove it; same for sysroot (devkit).
88+
if test "x$COMPILE_TYPE" = xcross || (test "x$SYSROOT" != "x" && test "x$x_libraries_orig" = xNONE); then
8789
X_LIBS=`$ECHO $X_LIBS | $SED 's/-R \{0,1\}[[^ ]]*//g'`
8890
fi
8991

make/scripts/fixpath.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,9 @@ function convert_path() {
326326
suffix="${BASH_REMATCH[6]}"
327327
328328
# We only believe this is a path if the first part is an existing directory
329-
if [[ -d "/$firstdir" ]]; then
329+
# and the prefix is not a subdirectory in the current working directory. Remove
330+
# any part leading up to a : or = in the prefix before checking.
331+
if [[ -d "/$firstdir" && ! -d "${prefix##*:}" && ! -d "${prefix##*=}" ]]; then
330332
if [[ $ENVROOT == "" ]]; then
331333
if [[ $QUIET != true ]]; then
332334
echo fixpath: failure: Path "'"$pathmatch"'" cannot be converted to Windows path >&2

src/hotspot/cpu/aarch64/continuationFreezeThaw_aarch64.inline.hpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,11 +153,14 @@ inline void FreezeBase::relativize_interpreted_frame_metadata(const frame& f, co
153153
assert((intptr_t*)hf.at_relative(frame::interpreter_frame_last_sp_offset) == hf.unextended_sp(), "");
154154

155155
relativize_one(vfp, hfp, frame::interpreter_frame_initial_sp_offset); // == block_top == block_bottom
156-
relativize_one(vfp, hfp, frame::interpreter_frame_extended_sp_offset);
156+
157+
// extended_sp is already relativized by TemplateInterpreterGenerator::generate_normal_entry or
158+
// AbstractInterpreter::layout_activation
157159

158160
assert((hf.fp() - hf.unextended_sp()) == (f.fp() - f.unextended_sp()), "");
159161
assert(hf.unextended_sp() == (intptr_t*)hf.at(frame::interpreter_frame_last_sp_offset), "");
160162
assert(hf.unextended_sp() <= (intptr_t*)hf.at(frame::interpreter_frame_initial_sp_offset), "");
163+
assert(hf.unextended_sp() > (intptr_t*)hf.at(frame::interpreter_frame_extended_sp_offset), "");
161164
assert(hf.fp() > (intptr_t*)hf.at(frame::interpreter_frame_initial_sp_offset), "");
162165
assert(hf.fp() <= (intptr_t*)hf.at(frame::interpreter_frame_locals_offset), "");
163166
}
@@ -294,7 +297,9 @@ inline void ThawBase::derelativize_interpreted_frame_metadata(const frame& hf, c
294297
assert((intptr_t*)f.at_relative(frame::interpreter_frame_last_sp_offset) == f.unextended_sp(), "");
295298

296299
derelativize_one(vfp, frame::interpreter_frame_initial_sp_offset);
297-
derelativize_one(vfp, frame::interpreter_frame_extended_sp_offset);
300+
301+
// Make sure that extended_sp is kept relativized.
302+
assert((intptr_t*)f.at_relative(frame::interpreter_frame_extended_sp_offset) < f.unextended_sp(), "");
298303
}
299304

300305
#endif // CPU_AARCH64_CONTINUATIONFREEZETHAW_AARCH64_INLINE_HPP

src/hotspot/cpu/aarch64/frame_aarch64.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,9 @@ void frame::interpreter_frame_set_last_sp(intptr_t* sp) {
362362

363363
// Used by template based interpreter deoptimization
364364
void frame::interpreter_frame_set_extended_sp(intptr_t* sp) {
365-
*((intptr_t**)addr_at(interpreter_frame_extended_sp_offset)) = sp;
365+
assert(is_interpreted_frame(), "interpreted frame expected");
366+
// set relativized extended_sp
367+
ptr_at_put(interpreter_frame_extended_sp_offset, (sp - fp()));
366368
}
367369

368370
frame frame::sender_for_entry_frame(RegisterMap* map) const {

src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ class InterpreterMacroAssembler: public MacroAssembler {
8686
void restore_sp_after_call() {
8787
Label L;
8888
ldr(rscratch1, Address(rfp, frame::interpreter_frame_extended_sp_offset * wordSize));
89+
lea(rscratch1, Address(rfp, rscratch1, Address::lsl(LogBytesPerWord)));
8990
#ifdef ASSERT
9091
cbnz(rscratch1, L);
9192
stop("SP is null");
@@ -98,6 +99,7 @@ class InterpreterMacroAssembler: public MacroAssembler {
9899
#ifdef ASSERT
99100
Label L;
100101
ldr(rscratch1, Address(rfp, frame::interpreter_frame_extended_sp_offset * wordSize));
102+
lea(rscratch1, Address(rfp, rscratch1, Address::lsl(LogBytesPerWord)));
101103
cmp(sp, rscratch1);
102104
br(EQ, L);
103105
stop(msg);

src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -812,7 +812,8 @@ void TemplateInterpreterGenerator::lock_method() {
812812
__ check_extended_sp();
813813
__ sub(sp, sp, entry_size); // add space for a monitor entry
814814
__ sub(esp, esp, entry_size);
815-
__ mov(rscratch1, sp);
815+
__ sub(rscratch1, sp, rfp);
816+
__ asr(rscratch1, rscratch1, Interpreter::logStackElementSize);
816817
__ str(rscratch1, Address(rfp, frame::interpreter_frame_extended_sp_offset * wordSize));
817818
__ str(esp, monitor_block_top); // set new monitor block top
818819
// store object
@@ -880,15 +881,19 @@ void TemplateInterpreterGenerator::generate_fixed_frame(bool native_call) {
880881
__ add(rscratch1, rscratch1, MAX2(3, Method::extra_stack_entries()));
881882
__ sub(rscratch1, sp, rscratch1, ext::uxtw, 3);
882883
__ andr(rscratch1, rscratch1, -16);
884+
__ sub(rscratch2, rscratch1, rfp);
885+
__ asr(rscratch2, rscratch2, Interpreter::logStackElementSize);
883886
// Store extended SP and mirror
884-
__ stp(r10, rscratch1, Address(sp, 4 * wordSize));
887+
__ stp(r10, rscratch2, Address(sp, 4 * wordSize));
885888
// Move SP out of the way
886889
__ mov(sp, rscratch1);
887890
} else {
888891
// Make sure there is room for the exception oop pushed in case method throws
889892
// an exception (see TemplateInterpreterGenerator::generate_throw_exception())
890893
__ sub(rscratch1, sp, 2 * wordSize);
891-
__ stp(r10, rscratch1, Address(sp, 4 * wordSize));
894+
__ sub(rscratch2, rscratch1, rfp);
895+
__ asr(rscratch2, rscratch2, Interpreter::logStackElementSize);
896+
__ stp(r10, rscratch2, Address(sp, 4 * wordSize));
892897
__ mov(sp, rscratch1);
893898
}
894899
}

src/hotspot/cpu/aarch64/templateTable_aarch64.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3910,7 +3910,8 @@ void TemplateTable::monitorenter()
39103910

39113911
__ check_extended_sp();
39123912
__ sub(sp, sp, entry_size); // make room for the monitor
3913-
__ mov(rscratch1, sp);
3913+
__ sub(rscratch1, sp, rfp);
3914+
__ asr(rscratch1, rscratch1, Interpreter::logStackElementSize);
39143915
__ str(rscratch1, Address(rfp, frame::interpreter_frame_extended_sp_offset * wordSize));
39153916

39163917
__ ldr(c_rarg1, monitor_block_bot); // c_rarg1: old expression stack bottom

src/hotspot/cpu/ppc/foreignGlobals_ppc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ bool ABIDescriptor::is_volatile_reg(FloatRegister reg) const {
4747
}
4848

4949
bool ForeignGlobals::is_foreign_linker_supported() {
50-
#ifdef ABI_ELFv2
50+
#ifdef LINUX
5151
return true;
5252
#else
5353
return false;

src/hotspot/cpu/riscv/continuationFreezeThaw_riscv.inline.hpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,14 @@ inline void FreezeBase::relativize_interpreted_frame_metadata(const frame& f, co
151151
assert((intptr_t*)hf.at_relative(frame::interpreter_frame_last_sp_offset) == hf.unextended_sp(), "");
152152

153153
relativize_one(vfp, hfp, frame::interpreter_frame_initial_sp_offset); // == block_top == block_bottom
154-
relativize_one(vfp, hfp, frame::interpreter_frame_extended_sp_offset);
154+
155+
// extended_sp is already relativized by TemplateInterpreterGenerator::generate_normal_entry or
156+
// AbstractInterpreter::layout_activation
155157

156158
assert((hf.fp() - hf.unextended_sp()) == (f.fp() - f.unextended_sp()), "");
157159
assert(hf.unextended_sp() == (intptr_t*)hf.at(frame::interpreter_frame_last_sp_offset), "");
158160
assert(hf.unextended_sp() <= (intptr_t*)hf.at(frame::interpreter_frame_initial_sp_offset), "");
161+
assert(hf.unextended_sp() > (intptr_t*)hf.at(frame::interpreter_frame_extended_sp_offset), "");
159162
assert(hf.fp() > (intptr_t*)hf.at(frame::interpreter_frame_initial_sp_offset), "");
160163
#ifdef ASSERT
161164
if (f.interpreter_frame_method()->max_locals() > 0) {
@@ -296,7 +299,9 @@ inline void ThawBase::derelativize_interpreted_frame_metadata(const frame& hf, c
296299
assert((intptr_t*)f.at_relative(frame::interpreter_frame_last_sp_offset) == f.unextended_sp(), "");
297300

298301
derelativize_one(vfp, frame::interpreter_frame_initial_sp_offset);
299-
derelativize_one(vfp, frame::interpreter_frame_extended_sp_offset);
302+
303+
// Make sure that extended_sp is kept relativized.
304+
assert((intptr_t*)f.at_relative(frame::interpreter_frame_extended_sp_offset) < f.unextended_sp(), "");
300305
}
301306

302307
#endif // CPU_RISCV_CONTINUATIONFREEZETHAW_RISCV_INLINE_HPP

0 commit comments

Comments
 (0)