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 to tag jdk-22+5 #1444

Merged
merged 67 commits into from
Jul 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
8f5a384
8311032: Empty value for java.protocol.handler.pkgs system property c…
jaikiran Jun 29, 2023
6f58ab2
8301569: jmod list option and jimage list --help not interpreted corr…
Glavo Jun 29, 2023
cf8d706
8308463: Refactor regenerated class handling in lambdaFormInvokers.cpp
iklam Jun 29, 2023
f4b900b
8310902: (fc) FileChannel.transferXXX async close and interrupt issues
Jun 29, 2023
cbf418a
8311020: Typo cleanup in Classfile API
liach Jun 29, 2023
af319d9
8311064: Windows builds fail without precompiled headers after JDK-83…
djelinski Jun 29, 2023
b2eae16
8295191: IR framework timeout options expect ms instead of s
enothum Jun 29, 2023
be64d3a
8310299: C2: 8275201 broke constant folding of array store check in s…
rwestrel Jun 29, 2023
690d626
8307927: C2: "malformed control flow" with irreducible loop
rwestrel Jun 29, 2023
f842ec4
8305667: Some fonts installed in user directory are not detected on W…
YaaZ Jun 29, 2023
98a954e
8308286: Fix clang warnings in linux code
savoptik Jun 29, 2023
e5744b8
8310919: runtime/ErrorHandling/TestAbortVmOnException.java times out …
Jun 29, 2023
07734f6
8310848: Convert ClassDesc and MethodTypeDesc to be stored in static …
liach Jun 29, 2023
20f7d05
8310502: Optimization for j.l.Long.fastUUID()
wenshao Jun 29, 2023
05c2b6c
8309979: BootstrapMethods attribute is missing in class files recreat…
ashu-mehra Jun 29, 2023
26efff7
8309902: C2: assert(false) failed: Bad graph detected in build_loop_l…
rwestrel Jun 29, 2023
a995aa6
8310232: java.time.Clock$TickClock.millis() fails in runtime when tic…
naotoj Jun 29, 2023
d979662
8311115: Type in java.lang.reflect.AccessFlag.METHOD_PARAMETER
jddarcy Jun 29, 2023
11fd34e
8310241: OffsetDateTime compareTo redundant computation
Jun 29, 2023
77e7b6d
8311074: RISC-V: Fix -Wconversion warnings in some code header files
zifeihan Jun 30, 2023
2a9e2f6
8311046: ProblemList gc/z/TestHighUsage.java with Generational ZGC
xmas92 Jun 30, 2023
660cd25
8310988: Missing @since tags in java.management.rmi
kevinjwalls Jun 30, 2023
c08c983
8311000: missing @since info in jdk.management
kevinjwalls Jun 30, 2023
a7d168b
8311026: Some G1 specific tests do not set -XX:+UseG1GC
MBaesken Jun 30, 2023
33011ea
8310946: G1: Refactor G1Policy::next_gc_should_be_mixed
albertnetymk Jun 30, 2023
430d6b6
8309976: Add microbenchmark for stressing code cache
Jun 30, 2023
e3a7e02
8311162: Simplify and modernize equals and hashCode for java.net
pavelrappo Jun 30, 2023
e8ff74c
8310987: Missing @since tag(s) in java/util/logging/ErrorManager.java
dfuch Jun 30, 2023
19601eb
8310993: Missing @since tags in jdk.attach
kevinjwalls Jun 30, 2023
456bf11
8310173: Update --release 21 symbol information for JDK 21 build 29
jddarcy Jun 30, 2023
f6bdccb
8310829: guarantee(!HAS_PENDING_EXCEPTION) failed in ExceptionTransla…
Jun 30, 2023
971c2ef
8303086: SIGSEGV in JavaThread::is_interp_only_mode()
Jun 30, 2023
140b70f
8311186: ProblemList javax/management/remote/mandatory/subjectDelegat…
Jun 30, 2023
8c8e9d9
8309819: Clarify API note in Class::getName and MethodType::toMethodD…
liach Jun 30, 2023
d2e1159
8311125: Remove unused parameter 'phase' in AllocateNode::Ideal_alloc…
Jul 1, 2023
8abb9f5
8047998: Abort the vm if MaxNewSize is not the same as NewSize when M…
lgxbslgx Jul 1, 2023
09a4924
8311145: Remove check_with_errno duplicates
quadhier Jul 1, 2023
0e3d91d
8311215: [BACKOUT] JDK-8047998 Abort the vm if MaxNewSize is not the …
Jul 1, 2023
faf1b82
8310656: RISC-V: __builtin___clear_cache can fail silently.
robehn Jul 2, 2023
52ee570
8309209: C2 failed "assert(_stack_guard_state == stack_guard_reserved…
Jul 3, 2023
2c29705
8309660: C2: failed: XMM register should be 0-15 (UseKNLSetting and C…
eme64 Jul 3, 2023
055b4b4
8310948: Fix ignored-qualifiers warning in Hotspot
djelinski Jul 3, 2023
8e0ca8e
8310331: JitTester: Exclude java.lang.Math.random
quadhier Jul 3, 2023
87c79c0
8309302: java/net/Socket/Timeouts.java fails with AssertionError on t…
Jul 3, 2023
9d2e0b2
8307934: JRobot.moveMouseTo must access component on EDT
Renjithkannath Jul 3, 2023
496f94b
8311086: Remove jtreg/gc/startup_warnings
lkorinth Jul 3, 2023
ba974d5
8310661: JFR: Replace JVM.getJVM() with JVM
egahlin Jul 3, 2023
f393975
8310743: assert(reserved_rgn != nullptr) failed: Add committed region…
xmas92 Jul 3, 2023
b9198f9
8254566: Clarify the spec of ClassLoader::getClassLoadingLock for non…
Jul 3, 2023
d8a0121
8311109: tautological-compare warning in awt_Win32GraphicsDevice.cpp
Jul 3, 2023
0916e6a
8311092: Please disable runtime/jni/nativeStack/TestNativeStack.java …
vpa1977 Jul 3, 2023
60544f9
8309894: compiler/vectorapi/VectorLogicalOpIdentityTest.java fails on…
Jul 4, 2023
514816e
8309889: [s390] Missing return statement after calling jump_to_native…
sid8606 Jul 4, 2023
711cddd
8311249: Remove unused MemAllocator::obj_memory_range
shipilev Jul 4, 2023
7655b48
8311001: missing @since info in jdk.net
Jul 4, 2023
607ddaa
8310997: missing @since tags in jdk.httpserver
Jul 4, 2023
7b3c2dc
8311122: Fix typos in java.base
pavelrappo Jul 4, 2023
d6578bf
8309531: Incorrect result with unwrapped iotaShuffle.
Jul 5, 2023
00ac46c
8310645: CancelledResponse.java does not use HTTP/2 when testing the …
c-cleary Jul 5, 2023
cf82e31
8311077: Fix -Wconversion warnings in jvmti code
coleenp Jul 5, 2023
22e17c2
8311180: Remove unused unneeded definitions from globalDefinitions
coleenp Jul 5, 2023
2cffef2
8311290: Improve java.lang.ref.Cleaner rendered documentation
pavelrappo Jul 5, 2023
6ebb0e3
8311023: assert(false) failed: EA: missing memory path
Jul 5, 2023
6eba096
8310999: Add @since info in jdk.jsobject files
Jul 5, 2023
0616648
8311035: CDS should not use dump time JVM narrow Klass encoding to pr…
tstuefe Jul 5, 2023
66d2736
8307526: [JFR] Better handling of tampered JFR repository
Jul 5, 2023
1bb1fb8
Merge branch 'sapmachine' into pr-jdk-22+5
RealCLanger Jul 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions make/hotspot/lib/CompileJvm.gmk
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,11 @@ CFLAGS_VM_VERSION := \
# Disabled warnings

DISABLED_WARNINGS_gcc := array-bounds comment delete-non-virtual-dtor \
empty-body ignored-qualifiers implicit-fallthrough int-in-bool-context \
empty-body implicit-fallthrough int-in-bool-context \
maybe-uninitialized missing-field-initializers parentheses \
shift-negative-value unknown-pragmas

DISABLED_WARNINGS_clang := ignored-qualifiers sometimes-uninitialized \
DISABLED_WARNINGS_clang := sometimes-uninitialized \
missing-braces delete-non-abstract-non-virtual-dtor unknown-pragmas

ifneq ($(DEBUG_LEVEL), release)
Expand Down
7 changes: 7 additions & 0 deletions make/modules/java.desktop/lib/Awt2dLibraries.gmk
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,13 @@ ifeq ($(call isTargetOs, windows macosx), false)
DISABLED_WARNINGS_gcc_XRBackendNative.c := maybe-uninitialized, \
DISABLED_WARNINGS_gcc_XToolkit.c := unused-result, \
DISABLED_WARNINGS_gcc_XWindow.c := unused-function, \
DISABLED_WARNINGS_clang_awt_Taskbar.c := parentheses, \
DISABLED_WARNINGS_clang_gtk2_interface.c := parentheses, \
DISABLED_WARNINGS_clang_gtk3_interface.c := parentheses, \
DISABLED_WARNINGS_clang_OGLBufImgOps.c := format-nonliteral, \
DISABLED_WARNINGS_clang_OGLPaints.c := format-nonliteral, \
DISABLED_WARNINGS_clang_screencast_pipewire.c := format-nonliteral, \
DISABLED_WARNINGS_clang_sun_awt_X11_GtkFileDialogPeer.c := parentheses, \
DISABLED_WARNINGS_clang_aix := deprecated-non-prototype, \
DISABLED_WARNINGS_clang_aix_awt_Taskbar.c := parentheses, \
DISABLED_WARNINGS_clang_aix_OGLPaints.c := format-nonliteral, \
Expand Down
1 change: 1 addition & 0 deletions make/modules/java.security.jgss/Lib.gmk
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJ2GSS, \
CFLAGS := $(CFLAGS_JDKLIB), \
DISABLED_WARNINGS_gcc := undef, \
DISABLED_WARNINGS_clang_aix := undef, \
DISABLED_WARNINGS_clang := undef, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(LIBDL), \
Expand Down
3 changes: 2 additions & 1 deletion make/modules/jdk.hotspot.agent/Lib.gmk
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2023, 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
Expand Down Expand Up @@ -61,6 +61,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBSA, \
OPTIMIZATION := HIGH, \
DISABLED_WARNINGS_gcc := sign-compare, \
DISABLED_WARNINGS_gcc_ps_core.c := pointer-arith, \
DISABLED_WARNINGS_clang_ps_core.c := pointer-arith, \
DISABLED_WARNINGS_clang := sign-compare, \
DISABLED_WARNINGS_clang_libproc_impl.c := format-nonliteral, \
DISABLED_WARNINGS_clang_sadis.c := format-nonliteral, \
Expand Down
6 changes: 5 additions & 1 deletion make/modules/jdk.jpackage/Lib.gmk
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2023, 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
Expand Down Expand Up @@ -65,6 +65,8 @@ $(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_APPLAUNCHEREXE, \
INCLUDE_FILES := $(JPACKAGE_APPLAUNCHER_INCLUDE_FILES), \
TOOLCHAIN := $(JPACKAGE_APPLAUNCHER_TOOLCHAIN), \
OPTIMIZATION := LOW, \
DISABLED_WARNINGS_clang_LinuxPackage.c := format-nonliteral, \
DISABLED_WARNINGS_clang_JvmLauncherLib.c := format-nonliteral, \
CXXFLAGS := $(call JpackageWithStaticCrt, $(CXXFLAGS_JDKEXE)) \
$(JPACKAGE_APPLAUNCHER_INCLUDES), \
CFLAGS := $(call JpackageWithStaticCrt, $(CFLAGS_JDKEXE)) \
Expand Down Expand Up @@ -103,6 +105,8 @@ ifeq ($(call isTargetOs, linux), true)
EXCLUDE_FILES := LinuxLauncher.c LinuxPackage.c, \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \
DISABLED_WARNINGS_clang_JvmLauncherLib.c := format-nonliteral, \
DISABLED_WARNINGS_clang_tstrings.cpp := format-nonliteral, \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(JPACKAGE_LIBAPPLAUNCHER_INCLUDES), \
CFLAGS := $(CFLAGS_JDKLIB) $(JPACKAGE_LIBAPPLAUNCHER_INCLUDES), \
LDFLAGS := $(LDFLAGS_JDKLIB), \
Expand Down
3 changes: 2 additions & 1 deletion make/modules/jdk.management/Lib.gmk
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2023, 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
Expand Down Expand Up @@ -44,6 +44,7 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT_EXT, \
NAME := management_ext, \
OPTIMIZATION := $(LIBMANAGEMENT_EXT_OPTIMIZATION), \
DISABLED_WARNINGS_clang_UnixOperatingSystem.c := format-nonliteral, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBMANAGEMENT_EXT_CFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
Expand Down
16 changes: 8 additions & 8 deletions src/hotspot/cpu/aarch64/aarch64.ad
Original file line number Diff line number Diff line change
Expand Up @@ -2285,7 +2285,7 @@ int HandlerImpl::emit_deopt_handler(CodeBuffer& cbuf)

//=============================================================================

const bool Matcher::match_rule_supported(int opcode) {
bool Matcher::match_rule_supported(int opcode) {
if (!has_match_rule(opcode))
return false;

Expand Down Expand Up @@ -2320,7 +2320,7 @@ const TypeVectMask* Matcher::predicate_reg_type(const Type* elemTy, int length)
}

// Vector calling convention not yet implemented.
const bool Matcher::supports_vector_calling_convention(void) {
bool Matcher::supports_vector_calling_convention(void) {
return false;
}

Expand All @@ -2340,7 +2340,7 @@ bool Matcher::is_short_branch_offset(int rule, int br_size, int offset) {
}

// Vector width in bytes.
const int Matcher::vector_width_in_bytes(BasicType bt) {
int Matcher::vector_width_in_bytes(BasicType bt) {
// The MaxVectorSize should have been set by detecting SVE max vector register size.
int size = MIN2((UseSVE > 0) ? 256 : 16, (int)MaxVectorSize);
// Minimum 2 values in vector
Expand All @@ -2351,11 +2351,11 @@ const int Matcher::vector_width_in_bytes(BasicType bt) {
}

// Limits on vector size (number of elements) loaded into vector.
const int Matcher::max_vector_size(const BasicType bt) {
int Matcher::max_vector_size(const BasicType bt) {
return vector_width_in_bytes(bt)/type2aelembytes(bt);
}

const int Matcher::min_vector_size(const BasicType bt) {
int Matcher::min_vector_size(const BasicType bt) {
int max_size = max_vector_size(bt);
// Limit the min vector size to 8 bytes.
int size = 8 / type2aelembytes(bt);
Expand All @@ -2370,17 +2370,17 @@ const int Matcher::min_vector_size(const BasicType bt) {
return MIN2(size, max_size);
}

const int Matcher::superword_max_vector_size(const BasicType bt) {
int Matcher::superword_max_vector_size(const BasicType bt) {
return Matcher::max_vector_size(bt);
}

// Actual max scalable vector register length.
const int Matcher::scalable_vector_reg_size(const BasicType bt) {
int Matcher::scalable_vector_reg_size(const BasicType bt) {
return Matcher::max_vector_size(bt);
}

// Vector ideal reg.
const uint Matcher::vector_ideal_reg(int len) {
uint Matcher::vector_ideal_reg(int len) {
if (UseSVE > 0 && 16 < len && len <= 256) {
return Op_VecA;
}
Expand Down
8 changes: 4 additions & 4 deletions src/hotspot/cpu/aarch64/aarch64_vector.ad
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ source %{
}
}

const bool Matcher::match_rule_supported_superword(int opcode, int vlen, BasicType bt) {
bool Matcher::match_rule_supported_superword(int opcode, int vlen, BasicType bt) {
if (UseSVE == 0) {
// These operations are not profitable to be vectorized on NEON, because no direct
// NEON instructions support them. But the match rule support for them is profitable for
Expand All @@ -148,7 +148,7 @@ source %{

// Identify extra cases that we might want to provide match rules for vector nodes and
// other intrinsics guarded with vector length (vlen) and element type (bt).
const bool Matcher::match_rule_supported_vector(int opcode, int vlen, BasicType bt) {
bool Matcher::match_rule_supported_vector(int opcode, int vlen, BasicType bt) {
if (!match_rule_supported(opcode)) {
return false;
}
Expand Down Expand Up @@ -232,7 +232,7 @@ source %{
return vector_size_supported(bt, vlen);
}

const bool Matcher::match_rule_supported_vector_masked(int opcode, int vlen, BasicType bt) {
bool Matcher::match_rule_supported_vector_masked(int opcode, int vlen, BasicType bt) {
// Only SVE supports masked operations.
if (UseSVE == 0) {
return false;
Expand Down Expand Up @@ -271,7 +271,7 @@ source %{
return match_rule_supported_vector(opcode, vlen, bt);
}

const bool Matcher::vector_needs_partial_operations(Node* node, const TypeVect* vt) {
bool Matcher::vector_needs_partial_operations(Node* node, const TypeVect* vt) {
// Only SVE has partial vector operations
if (UseSVE == 0) {
return false;
Expand Down
8 changes: 4 additions & 4 deletions src/hotspot/cpu/aarch64/aarch64_vector_ad.m4
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ source %{
}
}

const bool Matcher::match_rule_supported_superword(int opcode, int vlen, BasicType bt) {
bool Matcher::match_rule_supported_superword(int opcode, int vlen, BasicType bt) {
if (UseSVE == 0) {
// These operations are not profitable to be vectorized on NEON, because no direct
// NEON instructions support them. But the match rule support for them is profitable for
Expand All @@ -138,7 +138,7 @@ source %{

// Identify extra cases that we might want to provide match rules for vector nodes and
// other intrinsics guarded with vector length (vlen) and element type (bt).
const bool Matcher::match_rule_supported_vector(int opcode, int vlen, BasicType bt) {
bool Matcher::match_rule_supported_vector(int opcode, int vlen, BasicType bt) {
if (!match_rule_supported(opcode)) {
return false;
}
Expand Down Expand Up @@ -222,7 +222,7 @@ source %{
return vector_size_supported(bt, vlen);
}

const bool Matcher::match_rule_supported_vector_masked(int opcode, int vlen, BasicType bt) {
bool Matcher::match_rule_supported_vector_masked(int opcode, int vlen, BasicType bt) {
// Only SVE supports masked operations.
if (UseSVE == 0) {
return false;
Expand Down Expand Up @@ -261,7 +261,7 @@ source %{
return match_rule_supported_vector(opcode, vlen, bt);
}

const bool Matcher::vector_needs_partial_operations(Node* node, const TypeVect* vt) {
bool Matcher::vector_needs_partial_operations(Node* node, const TypeVect* vt) {
// Only SVE has partial vector operations
if (UseSVE == 0) {
return false;
Expand Down
2 changes: 1 addition & 1 deletion src/hotspot/cpu/aarch64/assembler_aarch64.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4211,7 +4211,7 @@ Instruction_aarch64::~Instruction_aarch64() {
#undef starti

// Invert a condition
inline const Assembler::Condition operator~(const Assembler::Condition cond) {
inline Assembler::Condition operator~(const Assembler::Condition cond) {
return Assembler::Condition(int(cond) ^ 1);
}

Expand Down
6 changes: 6 additions & 0 deletions src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -693,6 +693,12 @@ void InterpreterMacroAssembler::remove_activation(
// testing if reserved zone needs to be re-enabled
Label no_reserved_zone_enabling;

// check if already enabled - if so no re-enabling needed
assert(sizeof(StackOverflow::StackGuardState) == 4, "unexpected size");
ldrw(rscratch1, Address(rthread, JavaThread::stack_guard_state_offset()));
cmpw(rscratch1, (u1)StackOverflow::stack_guard_enabled);
br(Assembler::EQ, no_reserved_zone_enabling);

// look for an overflow into the stack reserved zone, i.e.
// interpreter_frame_sender_sp <= JavaThread::reserved_stack_activation
ldr(rscratch1, Address(rthread, JavaThread::reserved_stack_activation_offset()));
Expand Down
6 changes: 3 additions & 3 deletions src/hotspot/cpu/aarch64/matcher_aarch64.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
// Whether this platform implements the scalable vector feature
static const bool implements_scalable_vector = true;

static const bool supports_scalable_vector() {
static bool supports_scalable_vector() {
return UseSVE > 0;
}

Expand Down Expand Up @@ -144,12 +144,12 @@
}

// Does the CPU supports vector unsigned comparison instructions?
static const bool supports_vector_comparison_unsigned(int vlen, BasicType bt) {
static constexpr bool supports_vector_comparison_unsigned(int vlen, BasicType bt) {
return true;
}

// Some microarchitectures have mask registers used on vectors
static const bool has_predicated_vectors(void) {
static bool has_predicated_vectors(void) {
return UseSVE > 0;
}

Expand Down
24 changes: 12 additions & 12 deletions src/hotspot/cpu/arm/arm.ad
Original file line number Diff line number Diff line change
Expand Up @@ -947,7 +947,7 @@ int HandlerImpl::emit_deopt_handler(CodeBuffer& cbuf) {
return offset;
}

const bool Matcher::match_rule_supported(int opcode) {
bool Matcher::match_rule_supported(int opcode) {
if (!has_match_rule(opcode))
return false;

Expand Down Expand Up @@ -1002,11 +1002,11 @@ const bool Matcher::match_rule_supported(int opcode) {
return true; // Per default match rules are supported.
}

const bool Matcher::match_rule_supported_superword(int opcode, int vlen, BasicType bt) {
bool Matcher::match_rule_supported_superword(int opcode, int vlen, BasicType bt) {
return match_rule_supported_vector(opcode, vlen, bt);
}

const bool Matcher::match_rule_supported_vector(int opcode, int vlen, BasicType bt) {
bool Matcher::match_rule_supported_vector(int opcode, int vlen, BasicType bt) {

// TODO
// identify extra cases that we might want to provide match rules for
Expand All @@ -1017,11 +1017,11 @@ const bool Matcher::match_rule_supported_vector(int opcode, int vlen, BasicType
return ret_value; // Per default match rules are supported.
}

const bool Matcher::match_rule_supported_vector_masked(int opcode, int vlen, BasicType bt) {
bool Matcher::match_rule_supported_vector_masked(int opcode, int vlen, BasicType bt) {
return false;
}

const bool Matcher::vector_needs_partial_operations(Node* node, const TypeVect* vt) {
bool Matcher::vector_needs_partial_operations(Node* node, const TypeVect* vt) {
return false;
}

Expand All @@ -1034,7 +1034,7 @@ const TypeVectMask* Matcher::predicate_reg_type(const Type* elemTy, int length)
}

// Vector calling convention not yet implemented.
const bool Matcher::supports_vector_calling_convention(void) {
bool Matcher::supports_vector_calling_convention(void) {
return false;
}

Expand All @@ -1044,16 +1044,16 @@ OptoRegPair Matcher::vector_return_value(uint ideal_reg) {
}

// Vector width in bytes
const int Matcher::vector_width_in_bytes(BasicType bt) {
int Matcher::vector_width_in_bytes(BasicType bt) {
return MaxVectorSize;
}

const int Matcher::scalable_vector_reg_size(const BasicType bt) {
int Matcher::scalable_vector_reg_size(const BasicType bt) {
return -1;
}

// Vector ideal reg corresponding to specified size in bytes
const uint Matcher::vector_ideal_reg(int size) {
uint Matcher::vector_ideal_reg(int size) {
assert(MaxVectorSize >= size, "");
switch(size) {
case 8: return Op_VecD;
Expand All @@ -1064,17 +1064,17 @@ const uint Matcher::vector_ideal_reg(int size) {
}

// Limits on vector size (number of elements) loaded into vector.
const int Matcher::max_vector_size(const BasicType bt) {
int Matcher::max_vector_size(const BasicType bt) {
assert(is_java_primitive(bt), "only primitive type vectors");
return vector_width_in_bytes(bt)/type2aelembytes(bt);
}

const int Matcher::min_vector_size(const BasicType bt) {
int Matcher::min_vector_size(const BasicType bt) {
assert(is_java_primitive(bt), "only primitive type vectors");
return 8/type2aelembytes(bt);
}

const int Matcher::superword_max_vector_size(const BasicType bt) {
int Matcher::superword_max_vector_size(const BasicType bt) {
return Matcher::max_vector_size(bt);
}

Expand Down
2 changes: 1 addition & 1 deletion src/hotspot/cpu/arm/assembler_arm.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ class Address {

bool uses(Register reg) const { return _base == reg || _index == reg; }

const relocInfo::relocType rtype() { return _rspec.type(); }
relocInfo::relocType rtype() { return _rspec.type(); }
const RelocationHolder& rspec() { return _rspec; }

// Convert the raw encoding form into the form expected by the
Expand Down
4 changes: 2 additions & 2 deletions src/hotspot/cpu/ppc/icache_ppc.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
Expand Down Expand Up @@ -44,7 +44,7 @@ class ICache : public AbstractICache {
static void ppc64_flush_icache_bytes(address start, int bytes) {
// Align start address to an icache line boundary and transform
// nbytes to an icache line count.
const uint line_offset = mask_address_bits(start, line_size - 1);
const uint line_offset = (uintptr_t)start & (line_size - 1);
ppc64_flush_icache(start - line_offset, (bytes + line_offset + line_size - 1) >> log2_line_size, 0);
}
};
Expand Down
6 changes: 6 additions & 0 deletions src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -888,6 +888,12 @@ void InterpreterMacroAssembler::remove_activation(TosState state,
// Test if reserved zone needs to be enabled.
Label no_reserved_zone_enabling;

// check if already enabled - if so no re-enabling needed
assert(sizeof(StackOverflow::StackGuardState) == 4, "unexpected size");
lwz(R0, in_bytes(JavaThread::stack_guard_state_offset()), R16_thread);
cmpwi(CCR0, R0, StackOverflow::stack_guard_enabled);
beq_predict_taken(CCR0, no_reserved_zone_enabling);

// Compare frame pointers. There is no good stack pointer, as with stack
// frame compression we can get different SPs when we do calls. A subsequent
// call could have a smaller SP, so that this compare succeeds for an
Expand Down
Loading
Loading