Enterprise Performance Pack Release Notes

Java SE 8u391 Enterprise Performance Pack - Bug Fixes and Updates

The following sections summarize changes made in Java SE 8u391 Enterprise Performance Pack. Bug fixes and any other changes are listed below in date order, most current update first. Note that bug fixes in the previous BPR are also included in the current update release.


Changes in Java SE 8u391-Perf b33

Bug Fixes

October 19, 2023

This BPR contains all of the fixes included in the previous JDK 8 Enterprise Performance Pack BPR.

Java™ SE Development Kit 8, Update 391 Enterprise Performance Pack (JDK 8u391-PERF)

October 17, 2023

The full version string for this update release is 8u391-perf-b13 (where "b" means "build"). The version number is 8u391-perf.


IANA TZ Data 2023c

For more information, refer to Timezone Data Versions in the JRE Software.


Security Baselines

The security baselines for the Java Runtime Environment (JRE) at the time of the release of JDK 8u391 are specified in the following table:

JRE Family Version JRE Security Baseline (Full Version String)


Keeping the JDK up to Date

Oracle recommends that the JDK is updated with each Critical Patch Update. In order to determine if a release is the latest, the Security Baseline page can be used to determine which is the latest version for each release family.

Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Bulletins. It is not recommended that this JDK (version 8u391) be used after the next critical patch update scheduled for January 16, 2024.

Java SE Subscription customers managing JRE updates/installs for large number of desktops should consider using Java Advanced Management Console (AMC).

For systems unable to reach the Oracle Servers, a secondary mechanism expires this JRE (version 8u391) on 2024-02-16. After either condition is met (new release becoming available or expiration date reached), the JRE will provide additional warnings and reminders to users to update to the newer version. For more information, see 23.1.2 JRE Expiration Date in the Java Platform, Standard Edition Deployment Guide.

Other Notes

 GregorianCalender.computeTime() JVM Crash (JDK-8308884)

A virtual machine crash was observed in JDK 11.0.19 and 17.0.7 when executing the GregorianCalender.computeTime() method (JDK-8307683). It was found that although the root cause of the crash is an old issue, a recent fix for a rare issue in the C2 compiler (JDK-8297951) made the crash much more likely. To mitigate this, the fix has been reverted in JDK 11.0.20 and 17.0.8 and will be reapplied once JDK-8307683 is resolved.


Changes in Java SE 8u391-Perf

Bug Fixes

JDK 8u391 Enterprise Performance Pack includes the following fixes from JDK 17:
# BugId Component Subcomponent Summary
1JDK-8274243hotspotcompilerImplement fast-path for ASCII-compatible CharsetEncoders on aarch64
2JDK-8299544hotspotcompilerImprove performance of CRC32C intrinsics (non-AVX-512) for small inputs
3JDK-8153837hotspotcompilerAArch64: Handle special cases for MaxINode & MinINode
4JDK-8272586hotspotcompileremit abstract machine code in hs-err logs
5JDK-8308192hotspotcompilerError in parsing replay file when staticfield is an array of single dimension
6JDK-8309266hotspotcompilerC2: assert(final_con == (jlong)final_int) failed: final value should be integer
7JDK-8300584hotspotcompilerAccelerate AVX-512 CRC32C for small buffers
8JDK-8274986hotspotcompilermax code printed in hs-err logs should be configurable
9JDK-8310126hotspotcompilerC1: Missing receiver null check in Reference::get intrinsic
10JDK-8284760hotspotcompilerCorrect type/array element offset in LibraryCallKit::get_state_from_digest_object()
11JDK-8299158hotspotcompilerImprove MD5 intrinsic on AArch64
12JDK-8303154hotspotcompilerInvestigate and improve instruction cache flushing during compilation
13JDK-8252990hotspotcompilerIntrinsify Unsafe.storeStoreFence
14JDK-8305088hotspotcompilerSIGSEGV in Method::is_method_handle_intrinsic
15JDK-8296545hotspotcompilerC2 Blackholes should allow load optimizations
16JDK-8292713hotspotcompilerUnsafe.allocateInstance should be intrinsified without UseUnalignedAccesses
17JDK-8302736hotspotcompilerMajor performance regression in Math.log on aarch64
18JDK-8307572hotspotcompilerAArch64: Vector registers are clobbered by some macroassemblers
19JDK-8280396hotspotgcG1: Full gc mark stack draining should prefer to make work available to other threads
20JDK-8308643hotspotgcIncorrect value of 'used' jvmstat counter
21JDK-8284532hotspotjfrMemory leak in BitSet::BitMapFragmentTable in JFR leak profiler
22JDK-8283520hotspotjfrJFR: Memory leak in dcmd_arena
23JDK-8307526hotspotjfr[JFR] Better handling of tampered JFR repository
24JDK-8309862hotspotjfrUnsafe list operations in JfrStringPool
25JDK-8307331hotspotjvmtiCorrectly update line maps when class redefine rewrites bytecodes crashed with assert(early->flag() == current->flag() || early->flag() == mtNone)
27JDK-8297887hotspotruntimeUpdate Siphash
28JDK-8305425hotspotruntimeThread.isAlive0 doesn't need to call into the VM
29JDK-8269466hotspotruntimeFactor out the common code for initializing and starting internal VM JavaThreads
30JDK-8287854hotspotruntimeDangling reference in ClassVerifier::verify_class
31JDK-8303215hotspotruntimeMake thread stacks not use huge pages
32JDK-8290067hotspotruntimeShow stack dimensions in UL logging when attaching threads
33JDK-8283849hotspotsvcAsyncGetCallTrace may crash JVM on guarantee
34JDK-8301170hotspotsvcperfMemory_windows.cpp add free_security_attr to early returns
35JDK-8295657hotspotsvc-agentSA: Allow larger object alignments