Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
3355a9d
8285150: Improve tab completion for annotations
lahodaj Sep 11, 2025
063f970
8367401: Parallel: Remove unused field in PSKeepAliveClosure
albertnetymk Sep 11, 2025
a2d272a
8367339: Parallel: Remove PSScavenge::should_scavenge
albertnetymk Sep 11, 2025
56f2f7a
8367138: JNI exception pending in os_getCmdlineAndUserInfo of Process…
Sep 11, 2025
4ea8979
8365953: Key manager returns no certificates when handshakeSession is…
artur-oracle Sep 11, 2025
781f2b2
8366278: Form control element <select> has no associated label
psoujany Sep 11, 2025
fc3e3e2
8201778: Speed up test javax/net/ssl/DTLS/PacketLossRetransmission.java
fguallini Sep 11, 2025
ec74323
8367347: Serial: Refactor CLDScanClosure
fandreuz Sep 11, 2025
8b92af7
8367365: java/math/BigInteger/BigIntegerTest.java failed in jtreg tim…
rgiulietti Sep 11, 2025
7603e96
8366911: (fs) Remove support for normalizing file names to Unicode no…
Sep 11, 2025
e172e6a
8352969: G1: Improve testability of optional collections
hgqxjj Sep 11, 2025
5abd184
8367137: RISC-V: Detect Zicboz block size via hwprobe
DingliZhang Sep 12, 2025
9e843f5
8367014: Rename class Atomic to AtomicAccess
Sep 12, 2025
5c1865a
8365926: RISC-V: Performance regression in renaissance (chi-square)
robehn Sep 12, 2025
e0ad4a6
8367424: Cleanup unused time_remaining_ms update in G1CollectionSet::…
hgqxjj Sep 12, 2025
0f535ae
8367372: Test `test/hotspot/jtreg/gc/TestObjectAlignmentCardSize.java…
Sep 12, 2025
5f43345
8367472: Swap conditions order in PSScavengeCLDOopClosure::do_oop(oop*)
fandreuz Sep 12, 2025
d13769d
8367501: RISC-V: build broken after JDK-8365926
Sep 12, 2025
15dd96f
8144124: [macosx] The tabs can't be aligned when we pressing the key …
prsadhuk Sep 12, 2025
02d7281
8367483: C2 crash in PhaseValues::type: assert(t != nullptr) failed:…
eme64 Sep 12, 2025
10fea86
8367371: Remove @requires vm.opt.UseLargePages from InternSharedStrin…
Arraying Sep 12, 2025
44aad07
8328874: Class::forName0 should validate the class name length early
hgqxjj Sep 12, 2025
aeffce7
8367271: Add parsing tests to DateFormat JMH benchmark
Sep 12, 2025
11df289
8367378: GenShen: Missing timing stats when old mark buffers are flus…
Sep 12, 2025
850f904
8367451: GenShen: Remove the option to compute age census during evac…
Sep 12, 2025
4e59c63
8367282: FORBID_C_FUNCTION needs exception spec consistent with libra…
Sep 12, 2025
84aa295
8367368: Add message for verify_legal_class_modifiers for inner classes
coleenp Sep 12, 2025
35dabb1
8244336: Restrict algorithms at JCE layer
slumericanB Sep 12, 2025
3eb3e0d
8366833: Poly1305 does not always correctly update position for array…
Sep 12, 2025
e2eaa2e
8357708: com.sun.jndi.ldap.Connection ignores queued LDAP replies if …
jaikiran Sep 13, 2025
ff538c7
8367583: sun/security/util/AlgorithmConstraints/InvalidCryptoDisabled…
jaikiran Sep 13, 2025
ef291d2
8359423: Improve error message in case of missing jsa shared archive
MBaesken Sep 13, 2025
c85c5cb
8367475: Incorrect lock usage in LambdaFormInvokers::regenerate_holde…
iklam Sep 13, 2025
21c985f
8256289: java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest…
prsadhuk Sep 14, 2025
5271448
8023263: [TESTBUG] Test closed/java/awt/Focus/InactiveWindowTest/Inac…
prsadhuk Sep 14, 2025
cf00f96
8366940: Test compiler/loopopts/superword/TestAliasingFuzzer.java tim…
eme64 Sep 15, 2025
2c13c66
8367507: Parallel: Remove PSPromotionManager::drain_stacks_depth
albertnetymk Sep 15, 2025
9ca7b24
8367422: Parallel: Refactor local variables names in copy_unmarked_to…
albertnetymk Sep 15, 2025
c16462b
8367576: JvmtiThreadState::_debuggable is unused
fandreuz Sep 15, 2025
3db3c06
8366852: java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.ja…
Sep 15, 2025
1cb1267
8361711: Add library name configurability to PKCS11Test.java
fitzsim Sep 15, 2025
a7dc011
8366658: Add missing locks when accessing the VirtualMemoryTracker in…
jdksjolen Sep 15, 2025
e8dda2b
8367629: Parallel: Remove logging in PSAdjustWeakRootsClosure
albertnetymk Sep 15, 2025
58c9fbc
8367382: Expand use of representation equivalence terminology
jddarcy Sep 15, 2025
60930a3
8367397: Improve naming and terminology in regmask.hpp and regmask.cpp
Sep 15, 2025
f8ba02f
8361702: C2: assert(is_dominator(compute_early_ctrl(limit, limit_ctrl…
rwestrel Sep 15, 2025
11cdafb
8367297: Test com/sun/jdi/JdbStopInNotificationThreadTest.java can st…
plummercj Sep 15, 2025
729f4f9
8314731: Add support for the alt attribute in the image type input HT…
scientificware Sep 15, 2025
64155df
8367237: Thread-Safety Usage Warning for java.text.Collator Classes
Sep 15, 2025
2425584
8367142: Avoid InstanceKlass::cast when converting java mirror to Ins…
iklam Sep 16, 2025
90e81c2
8367616: RISC-V: Auto-enable Zicboz extension for debug builds
DingliZhang Sep 16, 2025
0fbae80
8252582: HotSpot Style Guide should permit variable templates
Sep 16, 2025
76e464b
8367150: Add a header line to improve VMErrorCallback printing
xmas92 Sep 16, 2025
60e9222
8015444: java/awt/Focus/KeyStrokeTest.java sometimes fails
prsadhuk Sep 16, 2025
73df06c
8359104: gc/TestAlwaysPreTouchBehavior.java#<gcname> fails on Linux
Sep 16, 2025
3ba2e74
8366925: Improper std::nothrow new expression in NativeHeapTrimmerThr…
hgqxjj Sep 16, 2025
eb26865
8367552: JCmdTestFileSafety.java fails when run by root user
fandreuz Sep 16, 2025
ca89cd0
8367410: ZGC: Remove unused ZNmethodTable::wait_until_iteration_done()
Sep 16, 2025
c7f014e
8356813: Improve Mod(I|L)Node::Value
SirYwell Sep 16, 2025
0bc3705
8367597: Runtime.exit logging failed: Cannot invoke "java.lang.Module…
jaikiran Sep 16, 2025
c82070e
8366775: TestCompileTaskTimeout should use timeoutFactor
mhaessig Sep 16, 2025
58007c0
8367619: String.format in outOfRangeException uses wrong format speci…
hgqxjj Sep 16, 2025
15d42c6
8366978: dead code in SunCertPathBuilder
koushikthirupattur Sep 16, 2025
075ebb4
8366229: runtime/Thread/TooSmallStackSize.java runs with all collectors
Arraying Sep 16, 2025
c41add8
8354348: Enable Extended EVEX to REX2/REX demotion for commutative op…
Sep 16, 2025
e883dec
8367694: Fix jtreg test failure when Intel APX is enabled for KNL pla…
Sep 16, 2025
b75e35c
8365858: FilteredJavaFieldStream is unnecessary
Arraying Sep 16, 2025
e107179
8367017: Remove legacy checks from WrappedToolkitTest and convert fro…
mrserb Sep 16, 2025
c2c44a0
8367724: Remove Trailing Return Types from undecided list
Sep 17, 2025
45cc515
8354242: VectorAPI: combine vector not operation with compare
erifan Sep 17, 2025
9c0f41e
8225787: java/awt/Window/GetScreenLocation/GetScreenLocationTest.java…
Sep 17, 2025
d0ea668
8367417: Serial: Use NMethodToOopClosure during Young GC
albertnetymk Sep 17, 2025
976207d
8367476: Shenandoah: Remove use of CollectedHeap::_soft_ref_policy
fandreuz Sep 17, 2025
5730e90
4138921: TextLayout handling of empty strings
Sep 17, 2025
005f3a3
8367743: G1: Use named constants for G1CSetCandidateGroup group ids
Sep 17, 2025
faebec6
8367532: Declare all stubgen stub entries including internal cross-st…
adinn Sep 17, 2025
6df0117
8356779: IGV: dump the index of the SafePointNode containing the curr…
Sep 17, 2025
c28142e
8367737: Parallel: Retry allocation after lock acquire in mem_allocat…
albertnetymk Sep 17, 2025
4719ed6
8366777: Build fails unknown pseudo-op with old AS on linux-aarch64
Sep 17, 2025
7e738f0
8367313: CTW: Execute in AWT headless mode
shipilev Sep 17, 2025
b00e0da
8367728: IGV: dump node address type
robcasloz Sep 17, 2025
1ba8414
8367573: JNI exception pending in os_getCmdlineAndUserInfo of Process…
MBaesken Sep 17, 2025
91afdaf
8367860: Remove unused NMethodToOopClosure::fix_relocations
albertnetymk Sep 17, 2025
d7eeacf
8367112: HttpClient does not support Named Groups set on SSLParameters
djelinski Sep 17, 2025
9949ee3
8367005: ImageReader refactor caused performance regressions for star…
david-beaumont Sep 17, 2025
01d7554
8367486: Change prefix for platform-dependent AtomicAccess files
stefank Sep 17, 2025
6f493b4
8361699: C2: assert(can_reduce_phi(n->as_Phi())) failed: Sanity: prev…
Sep 17, 2025
18dc186
8367790: Remove java/awt/PopupMenu/PopupMenuLocation.java from Proble…
Sep 17, 2025
f7ce3a1
8365790: Shutdown hook for application image does not work on Windows
Sep 17, 2025
0756ecb
8367031: [backout] Change java.time month/day field types to 'byte'
Sep 17, 2025
f682f07
8367796: Rename AtomicAccess gtests
Sep 17, 2025
919f5fa
8367787: Expand use of representation equivalence terminology in Float16
jddarcy Sep 17, 2025
aa36799
8367333: C2: Vector math operation intrinsification failure
Sep 17, 2025
91a9794
8367366: Do not support -XX:+AOTClassLinking for dynamic CDS archive
iklam Sep 18, 2025
a355edb
8367278: Test compiler/startup/StartupOutput.java timed out after com…
dafedafe Sep 18, 2025
a306f88
8339791: Refactor MiscUndecorated/ActiveAWTWindowTest.java
Sep 18, 2025
4c5e901
8367689: Revert removal of several compilation-related vmStructs fields
fandreuz Sep 18, 2025
04dcaa3
8367721: Test compiler/arguments/TestCompileTaskTimeout.java crashed:…
mhaessig Sep 18, 2025
4c7c009
8367740: assembler_<cpu>.inline.hpp should not include assembler.inli…
fandreuz Sep 18, 2025
a49856b
8367969: C2: compiler/vectorapi/TestVectorMathLib.java fails without …
eme64 Sep 18, 2025
a4b9fe7
Merge branch 'rivos/main' into rivos/merge-jdk-26+16
luhenry Sep 22, 2025
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
  •  
  •  
  •  
47 changes: 25 additions & 22 deletions doc/hotspot-style.html
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,9 @@ <h1 class="title">HotSpot Coding Style</h1>
<li><a href="#thread_local" id="toc-thread_local">thread_local</a></li>
<li><a href="#nullptr" id="toc-nullptr">nullptr</a></li>
<li><a href="#atomic" id="toc-atomic">&lt;atomic&gt;</a></li>
<li><a href="#inline-variables" id="toc-inline-variables">Inline
Variables</a></li>
<li><a href="#variable-templates-and-inline-variables"
id="toc-variable-templates-and-inline-variables">Variable Templates and
Inline Variables</a></li>
<li><a href="#initializing-variables-with-static-storage-duration"
id="toc-initializing-variables-with-static-storage-duration">Initializing
variables with static storage duration</a></li>
Expand Down Expand Up @@ -937,12 +938,18 @@ <h3 id="atomic">&lt;atomic&gt;</h3>
"conservative" memory ordering, which may differ from (may be stronger
than) sequentially consistent. There are algorithms in HotSpot that are
believed to rely on that ordering.</p>
<h3 id="inline-variables">Inline Variables</h3>
<p>Variables with static storage duration may be declared
<code>inline</code> (<a href="https://wg21.link/p0386r2">p0386r2</a>).
This has similar effects as for declaring a function inline: it can be
defined, identically, in multiple translation units, must be defined in
every translation unit in which it is <a
<h3 id="variable-templates-and-inline-variables">Variable Templates and
Inline Variables</h3>
<p>The use of variable templates (including static data member
templates) (<a href="https://wg21.link/N3651">N3651</a>) is permitted.
They provide parameterized variables and constants in a simple and
direct form, instead of requiring the use of various workarounds.</p>
<p>Variables with static storage duration and variable templates may be
declared <code>inline</code> (<a
href="https://wg21.link/p0386r2">p0386r2</a>), and this usage is
permitted. This has similar effects as for declaring a function inline:
it can be defined, identically, in multiple translation units, must be
defined in every translation unit in which it is <a
href="https://en.cppreference.com/w/cpp/language/definition"
title="One Definition Rule">ODR used</a>, and the behavior of the
program is as if there is exactly one variable.</p>
Expand All @@ -955,16 +962,17 @@ <h3 id="inline-variables">Inline Variables</h3>
ordering constraints that exist for non-inline variables don't apply, as
there isn't a single program-designated translation unit containing the
definition.</p>
<p>A <code>constexpr</code> static data member is implicitly
<code>inline</code>. As a consequence, an <a
<p>A <code>constexpr</code> static data member or static data member
template is implicitly <code>inline</code>. As a consequence, an <a
href="https://en.cppreference.com/w/cpp/language/definition"
title="One Definition Rule">ODR use</a> of such a variable doesn't
require a definition in some .cpp file. (This is a change from
pre-C++17. Beginning with C++17, such a definition is considered a
duplicate definition, and is deprecated.)</p>
<p>Declaring a <code>thread_local</code> variable <code>inline</code> is
forbidden for HotSpot code. <a href="#thread_local">The use of
<code>thread_local</code></a> is already heavily restricted.</p>
title="One Definition Rule">ODR use</a> of such a member doesn't require
a definition in some .cpp file. (This is a change from pre-C++17.
Beginning with C++17, such a definition is considered a duplicate
definition, and is deprecated.)</p>
<p>Declaring a <code>thread_local</code> variable template or
<code>inline</code> variable is forbidden in HotSpot code. <a
href="#thread_local">The use of <code>thread_local</code></a> is already
heavily restricted.</p>
<h3
id="initializing-variables-with-static-storage-duration">Initializing
variables with static storage duration</h3>
Expand Down Expand Up @@ -1851,11 +1859,6 @@ <h3 id="stdlaunder"><code>std::launder()</code></h3>
<h3 id="additional-undecided-features">Additional Undecided
Features</h3>
<ul>
<li><p>Trailing return type syntax for functions (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm">n2541</a>)</p></li>
<li><p>Variable templates (<a
href="https://isocpp.org/files/papers/N3651.pdf">n3651</a>, <a
href="http://wg21.link/p0127r2">p0127r2</a>)</p></li>
<li><p>Member initializers and aggregates (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html">n3653</a>)</p></li>
<li><p>Rvalue references and move semantics</p></li>
Expand Down
36 changes: 18 additions & 18 deletions doc/hotspot-style.md
Original file line number Diff line number Diff line change
Expand Up @@ -856,14 +856,19 @@ ordering, which may differ from (may be stronger than) sequentially
consistent. There are algorithms in HotSpot that are believed to rely
on that ordering.

### Inline Variables
### Variable Templates and Inline Variables

Variables with static storage duration may be declared `inline`
([p0386r2](https://wg21.link/p0386r2)). This has similar effects as for
declaring a function inline: it can be defined, identically, in multiple
translation units, must be defined in every translation unit in which it is
[ODR used][ODR], and the behavior of the program is as if there is exactly one
variable.
The use of variable templates (including static data member templates)
([N3651](https://wg21.link/N3651)) is permitted. They provide parameterized
variables and constants in a simple and direct form, instead of requiring the
use of various workarounds.

Variables with static storage duration and variable templates may be declared
`inline` ([p0386r2](https://wg21.link/p0386r2)), and this usage is
permitted. This has similar effects as for declaring a function inline: it can
be defined, identically, in multiple translation units, must be defined in
every translation unit in which it is [ODR used][ODR], and the behavior of the
program is as if there is exactly one variable.

Declaring a variable inline allows the complete definition to be in a header
file, rather than having a declaration in a header and the definition in a
Expand All @@ -874,13 +879,15 @@ make initialization order problems worse. The few ordering constraints
that exist for non-inline variables don't apply, as there isn't a single
program-designated translation unit containing the definition.

A `constexpr` static data member is implicitly `inline`. As a consequence, an
[ODR use][ODR] of such a variable doesn't require a definition in some .cpp
A `constexpr` static data member or static data member template
is implicitly `inline`. As a consequence, an
[ODR use][ODR] of such a member doesn't require a definition in some .cpp
file. (This is a change from pre-C++17. Beginning with C++17, such a
definition is considered a duplicate definition, and is deprecated.)

Declaring a `thread_local` variable `inline` is forbidden for HotSpot code.
[The use of `thread_local`](#thread_local) is already heavily restricted.
Declaring a `thread_local` variable template or `inline` variable is forbidden
in HotSpot code. [The use of `thread_local`](#thread_local) is already
heavily restricted.

### Initializing variables with static storage duration

Expand Down Expand Up @@ -1846,13 +1853,6 @@ See Object Lifetime: C++17 6.8/8, C++20 6.7.3/8

### Additional Undecided Features

* Trailing return type syntax for functions
([n2541](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm))

* Variable templates
([n3651](https://isocpp.org/files/papers/N3651.pdf),
[p0127r2](http://wg21.link/p0127r2))

* Member initializers and aggregates
([n3653](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html))

Expand Down
42 changes: 0 additions & 42 deletions make/autoconf/flags-cflags.m4
Original file line number Diff line number Diff line change
Expand Up @@ -934,48 +934,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
IF_FALSE: [$2FDLIBM_CFLAGS=""])
fi
AC_SUBST($2FDLIBM_CFLAGS)

# Check whether the compiler supports the Arm C Language Extensions (ACLE)
# for SVE. Set SVE_CFLAGS to -march=armv8-a+sve if it does.
# ACLE and this flag are required to build the aarch64 SVE related functions in
# libvectormath. Apple Silicon does not support SVE; use macOS as a proxy for
# that check.
if test "x$OPENJDK_TARGET_CPU" = "xaarch64" && test "x$OPENJDK_TARGET_OS" = "xlinux"; then
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
AC_LANG_PUSH(C)
OLD_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -march=armv8-a+sve"
AC_MSG_CHECKING([if Arm SVE ACLE is supported])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <arm_sve.h>],
[
svint32_t r = svdup_n_s32(1);
return 0;
])],
[
AC_MSG_RESULT([yes])
$2SVE_CFLAGS="-march=armv8-a+sve"
# Switching the initialization mode with gcc from 'pattern' to 'zero'
# avoids the use of unsupported `__builtin_clear_padding` for variable
# length aggregates
if test "x$DEBUG_LEVEL" != xrelease && test "x$TOOLCHAIN_TYPE" = xgcc ; then
INIT_ZERO_FLAG="-ftrivial-auto-var-init=zero"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$INIT_ZERO_FLAG],
IF_TRUE: [
$2SVE_CFLAGS="${$2SVE_CFLAGS} $INIT_ZERO_FLAG"
]
)
fi
],
[
AC_MSG_RESULT([no])
$2SVE_CFLAGS=""
]
)
CFLAGS="$OLD_CFLAGS"
AC_LANG_POP(C)
fi
fi
AC_SUBST($2SVE_CFLAGS)
])

AC_DEFUN_ONCE([FLAGS_SETUP_BRANCH_PROTECTION],
Expand Down
56 changes: 56 additions & 0 deletions make/autoconf/flags-other.m4
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,62 @@ AC_DEFUN([FLAGS_SETUP_NMFLAGS],
AC_SUBST(NMFLAGS)
])

# Check whether the compiler supports the Arm C Language Extensions (ACLE)
# for SVE. Set SVE_CFLAGS to -march=armv8-a+sve if it does.
# ACLE and this flag are required to build the aarch64 SVE related functions
# in libvectormath.
AC_DEFUN([FLAGS_SETUP_SVE],
[
AARCH64_SVE_AVAILABLE=false
# Apple Silicon does not support SVE; use macOS as a proxy for that check.
if test "x$OPENJDK_TARGET_CPU" = "xaarch64" && test "x$OPENJDK_TARGET_OS" = "xlinux"; then
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# check the compiler and binutils support sve or not
AC_MSG_CHECKING([if Arm SVE ACLE is supported])
AC_LANG_PUSH([C])
saved_cflags="$CFLAGS"
CFLAGS="$CFLAGS -march=armv8-a+sve $CFLAGS_WARNINGS_ARE_ERRORS ARG_ARGUMENT"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[
#include <arm_sve.h>
svfloat64_t a() {}
],
[
svint32_t r = svdup_n_s32(1)
])],
[
AARCH64_SVE_AVAILABLE=true
]
)
CFLAGS="$saved_cflags"
AC_LANG_POP([C])
AC_MSG_RESULT([$AARCH64_SVE_AVAILABLE])
fi
fi

UTIL_ARG_ENABLE(NAME: aarch64-sve, DEFAULT: auto,
RESULT: AARCH64_SVE_ENABLED,
DESC: [Use SVE when compiling libsleef],
AVAILABLE: $AARCH64_SVE_AVAILABLE)
SVE_CFLAGS=""
if test "x$AARCH64_SVE_ENABLED" = xtrue; then
SVE_CFLAGS="-march=armv8-a+sve"
# Switching the initialization mode with gcc from 'pattern' to 'zero'
# avoids the use of unsupported `__builtin_clear_padding` for variable
# length aggregates
if test "x$DEBUG_LEVEL" != xrelease && test "x$TOOLCHAIN_TYPE" = xgcc ; then
AC_MSG_CHECKING([Switching the initialization mode with gcc from pattern to zero])
INIT_ZERO_FLAG="-ftrivial-auto-var-init=zero"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$INIT_ZERO_FLAG],
IF_TRUE: [
SVE_CFLAGS="${SVE_CFLAGS} $INIT_ZERO_FLAG"
]
)
fi
fi
AC_SUBST(SVE_CFLAGS)
])

################################################################################
# platform independent
AC_DEFUN([FLAGS_SETUP_ASFLAGS],
Expand Down
1 change: 1 addition & 0 deletions make/autoconf/flags.m4
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,7 @@ AC_DEFUN([FLAGS_SETUP_FLAGS],
FLAGS_SETUP_RCFLAGS
FLAGS_SETUP_NMFLAGS

FLAGS_SETUP_SVE
FLAGS_SETUP_ASFLAGS
FLAGS_SETUP_ASFLAGS_CPU_DEP([TARGET])
FLAGS_SETUP_ASFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
Expand Down
2 changes: 1 addition & 1 deletion src/hotspot/cpu/aarch64/assembler_aarch64.inline.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#ifndef CPU_AARCH64_ASSEMBLER_AARCH64_INLINE_HPP
#define CPU_AARCH64_ASSEMBLER_AARCH64_INLINE_HPP

#include "asm/assembler.inline.hpp"
#include "asm/assembler.hpp"
#include "asm/codeBuffer.hpp"
#include "code/codeCache.hpp"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ address BarrierSetAssembler::patching_epoch_addr() {
}

void BarrierSetAssembler::increment_patching_epoch() {
Atomic::inc(&_patching_epoch);
AtomicAccess::inc(&_patching_epoch);
}

void BarrierSetAssembler::clear_patching_epoch() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,22 +112,22 @@ class NativeNMethodBarrier {
}

int get_value() {
return Atomic::load_acquire(guard_addr());
return AtomicAccess::load_acquire(guard_addr());
}

void set_value(int value, int bit_mask) {
if (bit_mask == ~0) {
Atomic::release_store(guard_addr(), value);
AtomicAccess::release_store(guard_addr(), value);
return;
}
assert((value & ~bit_mask) == 0, "trying to set bits outside the mask");
value &= bit_mask;
int old_value = Atomic::load(guard_addr());
int old_value = AtomicAccess::load(guard_addr());
while (true) {
// Only bits in the mask are changed
int new_value = value | (old_value & ~bit_mask);
if (new_value == old_value) break;
int v = Atomic::cmpxchg(guard_addr(), old_value, new_value, memory_order_release);
int v = AtomicAccess::cmpxchg(guard_addr(), old_value, new_value, memory_order_release);
if (v == old_value) break;
old_value = v;
}
Expand Down
2 changes: 1 addition & 1 deletion src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1623,7 +1623,7 @@ class MacroAssembler: public Assembler {
FloatRegister p, FloatRegister z, FloatRegister t1);
void ghash_reduce_wide(int index, FloatRegister result, FloatRegister lo, FloatRegister hi,
FloatRegister p, FloatRegister z, FloatRegister t1);
void ghash_processBlocks_wide(address p, Register state, Register subkeyH,
void ghash_processBlocks_wide(Label& p, Register state, Register subkeyH,
Register data, Register blocks, int unrolls);


Expand Down
7 changes: 5 additions & 2 deletions src/hotspot/cpu/aarch64/macroAssembler_aarch64_aes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,7 @@ void MacroAssembler::ghash_modmul(FloatRegister result,
//
// Clobbers all vector registers.
//
void MacroAssembler::ghash_processBlocks_wide(address field_polynomial, Register state,
void MacroAssembler::ghash_processBlocks_wide(Label& field_polynomial, Register state,
Register subkeyH,
Register data, Register blocks, int unrolls) {
int register_stride = 7;
Expand All @@ -531,7 +531,10 @@ void MacroAssembler::ghash_processBlocks_wide(address field_polynomial, Register
FloatRegister p = v31;
eor(vzr, T16B, vzr, vzr); // zero register

ldrq(p, field_polynomial); // The field polynomial
// load polynomial via label which must identify local data in the
// same code stub
adr(rscratch1, field_polynomial);
ldrq(p, rscratch1); // The field polynomial

ldrq(v0, Address(state));
ldrq(Hprime, Address(subkeyH));
Expand Down
Loading
Loading