This commit is contained in:
Jesper Wilhelmsson 2022-12-21 23:50:59 +00:00
commit 34cdda5b83
9 changed files with 16 additions and 12 deletions
make
src
test/hotspot/jtreg/compiler/codecache

@ -619,7 +619,7 @@ $(foreach n, 0 1 2, \
$(eval specs_bottom_rel_path := $(specs_bottom_rel_path)../) \
)
SPECS_TOP := $(if $(filter true, $(IS_DRAFT)), <header class="draft-header">$(DRAFT_TEXT)</header>)
SPECS_TOP := $(if $(filter true, $(IS_DRAFT)), <header class="draft-header" role="banner">$(DRAFT_TEXT)</header>)
# For all html files in $module/share/specs directories, copy and add the
# copyright footer.

@ -3709,7 +3709,7 @@ void StubGenerator::generate_initial() {
StubRoutines::_updateBytesCRC32 = generate_updateBytesCRC32();
}
if (UsePolyIntrinsics) {
if (UsePoly1305Intrinsics) {
StubRoutines::_poly1305_processBlocks = generate_poly1305_processBlocks();
}

@ -1351,14 +1351,14 @@ void VM_Version::get_processor_features() {
#ifdef _LP64
if (supports_avx512ifma() && supports_avx512vlbw() && MaxVectorSize >= 64) {
if (FLAG_IS_DEFAULT(UsePolyIntrinsics)) {
FLAG_SET_DEFAULT(UsePolyIntrinsics, true);
if (FLAG_IS_DEFAULT(UsePoly1305Intrinsics)) {
FLAG_SET_DEFAULT(UsePoly1305Intrinsics, true);
}
} else
#endif
if (UsePolyIntrinsics) {
if (UsePoly1305Intrinsics) {
warning("Intrinsics for Poly1305 crypto hash functions not available on this CPU.");
FLAG_SET_DEFAULT(UsePolyIntrinsics, false);
FLAG_SET_DEFAULT(UsePoly1305Intrinsics, false);
}
#ifdef _LP64

@ -483,7 +483,7 @@ bool vmIntrinsics::disabled_by_jvm_flags(vmIntrinsics::ID id) {
if (!UseBASE64Intrinsics) return true;
break;
case vmIntrinsics::_poly1305_processBlocks:
if (!UsePolyIntrinsics) return true;
if (!UsePoly1305Intrinsics) return true;
break;
case vmIntrinsics::_updateBytesCRC32C:
case vmIntrinsics::_updateDirectByteBufferCRC32C:

@ -314,9 +314,12 @@ void MutableNUMASpace::bias_region(MemRegion mr, int lgrp_id) {
assert(region().contains(aligned_region), "Sanity");
// First we tell the OS which page size we want in the given range. The underlying
// large page can be broken down if we require small pages.
os::realign_memory((char*)aligned_region.start(), aligned_region.byte_size(), page_size());
const size_t os_align = UseLargePages ? page_size() : os::vm_page_size();
os::realign_memory((char*)aligned_region.start(), aligned_region.byte_size(), os_align);
// Then we uncommit the pages in the range.
os::free_memory((char*)aligned_region.start(), aligned_region.byte_size(), page_size());
// The alignment_hint argument must be less than or equal to the small page
// size if not using large pages or else this function does nothing.
os::free_memory((char*)aligned_region.start(), aligned_region.byte_size(), os_align);
// And make them local/first-touch biased.
os::numa_make_local((char*)aligned_region.start(), aligned_region.byte_size(), lgrp_id);
}

@ -7003,7 +7003,7 @@ bool LibraryCallKit::inline_base64_decodeBlock() {
bool LibraryCallKit::inline_poly1305_processBlocks() {
address stubAddr;
const char *stubName;
assert(UsePolyIntrinsics, "need Poly intrinsics support");
assert(UsePoly1305Intrinsics, "need Poly intrinsics support");
assert(callee()->signature()->size() == 5, "poly1305_processBlocks has %d parameters", callee()->signature()->size());
stubAddr = StubRoutines::poly1305_processBlocks();
stubName = "poly1305_processBlocks";

@ -238,7 +238,7 @@ const int ObjectAlignmentInBytes = 8;
product(bool, UseBASE64Intrinsics, false, \
"Use intrinsics for java.util.Base64") \
\
product(bool, UsePolyIntrinsics, false, DIAGNOSTIC, \
product(bool, UsePoly1305Intrinsics, false, DIAGNOSTIC, \
"Use intrinsics for sun.security.util.math.intpoly") \
\
product(size_t, LargePageSizeInBytes, 0, \

@ -65,7 +65,7 @@ import javax.tools.StandardLocation;
* <h3>Options and Environment Variables</h3>
*
* The full set of options and environment variables supported by <em>javac</em>
* is given in the <a href="../specs/man/javac.html"><em>javac Tool Guide</em></a>.
* is given in the <a href="../../specs/man/javac.html"><em>javac Tool Guide</em></a>.
* However, there are some restrictions when the compiler is invoked through
* its API.
*

@ -27,6 +27,7 @@
* @bug 8295724
* @requires vm.compMode == "Xmixed"
* @requires vm.opt.TieredCompilation == null | vm.opt.TieredCompilation == true
* @requires vm.opt.TieredStopAtLevel == null | vm.opt.TieredStopAtLevel == 4
* @summary test allocation failure of method handle intrinsic in profiled/non-profiled space
* @library /test/lib
* @modules java.base/jdk.internal.misc