RELEASE NOTES FOR: 21 ==================================================================================================== Notes generated: Fri Jun 07 14:56:12 CEST 2024 Hint: Prefix bug IDs with https://bugs.openjdk.org/browse/ to reach the relevant JIRA entry. JAVA ENHANCEMENT PROPOSALS (JEP): JEP 430: String Templates (Preview) Enhance the Java programming language with _string templates_. String templates complement Java's existing string literals and text blocks by coupling literal text with embedded expressions and _template processors_ to produce specialized results. This is a [preview language feature and API](https://openjdk.org/jeps/12). JEP 431: Sequenced Collections Introduce new interfaces to represent collections with a defined encounter order. Each such collection has a well-defined first element, second element, and so forth, up to the last element. It also provides uniform APIs for accessing its first and last elements, and for processing its elements in reverse order. JEP 439: Generational ZGC Improve application performance by extending the Z Garbage Collector ([ZGC](https://openjdk.org/jeps/377)) to maintain separate [generations] for young and old objects. This will allow ZGC to collect young objects — which tend to die young — more frequently. JEP 440: Record Patterns Enhance the Java programming language with _record patterns_ to deconstruct record values. Record patterns and type patterns can be nested to enable a powerful, declarative, and composable form of data navigation and processing. JEP 441: Pattern Matching for switch Enhance the Java programming language with pattern matching for `switch` expressions and statements. Extending pattern matching to `switch` allows an expression to be tested against a number of patterns, each with a specific action, so that complex data-oriented queries can be expressed concisely and safely. JEP 442: Foreign Function & Memory API (Third Preview) Introduce an API by which Java programs can interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the JVM), and by safely accessing foreign memory (i.e., memory not managed by the JVM), the API enables Java programs to call native libraries and process native data without the brittleness and danger of JNI. This is a [preview API](https://openjdk.org/jeps/12). JEP 443: Unnamed Patterns and Variables (Preview) Enhance the Java language with _unnamed patterns_, which match a record component without stating the component's name or type, and _unnamed variables_, which can be initialized but not used. Both are denoted by an underscore character, `_`. This is a [preview language feature](https://openjdk.org/jeps/12). JEP 444: Virtual Threads Introduce *virtual threads* to the Java Platform. Virtual threads are lightweight threads that dramatically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications. JEP 445: Unnamed Classes and Instance Main Methods (Preview) Evolve the Java language so that students can write their first programs without needing to understand language features designed for large programs. Far from using a separate dialect of Java, students can write streamlined declarations for single-class programs and then seamlessly expand their programs to use more advanced features as their skills grow. This is a [preview language feature](https://openjdk.org/jeps/12). JEP 446: Scoped Values (Preview) Introduce _scoped values_, values that may be safely and efficiently shared to methods without using method parameters. They are preferred to thread-local variables, especially when using large numbers of virtual threads. This is a [preview API](https://openjdk.org/jeps/12). JEP 448: Vector API (Sixth Incubator) Introduce an API to express vector computations that reliably compile at runtime to optimal vector instructions on supported CPU architectures, thus achieving performance superior to equivalent scalar computations. JEP 449: Deprecate the Windows 32-bit x86 Port for Removal Deprecate the Windows 32-bit x86 port, with the intent to remove it in a future release. JEP 451: Prepare to Disallow the Dynamic Loading of Agents Issue warnings when agents are loaded dynamically into a running JVM. These warnings aim to prepare users for a future release which disallows the dynamic loading of agents by default in order to [improve integrity by default](https://openjdk.org/jeps/8305968). Serviceability tools that load agents at startup will not cause warnings to be issued in any release. JEP 452: Key Encapsulation Mechanism API Introduce an API for key encapsulation mechanisms (KEMs), an encryption technique for securing symmetric keys using public key cryptography. JEP 453: Structured Concurrency (Preview) Simplify concurrent programming by introducing an API for *structured concurrency*. Structured concurrency treats groups of related tasks running in different threads as a single unit of work, thereby streamlining error handling and cancellation, improving reliability, and enhancing observability. This is a [preview API](https://openjdk.org/jeps/12). RELEASE NOTES: tools/javac: JDK-8287885: Generate "output file clash" Warning when an Output File is Overwritten During Compilation Prior to JDK 21, the `javac` compiler was overwriting some output files during compilation. This can occur, for example, on case-insensitive filesystems. Starting from JDK 21 a new compiler option: `-Xlint:output-file-clash` has been added to the `javac` compiler. This new option should provide a way for users experiencing this problem to convert what is currently a runtime error into a compile-time warning (or error with `-Werror`). This new compiler option enables output file clash detection. The term "output file" covers class files, source files, and native header files. JDK-8292275: Emit `synthetic` and `mandated` Flags for Parameters by Default Prior to JDK 21, the `javac` compiler did not always mark method parameters as `synthetic` or `mandated` when applicable. Starting with JDK 21, the `javac` compiler emits the `MethodParameters` attribute in the class file when applicable. This attribute stores information on whether or not parameters are `synthetic` or `mandated`. This change applies to all release and target versions supported by `javac` since all currently supported releases and targets have the `MethodParameters` attribute defined. This change is justified by JLS § 13.1, in particular: A binary representation for a class or interface must also contain all of the following: [...] 11. A construct emitted by a Java compiler must be marked as synthetic if it does not correspond to a construct declared explicitly or implicitly in source code, unless the emitted construct is a class initialization method (JVMS §2.9). 12. A construct emitted by a Java compiler must be marked as mandated if it corresponds to a formal parameter declared implicitly in source code (§8.8.1, §8.8.9, §8.9.3, §15.9.5.1). JDK-8026369: Generate "potentially ambiguous overload" Warning for Inherited Methods Prior to JDK 21, the `javac` compiler was omitting some "potentially ambiguous overload" warnings enabled by the `-Xlint:overloads` option. If the `-Xlint:overloads` option is enabled, the compiler warns when the methods in a class create a potential ambiguity for method invocations containing an implicit lambda expression parameter like `x -> { ... }`. An ambiguity can occur if two or more methods could match such a method call, like when one method takes a `Consumer` parameter where the other takes an `IntConsumer`. For example, the `javac` compiler should issue a warning for code such as: ``` interface I { void foo(Consumer c); void foo(IntConsumer c); } ``` Prior to JDK 21, the warning was only issued for a class if one of the methods was declared in the class. The `javac` compiler now also warns when neither method is declared in the class. That is, both methods are inherited from supertypes. For example, for code like: ``` interface I { void foo(Consumer c); } interface J { void foo(IntConsumer c); } interface K extends I, J {} ``` JDK-8015831: New `javac` Warning When Calling Overridable Methods in Constructors The new lint option, `this-escape`, has been added to `javac` to warn about calls to overridable methods in the constructor body which might result in access to a partially constructed object from subclasses. The new warning can be suppressed using `SuppressWarnings("this-escape")`. JDK-8027682: Disallow Extra Semicolons Between "import" Statements The Java Language Specification does not allow extra semicolons to appear between `import` statements, yet the compiler was allowing them; [JDK-8027682](https://bugs.openjdk.org/browse/JDK-8027682) fixed this. As a result, a program like this, which previously would have compiled successfully: import java.util.Map;;;; import java.util.Set; class Test { } will now generate an error: Test.java:1: error: extraneous semicolon import java.util.Map;;;; ^ For backward compatibility, when compiling source versions prior to 21, a warning is generated instead of an error. JDK-8296656: Detection for Output File Clashes A new compiler lint flag, `output-file-clash`, enables detection of output file clashes. An output file clash is when the compiler intends to write two different output files, but due to the behavior of the operating system, these files end up being written to the same underlying file. This usually happens due to case-insensitive file systems. For example, a class like this would cause two class files to be written to the same file, `Test$Inner.class`: ```java public class Test { class Inner { } class INNER { } } ``` However, this problem can also happen when the file system "normalizes" file names. For example, on macOS, compiling this class will generate such a clash: ```java public class Test { interface Cafe\u0301 { } interface Caf\u00e9 { } } ``` The reason is that `\u0301` is the Unicode character "Combining Acute Accent" which means "add an accent over the previous character". MacOS normalizes the letter `e` followed by a `\u0301` into a Unicode `\u00e9`, that is, `é`. However, the Java language treats these the two names, `Cafe\u0301` and `Caf\u00e9`, as distinct. Compiling the example above on macOS with `-Xlint:output-file-clash` will now generate a warning like this: ``` warning: [output-file-clash] output file written more than once: /home/test/Test$Café.class ``` JDK-8310061: `javac` Message If Implicit Annotation Processors Are Being Used Annotation processing by `javac` is enabled by default, including when no annotation processing configuration options are present. Implicit annotation processing by default may be disabled in a future release, possibly as early as JDK 22. To alert `javac` users of this possibility, in JDK 21 `javac` prints a note if implicit annotation processing is being used. The text of the note is: ``` Annotation processing is enabled because one or more processors were found on the class path. A future release of javac may disable annotation processing unless at least one processor is specified by name (-processor), or a search path is specified (--processor-path, --processor-module-path), or annotation processing is enabled explicitly (-proc:only, -proc:full). Use -Xlint:-options to suppress this message. Use -proc:none to disable annotation processing. ``` Good build hygiene includes explicitly configuring annotation processing. To ease the transition to a different default policy in the future, the new-in-JDK-21 `-proc:full javac` option requests the current default behavior of looking for annotation processors on the class path. JDK-8303784: Annotations with No `@Target` Annotation Should Be Applicable to Type Parameter Declarations Prior to JDK 21, the `javac` compiler was not allowing annotations with no `@Target` annotation to be applied to type parameter declarations. This is a bug in the `javac` compiler in versions prior to JDK21. [JLS 9.6.4.1](https://docs.oracle.com/javase/specs/jls/se21/html/jls-9.html#jls-9.6.4.1) specifies that annotations without an `@Target` annotation are applicable in 'all declaration contexts', which includes type parameter declarations. Starting from JDK21, the `javac` compiler will accept code like: ``` import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) @interface Anno {} class C<@Anno T> {} ``` This change affects compilations targeting `-source`/`--release` 14 and higher. core-libs/java.util: JDK-8302323: New `StringBuilder` and `StringBuffer` `repeat` Methods The methods `public StringBuilder repeat(int codePoint, int count)` and `public StringBuilder repeat(CharSequence cs, int count)` have been added to `java.lang.StringBuilder` and `java.lang.StringBuffer` to simplify the appending of multiple copies of characters or strings. For example, `sb.repeat('-', 80)` will insert 80 hyphens into the value of the `java.lang.StringBuilder sb` object. JDK-8300869: `java.util.Formatter` May Return Slightly Different Results on `double` and `float` The implementation of `java.util.Formatter` for `double` and `float` conversions to decimal (`'e'`, `'E'`, `'f'`, `'g'`, `'G'`) is now aligned with the one in `Double.toString(double)`, which was changed in JDK 19. As a consequence, in some rare circumstances, the outcomes may slightly differ from the ones in earlier releases. One example is with `double` `2e23` and format `"%.16e"`. With this change, the outcome is `2.0000000000000000e+23`, while earlier releases produce `1.9999999999999998e+23`. Any smaller precision in the format (e.g., "%.15e") on this value will produce outcomes that are equal to each other, though. Another example is with `double` `9.9e-324` and format `"%.2g"`. The new outcome is `9.9e-324`, but earlier releases generate `"1.0e-323"`. tools/jshell: JDK-8306560: JDK Tool Access in JShell The JShell tool for interactive exploration of Java code has been enhanced with a new predefined script, `TOOLING`. The `TOOLING` script provides direct access to the JDK's command line tools, such as `javac`, `javadoc`, and `javap`, from within JShell. Similar to the existing predefined `DEFAULT` and `PRINTING` scripts, the `TOOLING` script can be loaded when JShell starts by running: `jshell TOOLING`. Alternatively, it can be loaded within a JShell session by using: `/open TOOLING`. With the `TOOLING` script loaded, JDK tools can be run by passing a name and arguments to the method `run(String name, String... args)`. The method `tools()` prints the names of available tools. The `TOOLING` script defines convenience methods for the most commonly used tools, such as `javac(String... args)`. Here is an example of running the `javap` tool that disassembles and prints an overview of a class or interface: ```text jshell> interface Empty {} jshell> javap(Empty.class) ``` core-libs/java.net: JDK-8302659: New Network Interface Names on Windows Maintainers of applications that do network multicasting or use the `java.net.NetworkInterface` API should note that the names that the JDK assigns to network interfaces on Windows have changed in this release. The JDK historically synthesized names for network interfaces on Windows. This has changed to use the names assigned by the Windows operating system. For example, the JDK may have historically assigned a name such as “eth0” for an ethernet interface and “lo” for the loopback. The equivalent names that Windows assigns may be names such as “ethernet_32768” and “loopback_0". This change may impact code that does a lookup of network interfaces with the `NetworkInterace.getByName(String name)` method. It also may also be surprising to code that enumerates all network interfaces with the `NetworkInterfaces.networkInterfaces()` or `NetworkInterface.getNetworkInterfaces()` methods as the names of the network interfaces will look different to previous releases. Depending on configuration, it is possible that enumerating all network interfaces will enumerate network interfaces that weren’t previously enumerated because they didn’t have an Internet Protocol address assigned. The display name returned by `NetworkInterface::getDisplayName` has not changed so this should facilitate the identification of network interfaces when using Windows native tools. JDK-8267140: The `java.net.http.HttpClient` Is Now AutoCloseable The following methods have been added to the API: - `void close()`: closes the client gracefully, waiting for submitted requests to complete. - `void shutdown()`: initiates a graceful shutdown, then returns immediately without waiting for the client to terminate. - `void shutdownNow()`: initiates an immediate shutdown, trying to interrupt active operations, and returns immediately without waiting for the client to terminate. - `boolean awaitTermination(Duration duration)`, waits for the client to terminate, within the given duration; returns true if the client is terminated, false otherwise. - `boolean isTerminated()`: returns true if the client is terminated. The instances returned by `HttpClient.newHttpClient()`, and the instances built from `HttpClient.newBuilder()`, provide a best effort implementation for these methods. They allow the reclamation of resources allocated by the `HttpClient` early, without waiting for its garbage collection. Note that an `HttpClient` instance typically manages its own pools of connections, which it may then reuse when necessary. Connection pools are typically not shared between `HttpClient` instances. Creating a new client for each operation, though possible, will usually prevent reusing such connections. hotspot/jvmti: JDK-8307399: JVM TI `ThreadStart` and `ThreadEnd` Events Not Sent for Virtual Threads Maintainers of JVM Tool Interface (JVM TI) agents should note that JVM TI now specifies that the `ThreadStart` and `ThreadEnd` events are not sent for virtual threads. This is different from when virtual threads were a preview feature in Java 19 and Java 20. When the feature was in preview, these events were sent for virtual threads even when the `can_support_virtual_threads` capability was not enabled. Agents that wish to be notified when virtual threads start or terminate need to add the `can_support_virtual_threads` capability and enable the `VirtualThreadStart` and `VirtualThreadEnd` events. core-svc/tools: JDK-8307478: Warning Printed when an Agent Is Loaded into a Running VM The Java Virtual Machine (JVM) now prints a warning to standard error when a JVM Tool Interface (JVM TI) agent or Java Agent is dynamically loaded into a running JVM. The warning is intended to prepare for a future release that disallows, by default, dynamic loading of agent code into a running JVM. Agents are programs that run in the JVM process and make use of powerful JVM TI or `java.lang.instrument` APIs. These APIs are designed to support tooling such as profilers and debuggers. Agents are started via a command line option, for example `-agentlib` or `-javaagent`, or they can be started into a running VM using the JDK specific `com.sun.tools.attach` API or the `jcmd` command. Agents loaded into a running VM will now print a warning. There is no warning for agents that are loaded at startup via command line options. The HotSpot VM option `EnableDynamicAgentLoading` controls dynamic loading of agents. This option has existed since JDK 9. The default, since JDK 9, is to allow dynamic loading of agents. Running with `-XX:+EnableDynamicAgentLoading` on the command line serves as an explicit "opt-in" that allows agent code to be loaded into a running VM and thus suppresses the warning. Running with `-XX:-EnableDynamicAgentLoading` disallows agent code from being loaded into a running VM and can be used to test possible future behavior. In addition, the system property `jdk.instrument.traceUsage` can be used to trace uses of the `java.lang.instrument` API. Running with `-Djdk.instrument.traceUsage` or `-Djdk.instrument.traceUsage=true` causes usages of the API to print a trace message and stack trace. This can be used to identify agents that are dynamically loaded instead of being started on the command line with `-javaagent`. More information on this change can be found in [JEP 451](https://openjdk.org/jeps/451). core-libs/java.util:i18n: JDK-8304982: Emit Warning for Removal of `COMPAT` Provider Users now see a warning message if they specify either `COMPAT` or `JRE` locale data with the `java.locale.providers` system property and call some locale-sensitive operations. `COMPAT` was provided for migration to the `CLDR` locale data at the time of JDK 9, where it became the default locale data ([JEP 252](https://openjdk.org/jeps/252)). JDK 21 retains the legacy locale data of JDK 8 for compatibility, but some of the newer functionalities are not applied. The legacy locale data will be removed in a future release. Users are encouraged to migrate to the `CLDR` locale data. JDK-8296248: Support for CLDR Version 43 Locale data based on the Unicode Consortium's CLDR has been upgraded to version 43. The JDK locale data now employs [`coverageLevels.txt`](https://cldr.unicode.org/index/cldr-spec/coverage-levels ), including the 'basic' and above level locale data, in addition to the data already existing in prior JDK releases for compatibility. For detailed locale data changes, please refer to the [Unicode Consortium's CLDR release notes](https://cldr.unicode.org/index/downloads/cldr-43). core-libs/java.lang: JDK-8307990: Fixed Indefinite `jspawnhelper` Hangs Since JDK 13, executing commands in a sub-process uses the so-called `POSIX_SPAWN` launching mechanism (that is, `-Djdk.lang.Process.launchMechanism=POSIX_SPAWN`) by default on Linux. In cases where the parent JVM process terminates abnormally before the handshake between the JVM and the newly created `jspawnhelper` process has completed, `jspawnhelper` can hang indefinitely in JDK 13 to JDK 20. This issue is fixed in JDK 21. The issue was especially harmful if the parent process had open sockets, because in that case, the forked `jspawnhelper` process will inherit them and keep all the corresponding ports open, effectively preventing other processes from binding to them. This misbehavior has been observed with applications which frequently fork child processes in environments with tight memory constraints. In such cases, the OS can kill the JVM in the middle of the forking process leading to the described issue. Restarting the JVM process after such a crash will be impossible if the new process tries to bind to the same ports as the initial application because they will be blocked by the hanging `jspawnhelper` child process. The root cause of this issue is `jspawnhelper`'s omission to close its writing end of the pipe, which is used for the handshake with the parent JVM. It was fixed by closing the writing end of the communication pipe before attempting to read data from the parent process. This way, `jspawnhelper` will reliably read an EOF event from the communication pipe and terminate once the parent process dies prematurely. A second variant of this issue could happen because the handshaking code in the JDK didn't handle interrupts to `write(2)` correctly. This could lead to incomplete messages being sent to the `jspawnhelper` child process. The result is a deadlock between the parent thread and the child process which manifests itself in a `jspawnhelper` process being blocked while reading from a pipe and the following stack trace in the corresponding parent Java process: ``` java.lang.Thread.State: RUNNABLE at java.lang.ProcessImpl.forkAndExec(java.base@17.0.7/Native Method) at java.lang.ProcessImpl.(java.base@17.0.7/ProcessImpl.java:314) at java.lang.ProcessImpl.start(java.base@17.0.7/ProcessImpl.java:244) at java.lang.ProcessBuilder.start(java.base@17.0.7/ProcessBuilder.java:1110) at java.lang.ProcessBuilder.start(java.base@17.0.7/ProcessBuilder.java:1073) ``` JDK-8303392: `Runtime.exec` and `ProcessBuilder` Logging of Command Arguments Processes started by `Runtime.exec` and `ProcessBuilder` can be enabled to log the command, arguments, directory, stack trace, and process id. The exposure of this information should be reviewed before implementation. Logging of the information is enabled when the logging level of the `System#getLogger(String)` named `java.lang.ProcessBuilder` is `System.Logger.Level.DEBUG` or `Logger.Level.TRACE`. When enabled for `Level.DEBUG`, only the process id, directory, command, and stack trace are logged. When enabled for `Level.TRACE`, the command arguments are included with the process id, directory, command, and stack trace. JDK-8303018: Unicode Emoji Properties The following six new methods are added to `java.lang.Character` for obtaining Emoji character properties, which are defined in the `Unicode Emoji` Technical Standard ([UTS #51](https://unicode.org/reports/tr51/#Emoji_Properties_and_Data_Files)) : ``` - isEmoji(int codePoint) - isEmojiPresentation(int codePoint) - isEmojiModifier(int codePoint) - isEmojiModifierBase(int codePoint) - isEmojiComponent(int codePoint) - isExtendedPictographic(int codePoint) ``` JDK-8301226: `Math.clamp()` and `StrictMath.clamp()` Methods The methods `Math.clamp()` and `StrictMath.clamp()` are added to conveniently clamp the numeric value between the specified minimum and maximum values. Four overloads are provided in both `Math` and `StrictMath` classes for `int`, `long`, `float`, and `double` types. A `clamp(long value, int min, int max)` overload can also be used to safely narrow a `long` value to `int`. JDK-8302590: New `String` `indexOf(int,int,int)` and `indexOf(String,int,int)` Methods to Support a Range of Indices Two new methods `indexOf(int ch, int beginIndex, int endIndex)` and `indexOf(String str, int beginIndex, int endIndex)` are added to `java.lang.String` to support forward searches of character `ch`, and of `String` `str`, respectively, and limited to the specified range of indices. Besides full control on the search range, they are safer to use than `indexOf(int ch, int fromIndex)` and `indexOf(String str, int fromIndex)`, respectively, because they throw an exception on illegal search ranges. Method `indexOf(int ch, int beginIndex, int endIndex)` is covered by JDK-8302590, and method `indexOf(String str, int beginIndex, int endIndex) is covered by JDK-8303648. JDK-8303648: New `String` `indexOf(int,int,int)` and `indexOf(String,int,int)` Methods to Support a Range of Indices Two new methods `indexOf(int ch, int beginIndex, int endIndex)` and `indexOf(String str, int beginIndex, int endIndex)` are added to `java.lang.String` to support forward searches of character `ch`, and of `String` `str`, respectively, and limited to the specified range of indices. Besides full control on the search range, they are safer to use than `indexOf(int ch, int fromIndex)` and `indexOf(String str, int fromIndex)`, respectively, because they throw an exception on illegal search ranges. Method `indexOf(int ch, int beginIndex, int endIndex)` is covered by JDK-8302590, and method `indexOf(String str, int beginIndex, int endIndex) is covered by JDK-8303648. JDK-8297295: `ThreadGroup.allowThreadSuspension` Is Removed The method `java.lang.ThreadGroup.allowThreadSuspension(boolean)` has been removed in this release. The method was used for low memory handling in JDK 1.1 but was never fully specified. It was deprecated and changed to "do nothing" in JDK 1.2 (1998). JDK-8305092: `Thread.sleep(millis, nanos)` Is Now Able to Perform Sub-Millisecond Sleeps The `Thread.sleep(millis, nanos)` method is now able to perform sub-millisecond sleeps on POSIX platforms. Before this change, a non-zero `nanos` argument would round up to a full millisecond. While the precision is improved on most POSIX systems, the actual sleep duration is still subject to the precision and accuracy of system facilities. JDK-8205129: The `java.lang.Compiler` Class Has Been Removed The `java.lang.Compiler` class has been removed. This under-specified API dates from JDK 1.0 and the "Classic VM" used in early JDK releases. Its implementation in the HotSpot VM does nothing but print a warning that it is not supported. The class has been deprecated and marked for removal since JavaSE 9. JDK-8041676: Removal of the `java.compiler` System Property The system property `java.compiler` has been removed from the list of standard system properties. Running with this system property set on the command line will now print a warning to say that the system property is obsolete; it has no other effect. In previous releases, running with `-Djava.compiler` or `-Djava.compiler=NONE` on the command line selected interpreter only execution mode. If needed, the `-Xint` option can be used to run in interpreter only mode. JDK-8301627: `System.exit()` and `Runtime.exit()` Logging Calls to `java.lang.System.exit()` and `Runtime.exit()` are logged to the logger named `java.lang.Runtime` with a logging level of `System.Logger.DEBUG`. When the configuration of the logger allows, the caller can be identified from the stacktrace included in the log. security-libs/javax.crypto:pkcs11: JDK-8301553: Support for Password-Based Cryptography in SunPKCS11 The SunPKCS11 security provider now supports Password-Based Cryptography algorithms for Cipher, Mac, and SecretKeyFactory service types. You will find the list of algorithms in [JDK-8308719](https://bugs.openjdk.org/browse/JDK-8308719). As a result of this enhancement, SunPKCS11 can now be used for privacy and integrity in PKCS #12 key stores. JDK-8295425: SunPKCS11 Provider Now Uses the Same DH Private Exponent Length as Other JDK Providers When initializing the DH `KeyPairGenerator` implementation of the SunPKCS11 provider with the `keysize` argument, it looks up the default DH parameters, including the default private exponent length used by other JDK providers, to initialize the underlying native PKCS11 implementation. If the `KeyPairGenerator` implementation is initialized with the `DHParameterSpec` object having a negative private exponent length, this invalid negative value will also be overridden with a default value matching the DH prime size. specification/language: JDK-8302326: Unnamed Classes and Instance Main Methods (Preview) Unnamed classes and instance main methods enable students to write streamlined declarations for single-class programs and then seamlessly expand their programs later to use more advanced features as their skills grow. Unnamed classes allow the user to provide class content without the full ceremony of the class declaration. The instance main method feature allows the user to drop the formality of `public static void main(String[] args)` and simply declare `void main()`. JDK-8273943: String Templates (Preview) String templates allow text and expressions to be composed without using the `+` operator. The result is often a string, but can also be an object of another type. Each string template has a template processor that validates the text and expressions before composing them, achieving greater safety than basic 'string interpolation' features in other languages. tools/launcher: JDK-8305950: `-XshowSettings:locale` Output Now Includes Tzdata Version The `-XshowSettings` launcher option has been enhanced to print the tzdata version configured with the JDK. The tzdata version is displayed as part of the `locale` showSettings option. Example output using `-X:showSettings:locale`: ``` ..... Locale settings: default locale = English default display locale = English default format locale = English tzdata version = 2023c ..... ``` core-libs/java.nio.charsets: JDK-8301119: Support for GB18030-2022 China National Standard body (CESI) has recently published GB18030-2022 which is an updated version of the GB18030 standard and brings GB18030 in sync with Unicode version 11.0. The `Charset` implementation for this new standard has now replaced the prior `2000` standard. However, this new standard has some incompatible changes from the prior implementation. For those who need to use the old mappings, a new system property `jdk.charset.GB18030` is introduced. By setting its value to `2000`, the previous JDK releases' mappings for the `GB18030 Charset` are used which are based on the `2000` standard. core-svc/javax.management: JDK-8307244: `javax.management.remote.rmi.RMIIIOPServerImpl` Is Removed The class `javax.management.remote.rmi.RMIIIOPServerImpl` has been removed. The IIOP transport was removed from the JMX Remote API in Java 9. This class has been deprecated and its constructor changed to throw `UnsupportedOperationException` since Java 9. JDK-8298966: Deprecate JMX Subject Delegation and the `JMXConnector.getMBeanServerConnection(Subject)` Method for Removal The JMX Subject Delegation feature is deprecated and marked for removal in a future release. This feature is enabled by the method `javax.management.remote.JMXConnector.getMBeanServerConnection(javax.security.auth.Subject)` which is deprecated for removal. If a client application needs to perform operations as, or on behalf of, multiple identities, it will need to make multiple calls to `JMXConnectorFactory.connect()` and to the `getMBeanServerConnection()` method on the returned `JMXConnector`. hotspot/runtime: JDK-8302385: The `MetaspaceReclaimPolicy` Flag has Been Obsoleted The option `MetaspaceReclaimPolicy` existed to fine-tune the memory reclamation behavior of metaspace after class unloading. In practice, this had limited effect and was rarely used. The option has therefore been obsoleted. It now produces an obsolete warning and is ignored. JDK-8308341: The `JNI_GetCreatedJavaVMs` Method Will Now Only Return a Fully Initialized VM In prior releases, `JNI_GetCreatedJavaVMs`: ``` jint JNI_GetCreatedJavaVMs(JavaVM **vmBuf, jsize bufLen, jsize *nVMs); ``` could return a `JavaVM`, via the `vmBuf` array, that was still in the process of being initialized and may not be ready for use. This has now changed so that it will only return fully initialized VMs. It is important that the programmer checks that the returned number of VMs, in `nVMs`, is greater than zero, before trying to use any `vmBuf` entries. JDK-8298469: Obsolete Legacy HotSpot Parallel Class Loading Workaround Option `-XX:+EnableWaitForParallelLoad` Is Removed Some older, user-defined class loaders would workaround a deadlock issue by releasing the class loader lock during the loading process. To prevent these loaders from encountering a `java.lang.LinkageError: attempted duplicate class definition` while loading the same class by parallel threads, the HotSpot Virtual Machine introduced a workaround in JDK 6 that serialized the load attempts, causing the subsequent attempts to wait for the first to complete. The need for class loaders to work this way was removed in JDK 7 when parallel-capable class loaders were introduced, but the workaround remained in the VM. The workaround was deprecated in JDK 20 and the option `-XX:+EnableWaitForParallelLoad` was introduced for users who relied on this legacy behavior. The default for this option was off. In JDK 21, the option `-XX:+EnableWaitForParallelLoad`, and the code to support it, has been removed. See CSR JDK-8304056 for more details. JDK-8291555: Print LockStack in hs_err files We have seen bugs related to the new locking which is used by default since JDK-8315880. It would be helpful to see the LockStack of a crashing JavaThread in hs_err files. core-libs/java.util:collections: JDK-8280836: Sequenced Collections The Sequenced Collection API introduces several new interfaces into the collections framework, providing enhancements to many existing collections classes. The new API facilitates access to elements at each end of a sequenced collection, and provides the ability to view and iterate such collections in reverse order. See [JEP 431](https://openjdk.org/jeps/431) for additional information. The introduction of new collections interfaces, along with default methods, introduces some compatibility risk, including the possibility of both source and binary incompatibilities. The introduction of default methods in an interface hierarchy may cause conflicts with methods declared on existing classes or interfaces that extend collections interfaces - this could result in either source or binary incompatibilities. The introduction of new interfaces also introduces new types into the system, which can change the results of type inference, leading in turn to source incompatibilities. For a discussion of potential incompatibilities and possible ways to mitigate them, please see the document [JDK 21: Sequenced Collections Incompatibilities](https://inside.java/2023/05/12/quality-heads-up/). security-libs/java.security: JDK-8245654: Added Certigna(Dhimyotis) CA Certificate The following root certificate has been added to the cacerts truststore: ``` + Certigna (Dhimyotis) + certignaca DN: CN=Certigna, O=Dhimyotis, C=FR ``` JDK-8307134: Added 4 GTS Root CA Certificates The following root certificates have been added to the cacerts truststore: ``` + Google Trust Services LLC + gtsrootcar1 DN: CN=GTS Root R1, O=Google Trust Services LLC, C=US + Google Trust Services LLC + gtsrootcar2 DN: CN=GTS Root R2, O=Google Trust Services LLC, C=US + Google Trust Services LLC + gtsrootecccar3 DN: CN=GTS Root R3, O=Google Trust Services LLC, C=US + Google Trust Services LLC + gtsrootecccar4 DN: CN=GTS Root R4, O=Google Trust Services LLC, C=US ``` JDK-8286907: `keytool -genseckey` And `-importpass` Commands Warn if Weak PBE Algorithms Are Used The `keytool` `-genseckey` and `-importpass` commands have been updated to warn users when weak password-based encryption algorithms are specified by the `-keyalg` option. JDK-8305975: Added TWCA Root CA Certificate The following root certificate has been added to the cacerts truststore: ``` + TWCA + twcaglobalrootca DN: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW ``` JDK-8304760: Added Microsoft Corporation's 2 TLS Root CA Certificates The following root certificates have been added to the cacerts truststore: ``` + Microsoft Corporation + microsoftecc2017 DN: CN=Microsoft ECC Root Certificate Authority 2017, O=Microsoft Corporation, C=US + Microsoft Corporation + microsoftrsa2017 DN: CN=Microsoft RSA Root Certificate Authority 2017, O=Microsoft Corporation, C=US ``` JDK-8295894: Removed SECOM Trust System's RootCA1 Root Certificate The following root certificate from SECOM Trust System has been removed from the `cacerts` keystore: ``` + alias name "secomscrootca1 [jdk]" Distinguished Name: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP ``` JDK-8308010: KeyFactory Will Reject EncodedKeySpec With Extra Bytes at the End If `KeyFactory.generatePrivate` or `KeyFactory.generatePublic` is called on a `PKCS8EncodedKeySpec` or `X509EncodedKeySpec` object that has extra bytes at the end of its ASN.1 encoding, an `InvalidKeySpecException` will be thrown. Before this code change, these extra bytes were ignored. JDK-8303465: Enhance Contents (Trusted Certificate Entries) of macOS KeychainStore The macOS KeychainStore implementation now exposes certificates with proper trust in the user domain, admin domain, or both. Before, only the user domain was considered. Furthermore, if there exists a "deny" entry for a particular purpose in a certificate's trust settings in either domain, the certificate will not be part of the macOS KeychainStore. JDK-8179502: Enhanced OCSP, Certificate, and CRL Fetch Timeouts This feature delivers an enhanced syntax for properties related to certificate, CRL, and OCSP connect and read timeouts. The new syntax allows the timeout values to be specified either in seconds or milliseconds. This feature also delivers three new System properties related to connect and read timeouts. *New properties*: The existing `com.sun.security.ocsp.timeout` property will now be paired with the new `com.sun.security.ocsp.readtimeout` property. The former property will be used to set timeouts for the transport-layer connection while the latter will be used to manage timeouts for reading the data. The new `com.sun.security.cert.timeout` and `com.sun.security.cert.readtimeout` properties will be used to control connect and read timeouts, respectively, when following an X.509 certificate's AuthorityInfoAccess extension. For the certificate fetching properties, the `com.sun.security.enableAIAcaIssuers` property must be set to `true` in order for fetching to occur and these property timeouts to be enabled. *Enhanced timeout syntax*: The new syntax applies to the aforementioned properties, and also to the `com.sun.security.crl.timeout` and `com.sun.security.crl.readtimeout` properties as well. The allowed syntax is as follows: - A decimal integer will be interpreted in seconds and ensures backward compatibility. - A decimal integer ending in "s" (case-insensitive, no space) appended to it. This will also be interpreted in seconds. - A decimal integer value with "ms" (case-insensitive, no space) appended to it. This will be interpreted as milliseconds. For example, a value of "2500ms" will be a 2.5 second timeout. - Negative, non-numeric, or non-decimal (for example, hexadecimal values prepended by "0x") values will be interpreted as illegal and will default to the 15 second timeout. - Whether the value is interpreted in seconds or milliseconds, a value of zero will disable the timeout. JDK-8302696: Add `final` Keyword to Some Static Methods Added the `final` keyword to the static `java.security.cert.CertStore::getDefaultType()`, `javax.net.ssl.KeyManagerFactory::getDefaultAlgorithm()` and `javax.net.ssl.TrustManagerFactory::getDefaultAlgorithm()` methods. This reverts changes made in JDKs 19 and 20. JDK-8298127: Support for HSS/LMS Signature Verification A new standard signature algorithm named "HSS/LMS" has been introduced. The HSS/LMS algorithm is defined in [RFC 8554: Leighton-Micali Hash-Based Signatures and NIST Special Publication 800-208](https://www.rfc-editor.org/rfc/rfc8554). New `KeyFactory` and `Signature` implementations are available for the algorithm. The `KeyFactory` only operates on public keys and the `Signature` only covers the verification part. core-libs/java.time: JDK-8307466: Error Computing the Amount of Milli- and Microseconds between `java.time.Instants` The computation of the time between `java.time.Instants` using `ChronoUnit.MILLIS.between(t1, t2)`, `ChronoUnit.MICROS.between(t1, t2)`, `t1.until(t2, MILLIS)`, or `t1.until(t2, MICROS)` has been corrected. The implementation computing the number of units between Instants, as of JDK 18, did not propagate carry and borrow between seconds and nanoseconds when computing milliseconds and microseconds. xml/jaxp: JDK-8303530: Changes to JAXP Configuration Files The following changes have been made with regard to the JAXP configuration files: - Added the `jaxp.properties` file to the JDK at `$JAVA_HOME/conf/jaxp.properties` as the default JAXP configuration file. Property settings in the file reflect the current, built-in defaults for the JDK. - Added a new System Property, `java.xml.config.file`, for specifying the location of a custom configuration file. If it is set and the named file exists, the property settings contained in the file override those in the default JAXP configuration file. For more details, see the Configuration section of the module specification. - Deprecated the `stax.properties` file that was defined in the StAX API and used by the StAX factories. It had been made redundant after StAX's integration into JAXP since the function has been fully covered by the JAXP configuration file. It is recommended that applications migrate to the JAXP configuration file as the `stax.properties` file is deprecated and may no longer be supported in the future. core-libs/java.io:serialization: JDK-8306461: `ObjectInputStream::readObject()` Should Handle Negative Array Sizes without Throwing `NegativeArraySizeExceptions` `ObjectInputStream::readObject()` now throws a `StreamCorruptedException` instead of a `NegativeArraySizeException` when reading an array with a negative array size from a corrupted object input stream. Collection classes with a custom `readObject()` method which previously threw a `NegativeArraySizeException` when the number of their elements read from the deserialization stream was negative will now throw a `StreamCorruptedException` instead. security-libs/javax.xml.crypto: JDK-8301260: New System Property to Toggle XML Signature Secure Validation Mode A new system property named `org.jcp.xml.dsig.secureValidation` has been added. It can be used to enable or disable the XML Signature secure validation mode. The system property should be set to "true" to enable, or "false" to disable. Any other value for the system property is treated as "false". If the system property is set, it supersedes the `XMLCryptoContext` property value. Secure validation mode is enabled by default if you are running the code with a SecurityManager, otherwise it is disabled by default. JDK-8301260: New System Property to Toggle XML Signature Secure Validation Mode A new system property named `org.jcp.xml.dsig.secureValidation` has been added. It can be used to enable or disable the XML Signature secure validation mode. The system property should be set to "true" to enable, or "false" to disable. Any other value for the system property is treated as "false". If the system property is set, it supersedes the `XMLCryptoContext` property value. By default, secure validation mode is enabled. Disabling secure validation mode is done at your own risk. JDK-8305972: Update XML Security for Java to 3.0.2 The XML Signature implementation has been updated to Santuario 3.0.2. Support for the following EdDSA signatures has been added: `ED25519` and `ED448`. While these new algorithm URIs are not defined in `javax.xml.crypto.dsig.SignatureMethod` in the JDK Update releases, they may be represented as string literals in order to be functionally equivalent. The JDK supports EdDSA since [JDK 15](https://openjdk.org/jeps/339). Releases earlier than that may use 3rd party security providers. One other difference is that the JDK still supports the [`here()` function](https://www.w3.org/TR/xmldsig-core1/#function-here) by default. However, we recommend avoiding the use of the `here()` function in new signatures and replacing existing signatures that use the `here()` function. Future versions of the JDK will likely disable, and eventually remove, support for this function, as it cannot be supported using the standard Java XPath API. Users can now disable the `here()` function by setting the security property `jdk.xml.dsig.hereFunctionSupported` to "false". JDK-8305972: Update XML Security for Java to 3.0.2 The XML Signature implementation has been updated to Santuario 3.0.2. The main, new feature is support for EdDSA. One difference is that the JDK still supports the [`here()` function](https://www.w3.org/TR/xmldsig-core1/#function-here) by default. However, we recommend avoiding the use of the `here()` function in new signatures and replacing existing signatures that use the `here()` function. Future versions of the JDK will likely disable, and eventually remove, support for this function, as it cannot be supported using the standard Java XPath API. Users can now disable the `here()` function by setting the security property `jdk.xml.dsig.hereFunctionSupported` to "false". security-libs/jdk.security: JDK-8303410: Removal of ContentSigner APIs and `jarsigner -altsigner` and `-altsignerpath` Options The jarsigner options `-altsigner` and `-altsignerpath` have been removed, along with the underlying `ContentSigner` API in the `com.sun.jarsigner` package. The mechanism was deprecated in JDK 9 and marked for removal in JDK 15. core-libs/java.text: JDK-8308108: Support Unicode Extension for Collation Settings The BCP 47 Unicode extension for the `strength` and `normalization` collation settings are now supported in the `java.text.Collator`. If the locale passed to the `getInstance(Locale)` factory method contains `ks` and/or `kk` collation settings, the created `Collator` instance is set to have the strength and the decomposition modes corresponding to the specified strength and normalization settings. JDK-8307547: Support Variant Collations `java.text.Collator` now supports multiple collations for a locale. The type of collation may be specified with the [Unicode collation identifier](https://www.unicode.org/reports/tr35/#UnicodeCollationIdentifier) if the runtime provides an implementation. For example, the `Collator` instance created with the locale `sv-u-co-trad`, traditional collation in the Swedish language, may sort strings, treating `v` and `w` the same. JDK-8306927: Swedish Collation Rules Swedish collation rules have been modified to reflect the modern sorting for the language. Collation in Swedish now distinguishes 'v' and 'w' as well as sorting alphabetically. For example, `{"wb", "va", "vc"}` is sorted as `{"va", "vc", "wb"}` with this change, whereas previously it was sorted as `{"va", "wb", "vc"}`. In order to specify the old collation, use the `co` Unicode identifier in the locale. Refer to [Support variant collations](https://bugs.openjdk.org/browse/JDK-8307547) for more detail. core-libs/java.util.jar: JDK-8302819: Remove the JAR Index Feature The "JAR Index" feature has been dropped from the JAR file specification. JAR Index was a legacy optimization in early JDK releases to allow downloading of JAR files to be postponed when loading applets or other classes over the network. The feature has been disabled since JDK 18, meaning the `META-INF/INDEX.LIST` entry in a JAR file is ignored at run-time. The system property `jdk.net.URLClassPath.enableJarIndex`, introduced in JDK 18 to re-enable the feature, has been removed. Setting this property no longer has any effect. As part of the change, the `jar` tool will now output a warning if the `-i` or `--generate-index` options are used. hotspot/compiler: JDK-8302976: java.lang.Float.floatToFloat16 and java.lang.Float.float16ToFloat May Return Different NaN Results when Optimized by the JIT Compiler JDK 20 introduces two new methods which can be used to convert to and from the IEEE 754 binary16 format: `java.lang.Float.floatToFloat16` and `java.lang.Float.float16ToFloat`. The new methods may return different NaN results when optimized by the JIT compiler. To disable the JIT compiler optimization of these methods, the following command line options can be used: `-XX:+UnlockDiagnosticVMOptions -XX:DisableIntrinsic=_floatToFloat16,_float16ToFloat` security-libs/javax.net.ssl: JDK-8301700: The Default TLS Diffie-Hellman Group Size Has Been Increased from 1024-bit to 2048-bit The JDK implementation of TLS 1.2 now uses a default Diffie Hellman keysize of 2048 bits when a TLS_DHE cipher suite is negotiated and either the client or server does not support FFDHE, which can negotiate a stronger keysize. The JDK TLS implementation supports FFDHE and it is enabled by default. As a workaround, users can revert to the previous size by setting the `jdk.tls.ephemeralDHKeySize` system property to 1024 (at their own risk). This change does not affect TLS 1.3 as the minimum DH group size is already 2048 bits. security-libs/javax.crypto: JDK-8305091: Allow Key/Nonce Reuse for DECRYPT_MODE ChaCha20 and ChaCha20-Poly1305 Cipher Objects The SunJCE implementation for `Cipher` objects using the ChaCha20 and ChaCha20-Poly1305 algorithms will now allow key/nonce reuse when in `DECRYPT_MODE`. This change aligns these algorithms with the current SunJCE AES-GCM decrypt mode behavior as it pertains to key/nonce reuse. All `ENCRYPT_MODE` key/nonce reuse prohibitions remain unchanged from their current behavior. JDK-8288050: SunJCE Provider Now Supports SHA-512/224 and SHA-512/256 As Digests for the PBES2 Algorithms The SunJCE provider is enhanced with additional PBES2 Cipher and Mac algorithms, such as those using SHA-512/224 and SHA-512/256 message digests. To be more specific, callers can now use the SunJCE provider for `PBEWithHmacSHA512/224AndAES_128`, `PBEWithHmacSHA512/256AndAES_128`, `PBEWithHmacSHA512/224AndAES_256`, and `PBEWithHmacSHA512/256AndAES_256` Ciphers and `PBEWithHmacSHA512/224`, and `PBEWithHmacSHA512/256` Mac. core-libs/java.nio: JDK-8303175: `com.sun.nio.file.SensitivityWatchEventModifier` Is Deprecated `com.sun.nio.file.SensitivityWatchEventModifier` has been deprecated and is marked for removal in a future release. The constants in this enum were used with the polling based `WatchService` implementation on macOS to set the interval when polling files for changes. The polling based `WatchService` has been changed to ignore these modifiers when registering files to be watched. JDK-8300916: Clarification of the Default Charset Initialization with `file.encoding` If the system property `file.encoding` is set on the command line to the name of a charset that is not in the `java.base` module, then the JDK will ignore it and default to UTF-8. In JDK 17 and older, the JDK would attempt to locate the charset, even though it was never supported or documented to change the value of this system property in these releases. Since JDK 18, it is possible to set the system property on the command line to the value `UTF-8` (the default) or `COMPAT`. Setting it to any other value is not defined. JDK-8303260: `FileChannel.transferFrom` Extends File if Called to Transfer Bytes to the File `FileChannel.transferFrom` has changed in this release to support transferring bytes from a source channel to a file at a file position that is beyond the file's current size. `FileChannel.transferFrom` was previously specified to not transfer any bytes when called with a file position greater than the file's current size. hotspot/jfr: JDK-8306703: New JFR `View` Command A new `view` command has been added to the JFR tool and `jcmd`. The command can aggregate and display event data in a tabular form without the need to dump a recording file or open JDK Mission Control. There are 70 predefined views, such as `hot-methods`, `gc-pauses`, `pinned-threads`, `allocation-by-site`, `gc`, `memory-leaks-by-class`, and more. A list of available views can be found through using `jcmd JFR.view` or `jfr view`. client-libs/java.awt: JDK-8280031: Deprecate GTK2 for Removal Implementation support for AWT/Swing using GTK2 on Linux is now deprecated for removal. With the announcement of the GTK4 release in December 2020, the GTK 2 toolkit is reaching its end of life. GTK2 support is therefore expected to be removed some time after no JDK supported platform needs it. GTK3 is the current default and Swing applications which opt-in to using GTK2 on Linux by setting the System Property `-Djdk.gtk.version=2` will now see the following warning printed: `WARNING: the GTK 2 library is deprecated and its support will be removed in a future release`. core-libs/java.util.regex: JDK-8305107: Emoji Related Binary Properties in RegEx Emoji-related properties introduced in ([JDK-8303018](https://bugs.openjdk.org/browse/JDK-8303018)) can now be used as binary properties in the `java.util.regex.Pattern` class. One can match characters that have Emoji-related properties with the new `\p{IsXXX}` constructs. For example, ``` Pattern.compile("\\p{IsEmoji}").matcher("🉐").matches() ``` returns `true`. JDK-8305486: New `splitWithDelimiters()` Methods Added to `String` and `java.util.regex.Pattern` Unlike the `split()` methods, these new `splitWithDelimiters()` methods in `java.lang.String` and `java.util.regex.Pattern` return an alternation of strings and matching delimiters, rather than just the strings. JDK-8132995: `java.util.regex.MatchResult` Might Throw `StringIndexOutOfBoundsException` on Regex Patterns Containing Lookaheads and Lookbehinds JDK-8132995 introduced an unintended regression when using instances returned by `java.util.regex.Matcher.toMatchResult()`. This happens on `java.util.regex.Pattern`s containing lookaheads and lookbehinds that, in turn, contain groups. If these are located outside the match, it results in throwing `StringIndexOutOfBoundsException` when accessing these groups. See JDK-8312976 for an example. tools/javadoc(tool): JDK-8286470: Support Searching for Section Headings in Generated Documentation API documentation generated by JavaDoc now supports searching for headings of sections within the documentation. core-libs/java.io: JDK-8300977: `java.io.File`'s Canonical Path Cache Is Removed `java.io.File` has historically cached canonical paths, and part paths, to help the performance of the `File::getCanonicalFile` and `File::getCanonicalPath` when running with a `SecurityManager` set. The cache had correctness issues in environments with symbolic links and has been disabled by default since JDK 12. The cache has been removed in this release, along with the system properties `sun.io.useCanonCaches` and `sun.io.useCanonPrefixCache`. Setting these properties no longer has any effect. JDK-8208077: `File::listRoots` Changed to Return All Available Drives on Windows The behavior of the method `java.io.File.listRoots()` on Microsoft Windows has changed in this release so that the returned array includes a `File` object for all available disk drives. This differs from the behavior in JDK 10 to JDK 20, where this method filtered out disk drives that were not accessible or did not have media present. This change avoids performance issues observed in the previous releases and also ensures that the method is consistent with the root directories in the iteration returned by `FileSystem.getDefault().getRootDirectories()`. hotspot/gc: JDK-8272979: Generational ZGC Applications running with Generational ZGC should enjoy: * Lower risks of allocations stalls, * Lower required heap memory overhead, and * Lower garbage collection CPU overhead. Enable Generational ZGC with command line options -XX:+UseZGC -XX:+ZGenerational For further details, see JEP 439. JDK-8225409: Removal of G1 Hot Card Cache The G1 Hot Card Cache has been removed. Performance testing has shown that after improvements to the concurrent refinement control, it does not contribute to performance. Removal reduces the memory footprint of the G1 garbage collector by around 0.2% of the Java heap size. The associated configuration options `G1ConcRSLogCacheSize` and `G1ConcRSHotCardLimit` have been obsoleted. A warning will be issued at startup about these options if they are used. JDK-8191565: Last Resort G1 Full GC Moves Humongous Objects A full garbage collection (GC) in the Garbage First (G1) collector now moves humongous objects to avoid Out-Of-Memory situations due to a lack of contiguous space in the Java heap when the application allocates humongous objects. Previously, G1 failed to allocate those humongous objects, reporting an Out-Of-Memory exception in this situation. This functionality is a last resort measure, causing a second full GC in the same pause after the previous full GC fails to clear out enough contiguous memory for the allocation. ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (P1) JDK-8306279: Build failure after JDK-8299592 (P3) JDK-8298887: On the latest macOS+XCode the Robot API may report wrong colors (P3) JDK-8307779: Relax the java.awt.Robot specification (P4) JDK-8307569: Build with gcc8 is broken after JDK-8307301 (P4) JDK-8301443: Clean broken comments from Windows code (P4) JDK-8306575: Clean up and open source four Dialog related tests (P4) JDK-8306135: Clean up and open source some AWT tests (P4) JDK-8299430: Cleanup: delete unnecessary semicolons in java.desktop module (P4) JDK-8299592: Fix and reenable warnings in java.desktop native code compilation (P4) JDK-8298709: Fix typos in src/java.desktop/ and various test classes of client component (P4) JDK-8309224: Fix xlc17 clang 15 warnings in java.desktop (P4) JDK-8300692: GCC 12 reports some compiler warnings in bundled freetype (P4) JDK-8300488: Incorrect usage of CATCH_BAD_ALLOC as a macro call (P4) JDK-8302838: jabswitch main() should avoid calling exit explicitly (P4) JDK-8306280: Open source several choice AWT tests (P4) JDK-8300405: Screen capture for test JFileChooserSetLocationTest.java, failure case (P4) JDK-8299774: SYNTH_BUTTON_UI_KEY field is unused (P4) JDK-8308240: Update ATR task definitions for JDK 21 for Client (P4) JDK-8304912: Use OperatingSystem enum in java.desktop module (P4) JDK-8305578: X11GraphicsDevice.pGetBounds() is slow in remote X11 sessions client-libs/2d: (P3) JDK-8304291: [AIX] Broken build after JDK-8301998 (P3) JDK-8307603: [AIX] Broken build after JDK-8307301 (P3) JDK-8307953: [AIX] C locale's font setting was changed by JEP 400 (P3) JDK-8307604: gcc12 based Alpine build broken build after JDK-8307301 (P3) JDK-8296920: Regression Test DialogOrient.java fails on MacOS (P3) JDK-6995195: Static initialization deadlock in sun.java2d.loops.Blit and GraphicsPrimitiveMgr (P3) JDK-8307178: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails (P3) JDK-8307177: sun/java2d/GdiRendering/InsetClipping.java fails (P3) JDK-8306881: Update FreeType to 2.13.0 (P3) JDK-8301998: Update HarfBuzz to 7.0.1 (P3) JDK-8307301: Update HarfBuzz to 7.2.0 (P3) JDK-8303482: Update LCMS to 2.15 (P4) JDK-8298974: Add ftcolor.c to imported freetype sources (P4) JDK-8300167: Add validation of the raster's layout before using in native (P4) JDK-8306320: BufferedImage spec needs clarification w.r.t its implementation of the WritableRenderedImage interface (P4) JDK-8299261: Clean up AWT D3D exports (P4) JDK-8307132: Cleanup the code of sun.java2d.cmm.lcms package (P4) JDK-8304350: Font.getStringBounds calculates wrong width for TextAttribute.TRACKING other than 0.0 (P4) JDK-8272288: Funky multiresolution image breaks graphics context (P4) JDK-8304295: harfbuzz build fails with GCC 7 after JDK-8301998 (P4) JDK-8300725: Improve performance of ColorConvertOp for default destinations with alpha (P4) JDK-8304334: java/awt/color/ICC_ColorSpace/ToFromCIEXYZRoundTrip.java times out on slow platforms (P4) JDK-8299260: libawt and libfreetype should export only explicitly requested symbols (P4) JDK-8304825: MacOS metal pipeline - window isn't painted if created during display sleep (P4) JDK-8295737: macOS: Print content cut off when width > height with portrait orientation (P4) JDK-4200096: OffScreenImageSource.removeConsumer NullPointerException (P4) JDK-8298240: Replace the usage of ImageLayoutException by the CMMException (P4) JDK-8284825: sun/java2d/DirectX/MultiPaintEventTest/MultiPaintEventTest.java failed with "RuntimeException: Processed unnecessary paint()." (P4) JDK-8299772: The ColorModel.getRGBdefault() method is not thread-safe (P4) JDK-8299337: The java.awt.image.ColorModel#pData field is unused (P4) JDK-8299255: Unexpected round errors in FreetypeFontScaler (P4) JDK-8299333: Unify exceptions used by all variants of ICC_Profile.getInstance(null) (P4) JDK-8301254: UNIX sun/font coding does not detect SuSE in openSUSE Leap distribution (P5) JDK-8299425: "LCMSImageLayout.isIntPacked" flag can be deleted (P5) JDK-8299199: Avoid redundant split calls in FontConfiguration.initReorderMap implementations (P5) JDK-8300929: Avoid unnecessary array fill after creation in java.awt.image (P5) JDK-8304991: Redundant hyphen in @param results in double-dash in javadocs (P5) JDK-8298447: Unnecessary Vector usage in DocPrintJob implementations (P5) JDK-8300166: Unused array allocation in ProcessPath.doProcessPath (P5) JDK-8299497: Usage of constructors of primitive wrapper classes should be avoided in java.desktop API docs client-libs/demo: (P4) JDK-7124527: [macosx] SwingSet2, label is not read by VoiceOver when focus is on textfield for Internalframe and Table demo. (P4) JDK-8304501: Remove orphaned demo netbeans projects client-libs/java.awt: (P1) JDK-8308370: Fix build failures related to the java.awt.Robot documentation (P2) JDK-8309703: AIX build fails after JDK-8280982 (P2) JDK-8308875: java/awt/Toolkit/GetScreenInsetsCustomGC/GetScreenInsetsCustomGC.java failed with 'Cannot invoke "sun.awt.X11GraphicsDevice.getInsets()" because "device" is null' (P2) JDK-8307799: Newly added java/awt/dnd/MozillaDnDTest.java has invalid jtreg `@requires` clause (P2) JDK-8311689: Wrong visible amount in Adjustable of ScrollPane (P3) JDK-8280982: [Wayland] [XWayland] java.awt.Robot taking screenshots (P3) JDK-8280994: [XWayland] Drag and Drop does not work in java -> wayland app direction (P3) JDK-8280993: [XWayland] Popup is not closed on click outside of area controlled by XWayland (P3) JDK-6176679: Application freezes when copying an animated gif image to the system clipboard (P3) JDK-8280031: Deprecate GTK2 for removal (P3) JDK-8297923: java.awt.ScrollPane broken after multiple scroll up/down (P3) JDK-8309756: Occasional crashes with pipewire screen capture on Wayland (P3) JDK-8193547: Regression automated test '/open/test/jdk/java/awt/Toolkit/DesktopProperties/rfe4758438.java' fails (P3) JDK-8310054: ScrollPane insets are incorrect (P3) JDK-8302849: SurfaceManager might expose partially constructed object (P3) JDK-8305815: Update Libpng to 1.6.39 (P3) JDK-8305352: updateIconImages may lead to deadlock after JDK-8276849 (P4) JDK-8305712: [MacOS] Deprecated Cocoa-NSEvent names (P4) JDK-8202931: [macos] java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java fails (P4) JDK-8292588: [macos] Multiscreen/MultiScreenLocationTest/MultiScreenLocationTest.java: Robot.mouseMove test failed on Screen #0 (P4) JDK-8282232: [Win] GetMousePositionWithPopup test fails due to wrong mouse position (P4) JDK-8289077: Add manual tests to open (P4) JDK-8305666: Add system property for fair AWT lock (P4) JDK-8298921: Create a regression test for JDK-8139581 (P4) JDK-8301616: Drag & maximize to another monitor places window incorrectly (Windows) (P4) JDK-8283203: Fix typo in SystemTray.getTrayIconSize javadoc (P4) JDK-8304718: GetIntArrayElements should not be passed JNI_FALSE (P4) JDK-8298093: improve cleanup and error handling of awt_parseColorModel in awt_parseImage.c (P4) JDK-8279216: Investigate implementation of premultiplied alpha in the Little-CMS 2.13 (P4) JDK-8307135: java/awt/dnd/NotReallySerializableTest/NotReallySerializableTest.java failed (P4) JDK-8300727: java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java failed with "List wasn't garbage collected" (P4) JDK-8302671: libawt has a memmove decay error (P4) JDK-8304054: Linux: NullPointerException from FontConfiguration.getVersion in case no fonts are installed (P4) JDK-8286581: Make Java process DPI Aware if sun.java2d.dpiaware property is set (P4) JDK-8301756: Missed constructor from 8301659 (P4) JDK-8307299: Move more DnD tests to open (P4) JDK-8307297: Move some DnD tests to open (P4) JDK-8306682: Open source a few more AWT Choice tests (P4) JDK-8306634: Open source AWT Event related tests (P4) JDK-8306067: Open source AWT Graphics,GridBagLayout related tests (P4) JDK-8305874: Open source AWT Key, Text Event related tests (P4) JDK-8306409: Open source AWT KeyBoardFocusManger, LightWeightComponent related tests (P4) JDK-8306489: Open source AWT List related tests (P4) JDK-8306652: Open source AWT MenuItem related tests (P4) JDK-8306076: Open source AWT misc tests (P4) JDK-8306850: Open source AWT Modal related tests (P4) JDK-8306133: Open source few AWT Drag & Drop related tests (P4) JDK-8305943: Open source few AWT Focus related tests (P4) JDK-8306060: Open source few AWT Insets related tests (P4) JDK-8306954: Open source five Focus related tests (P4) JDK-8306681: Open source more AWT DnD related tests (P4) JDK-8306466: Open source more AWT Drag & Drop related tests (P4) JDK-8306871: Open source more AWT Drag & Drop tests (P4) JDK-8306484: Open source several AWT Choice jtreg tests (P4) JDK-8305942: Open source several AWT Focus related tests (P4) JDK-8306812: Open source several AWT Miscellaneous tests (P4) JDK-8306072: Open source several AWT MouseInfo related tests (P4) JDK-8306137: Open source several AWT ScrollPane related tests (P4) JDK-8306432: Open source several AWT Text Component related tests (P4) JDK-8306640: Open source several AWT TextArea related tests (P4) JDK-8306683: Open source several clipboard and color AWT tests (P4) JDK-8306566: Open source several clipboard AWT tests (P4) JDK-8306752: Open source several container and component AWT tests (P4) JDK-8306753: Open source several container AWT tests (P4) JDK-8306941: Open source several datatransfer and dnd AWT tests (P4) JDK-8306943: Open source several dnd AWT tests (P4) JDK-8307083: Open source some drag and drop tests 3 (P4) JDK-8307128: Open source some drag and drop tests 4 (P4) JDK-8307078: Opensource and clean up five more AWT Focus related tests (P4) JDK-8306718: Optimize and opensource some old AWT tests (P4) JDK-8302513: remove sun.awt.util.IdentityLinkedList (P4) JDK-8300117: Replace use of JNI_COMMIT mode with mode 0 (P4) JDK-8301567: The test/jdk/java/awt/AppContext/ApplicationThreadsStop/java.policy is unused (P4) JDK-8307079: Update test java/awt/Choice/DragOffNoSelect.java (P4) JDK-8300279: Use generalized see and link tags in core libs in client libs (P4) JDK-8296934: Write a test to verify whether Undecorated Frame can be iconified or not (P5) JDK-8302268: Prefer ArrayList to LinkedList in XEmbeddedFramePeer client-libs/java.beans: (P3) JDK-8308152: PropertyDescriptor should work with overridden generic getter method (P4) JDK-8238170: BeanContextSupport remove and propertyChange can deadlock (P4) JDK-8071693: Introspector ignores default interface methods (P5) JDK-8298449: Unnecessary Vector usage in MetaData.ProxyPersistenceDelegate client-libs/javax.accessibility: (P2) JDK-8309733: [macOS, Accessibility] VoiceOver: Incorrect announcements of JRadioButton (P3) JDK-8273986: JEditorPane HTML Demo - Accessibility issues (P4) JDK-8283400: [macos] a11y : Screen magnifier does not reflect JRadioButton value change (P4) JDK-8283404: [macos] a11y : Screen magnifier does not show JMenu name (P4) JDK-7101667: [macosx] Test must wait until window to be visible (P4) JDK-8298457: Instructions in a11y manual tests need to be updated (P4) JDK-8299412: JNI call of getAccessibleActionCount on a wrong thread (P4) JDK-8298643: JNI call of getAccessibleRowWithIndex and getAccessibleColumnWithIndex on a wrong thread (P4) JDK-8298644: JNI call of getCurrentComponent on a wrong thread (P4) JDK-8298645: JNI works with accessibleSelection on a wrong thread (P4) JDK-8303830: update for deprecated sprintf for jdk.accessibility client-libs/javax.imageio: (P3) JDK-8302151: BMPImageReader throws an exception reading BMP images (P4) JDK-8299025: BMPImageReader.java readColorPalette could use staggeredReadByteStream (P4) JDK-8298618: Typo in JPEGImageReader and JPEGImageWriter (P5) JDK-8300731: Avoid unnecessary array fill after creation in PaletteBuilder (P5) JDK-8300235: Use VarHandle access in Image(Input | Output)StreamImpl classes client-libs/javax.sound: (P4) JDK-8308110: Resolve multiple definition of 'JNI_OnLoad_jsound' linking error (P5) JDK-8300828: Avoid unnecessary array fill after creation in com.sun.media.sound client-libs/javax.swing: (P2) JDK-8307091: A few client tests intermittently throw ConcurrentModificationException (P3) JDK-6817009: Action.SELECTED_KEY not toggled when using key binding (P3) JDK-8252255: Blurry rendering of SwingNode with HiDPI scaling in JavaFX (P3) JDK-8302173: Button border overlaps with button icon on macOS system LaF (P3) JDK-8309060: Compilation Error in javax/swing/event/FocusEventCauseTest.java (P3) JDK-8300891: Deprecate for removal javax.swing.plaf.synth.SynthLookAndFeel.load(URL url) (P3) JDK-8306838: GetGraphicsTest needs to be headful (P3) JDK-8227257: javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError (P3) JDK-8307180: javax/swing/plaf/basic/BasicComboPopup/JComboBoxPopupLocation/JComboBoxPopupLocation.java fails (P3) JDK-8218474: JComboBox display issue with GTKLookAndFeel (P3) JDK-8307105: JFileChooser InvalidPathException when selecting some system folders on Windows (P3) JDK-8299553: Make ScaledEtchedBorderTest.java comprehensive (P3) JDK-8244400: MenuItem may cache the size and did not update it when the screen DPI is changed (P3) JDK-6513512: MetalLookAndFeel.initClassDefaults does not install an entry for MetalMenuBarUI (P3) JDK-8294680: Refactor scaled border rendering (P3) JDK-8298876: Swing applications do not get repainted coming out of sleep on Windows 10 (P4) JDK-8300084: AquaFileChooserUI.getDefaultButton returns null (P4) JDK-8301822: BasicLookAndFeel does not need to check for null after checking for type (P4) JDK-8267582: BasicLookAndFeel should not call getComponentPopupMenu twice to get a popup menu (P4) JDK-6788475: Changing to Nimbus LAF and back doesn't reset look and feel of JTable completely (P4) JDK-4825182: DefaultBoundedRangeModel.setMinimum() changes extent unnecessarily (P4) JDK-6187113: DefaultListSelectionModel.removeIndexInterval(0, Integer.MAX_VALUE) fails (P4) JDK-8302558: Editable JComboBox's popup blocks user from seeing characters in Aqua look and feel (P4) JDK-8068824: Exception thrown in JTableHeader after clicking on popupmenu opened with right-click on header (P4) JDK-4912623: GTK L&F: Folder list of the JFileChooser is allowing multiple selection unlike native (P4) JDK-7154070: in SwingSet2, switching between LaFs it's easy to lose JTable dividers (P4) JDK-8299522: Incorrect size of Approve button in custom JFileChooser (P4) JDK-6245410: javax.swing.text.html.CSS.Attribute: BACKGROUND_POSITION is not w3c spec compliant (P4) JDK-8297454: javax/swing/JComponent/7154030/bug7154030.java failed with "Exception: Failed to show opaque button" (P4) JDK-8293862: javax/swing/JFileChooser/8046391/bug8046391.java failed with 'Cannot invoke "java.awt.Image.getWidth(java.awt.image.ImageObserver)" because "retVal" is null' (P4) JDK-8305780: javax/swing/JTable/7068740/bug7068740.java fails on Ubunutu 20.04 (P4) JDK-8305778: javax/swing/JTableHeader/6884066/bug6884066.java: Unexpected header's value; index = 4 value = E (P4) JDK-7030853: JDK 7 Serializable Swing classes not compatible with JDK 6 (P4) JDK-8300549: JFileChooser Approve button tooltip is null in Aqua L&F in CUSTOM_DIALOG mode (P4) JDK-6753661: JFileChooser font not reset after Look & Feel change (P4) JDK-6257207: JTable.getDefaultEditor throws NullPointerException (P4) JDK-8306119: Many components respond to a mouse event by requesting focus without supplying the MOUSE_EVENT cause (P4) JDK-8294484: MetalBorder's FrameBorder & DialogBorder have border rendering issues when scaled (P4) JDK-8302882: Newly added test javax/swing/JFileChooser/JFileChooserFontReset.java fails with HeadlessException (P4) JDK-6603771: Nimbus L&F: Ctrl+F7 keybinding for Jinternal Frame throws a NPE. (P4) JDK-7093691: Nimbus LAF: disabled JComboBox using renderer has bad font color (P4) JDK-8081507: Open or Save button in JFileChooser has OK title in GTK LaF (P4) JDK-8306714: Open source few Swing event and AbstractAction tests (P4) JDK-8306755: Open source few Swing JComponent and AbstractButton tests (P4) JDK-8307130: Open source few Swing JMenu tests (P4) JDK-8307381: Open Source JFrame, JIF related Swing Tests (P4) JDK-8306996: Open source Swing MenuItem related tests (P4) JDK-8278583: Open source SwingMark - Swing performance benchmark (P4) JDK-8309095: Remove UTF-8 character from TaskbarPositionTest.java (P4) JDK-4934362: see also refers to self (P4) JDK-8300205: Swing test bug8078268 make latch timeout configurable (P4) JDK-7169951: SwingSet2 throws NullPointerException with Nimbus L&F (P4) JDK-8081474: SwingWorker calls 'done' before the 'doInBackground' is finished (P4) JDK-8299043: test/jdk/javax/swing/AbstractButton/5049549/bug5049549.java fails with java.lang.NullPointerException (P4) JDK-8299044: test/jdk/javax/swing/JComboBox/JComboBoxBorderTest.java fails on non mac (P4) JDK-7175396: The text on label is not painted red for Nimbus LaF. (P4) JDK-8307311: Timeouts on one macOS 12.6.1 host of two Swing JTableHeader tests (P4) JDK-8296661: Typo Found In CSSParser.java (P4) JDK-8302495: update for deprecated sprintf for java.desktop (P5) JDK-8303213: Avoid AtomicReference in TextComponentPrintable (P5) JDK-8301828: Avoid unnecessary array fill after creation in javax.swing.text (P5) JDK-8302120: Prefer ArrayList to LinkedList in AggregatePainter (P5) JDK-8301342: Prefer ArrayList to LinkedList in LayoutComparator (P5) JDK-8300168: Typo in AccessibleJTableHeaderEntry javadoc core-libs: (P1) JDK-8303915: javadoc build failure after JDK-8294959 (P2) JDK-8303683: JEP 444: Virtual Threads (P3) JDK-8309727: Assert privileges while reading the jdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK system property (P3) JDK-8308093: Disable language preview features use in JDK (P3) JDK-8303405: fix @returnss typo in ReflectionFactory (P3) JDK-8306647: Implementation of Structured Concurrency (Preview) (P3) JDK-8304919: Implementation of Virtual Threads (P3) JDK-8306641: JEP 453: Structured Concurrency (Preview) (P3) JDK-8306008: Several Vector API tests fail for client VM after JDK-8304450 (P3) JDK-8308235: ThreadContainer registry accumulates weak refs (P4) JDK-8305461: [vectorapi] Add VectorMask::xor (P4) JDK-8304450: [vectorapi] Refactor VectorShuffle implementation (P4) JDK-8301190: [vectorapi] The typeChar of LaneType is incorrect when default locale is tr (P4) JDK-8311822: AIX : test/jdk/java/foreign/TestLayouts.java fails because of different output - expected [[i4](struct)] but found [[I4](struct)] (P4) JDK-8298380: Clean up redundant array length checks in JDK code base (P4) JDK-8309630: Clean up tests that reference deploy modules (P4) JDK-8294966: Convert jdk.jartool/sun.tools.jar.FingerPrint to use the ClassFile API to parse JAR entries (P4) JDK-8301767: Convert virtual thread tests to JUnit (P4) JDK-8303350: Fix mistyped {@code} (P4) JDK-8302664: Fix several incorrect usages of Preconditions.checkFromIndexSize (P4) JDK-8311122: Fix typos in java.base (P4) JDK-8299441: Fix typos in some test files under core-libs component (P4) JDK-8309219: Fix xlc17 clang 15 warnings in java.base (P4) JDK-8306572: Implementation of Scoped Values (Preview) (P4) JDK-8294959: java.base java.lang.Module uses ASM to load module-info.class (P4) JDK-8301736: jdk/incubator/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java fail with -Xcomp (P4) JDK-8309303: jdk/internal/misc/VM/RuntimeArguments test ignores jdk/internal/vm/options (P4) JDK-8301625: JEP 442: Foreign Function & Memory API (Third Preview) (P4) JDK-8304357: JEP 446: Scoped Values (Preview) (P4) JDK-8305868: JEP 448: Vector API (Sixth Incubator) (P4) JDK-8308748: JNU_GetStringPlatformChars may write to String's internal memory array (P4) JDK-8303072: Memory leak in exeNullCallerTest.cpp (P4) JDK-8303480: Miscellaneous fixes to mostly invisible doc comments (P4) JDK-8303186: Missing Classpath exception from Continuation.c (P4) JDK-8306949: Resolve miscellaneous multiple symbol definition issues when statically linking JDK/VM natives with standard launcher (P4) JDK-8305935: Resolve multiple definition of 'jmm_' when statically linking with JDK native libraries (P4) JDK-8305761: Resolve multiple definition of 'jvm' when statically linking with JDK native libraries (P4) JDK-8296149: Start of release updates for JDK 21 (P4) JDK-8308022: update for deprecated sprintf for java.base (P4) JDK-8295859: Update Manual Test Groups (P4) JDK-8302815: Use new Math.clamp method in core libraries (P5) JDK-8297682: Use Collections.emptyIterator where applicable core-libs/java.io: (P2) JDK-8300010: UnsatisfiedLinkError on calling System.console().readPassword() on Windows (P3) JDK-8305646: compile error on Alpine with gcc12 after 8298619 in libGetXSpace.c (P3) JDK-8306431: File.listRoots method description should be re-examined (P3) JDK-8208077: File.listRoots performance degradation (P3) JDK-8305762: FileInputStream and FileOutputStream implSpec should be corrected or removed (P4) JDK-8309216: Cast from jchar* to char* in test java/io/GetXSpace.java (P4) JDK-8305748: Clarify reentrant behavior of close() in FileInputStream, FileOutputStream, and RandomAccessFile (P4) JDK-8298416: Console should be declared `sealed` (P4) JDK-8300864: Declare some fields in java.io as final (P4) JDK-8297632: InputStream.transferTo() method should specify what the return value should be when the number of bytes transfered is larger than Long.MAX_VALUE (P4) JDK-8299336: InputStream::DEFAULT_BUFFER_SIZE should be 16384 (P4) JDK-8298619: java/io/File/GetXSpace.java is failing (P4) JDK-8300979: Lazily initialize (byte, char)arr in java.io.DataInputStream (P4) JDK-8304745: Lazily initialize byte[] in java.io.BufferedInputStream (P4) JDK-8298971: Move Console implementation into jdk internal package (P4) JDK-8290499: new File(parent, "/") breaks normalization – creates File with slash at the end (P4) JDK-8298639: Perform I/O operations in bulk for RandomAccessFile (P4) JDK-8299576: Reimplement java.io.Bits using VarHandle access (P4) JDK-8300977: Retire java.io.ExpiringCache (P4) JDK-8299600: Use Objects.check*() where appropriate in java.io (P4) JDK-8308016: Use snippets in java.io package (P4) JDK-8300236: Use VarHandle access in Data(Input | Output)Stream classes (P5) JDK-6595142: (spec) ByteArrayInputStream treats bytes, not characters (P5) JDK-8300866: Declare some classes final in java.io (P5) JDK-8300867: Fix document issues in java.io (P5) JDK-8298567: Make field in RandomAccessFile final (P5) JDK-8300868: Reduce visibility in java.io.SerialCallbackContext (P5) JDK-8300863: Remove C-style array declarations in java.io core-libs/java.io:serialization: (P3) JDK-8306461: ObjectInputStream::readObject() should handle negative array sizes without throwing NegativeArraySizeExceptions (P4) JDK-6441827: Documentation mentions nonexistent NullReferenceException core-libs/java.lang: (P2) JDK-8310922: java/lang/Class/forName/ForNameNames.java fails after being added by JDK-8310242 (P3) JDK-8310265: (process) jspawnhelper should not use argv[0] (P3) JDK-8305206: Add @spec tags in java.base/java.* (part 1) (P3) JDK-8303910: jdk/classfile/CorpusTest.java failed 1 of 6754 tests (P3) JDK-8304164: jdk/classfile/CorpusTest.java still fails after JDK-8303910 (P3) JDK-8307990: jspawnhelper must close its writing side of a pipe before reading from it (P3) JDK-8311645: Memory leak in jspawnhelper spawnChild after JDK-8307990 (P3) JDK-8307326: Package jdk.internal.classfile.java.lang.constant become obsolete (P3) JDK-8171407: Port fdlibm to Java, part 2 (P3) JDK-8041676: remove the java.compiler system property (P3) JDK-8302496: Runtime.exit incorrectly says it never throws an exception (P3) JDK-8310892: ScopedValue throwing StructureViolationException should be clearer (P3) JDK-8301627: System.exit and Runtime.exit debug logging (P4) JDK-8298993: (process) java/lang/ProcessBuilder/UnblockSignals.java fails (P4) JDK-8303799: [BACKOUT] JDK-8302801 Remove fdlibm C sources (P4) JDK-8304139: Add and method constants to ConstantDescs (P4) JDK-8301226: Add clamp() methods to java.lang.Math and to StrictMath (P4) JDK-8306729: Add nominal descriptors of modules and packages to Constants API (P4) JDK-8306698: Add overloads to MethodTypeDesc::of (P4) JDK-8302590: Add String.indexOf(int ch, int fromIndex, int toIndex) (P4) JDK-8303648: Add String.indexOf(String str, int beginIndex, int endIndex) (P4) JDK-8301833: Add wide-ranging tests for FDLIBM porting (P4) JDK-8302800: Augment NaN handling tests of FDLIBM methods (P4) JDK-8303033: Build failure with the micro bench mark (P4) JDK-8310242: Clarify the name parameter to Class::forName (P4) JDK-8299088: ClassLoader::defineClass2 throws OOME but JNI exception pending thrown by getUTF (P4) JDK-8304180: Constant Descriptors for MethodHandles::classData and classDataAt (P4) JDK-8304542: Convert use of internal VM::classFileVersion to ClassFileFormatVersion (P4) JDK-8310838: Correct range notations in MethodTypeDesc specification (P4) JDK-8304915: Create jdk.internal.util.Architecture enum and apply (P4) JDK-8299340: CreateProcessW lpCommandLine must be mutable (P4) JDK-8304717: Declaration aliasing between boolean and jboolean is wrong (P4) JDK-8308960: Decouple internal Version and OperatingSystem classes (P4) JDK-8308040: Evaluate new public types in non-public classes (P4) JDK-8302315: Examine cost of clone of primitive arrays compared to arraycopy (P4) JDK-8309702: Exclude java/lang/ScopedValue/StressStackOverflow.java from JTREG_TEST_THREAD_FACTORY=Virtual runs (P4) JDK-8302981: Fix a typo in the doc comment for java.lang.Record.equals (P4) JDK-8306452: Fix Amazon copyright in JDK-8305425 test (P4) JDK-8303930: Fix ConstantUtils.skipOverFieldSignature void case return value (P4) JDK-8303814: getLastErrorString should avoid charset conversions (P4) JDK-8309413: Improve the performance of MethodTypeDesc::descriptorString (P4) JDK-8305092: Improve Thread.sleep(millis, nanos) for sub-millisecond granularity (P4) JDK-8308350: Increase buffer size for jspawnhelper arguments (P4) JDK-8290899: java/lang/String/StringRepeat.java test requests too much heap on windows x86 (P4) JDK-8305919: java/lang/Thread/virtual/HoldsLock.java#id0 failed, ThreadInfo.getLockInfo() return null (P4) JDK-8304932: MethodTypeDescImpl can be mutated by argument passed to MethodTypeDesc.of (P4) JDK-8306075: Micro-optimize Enum.hashCode (P4) JDK-8300647: Miscellaneous hashCode improvements in java.base (P4) JDK-8299807: newStringNoRepl should avoid copying arrays for ASCII compatible charsets (P4) JDK-8304928: Optimize ClassDesc.resolveConstantDesc (P4) JDK-8301578: Perform output outside synchronization in Module.class (P4) JDK-8302028: Port fdlibm atan2 to Java (P4) JDK-8301396: Port fdlibm expm1 to Java (P4) JDK-8301444: Port fdlibm hyperbolic transcendental functions to Java (P4) JDK-8304028: Port fdlibm IEEEremainder to Java (P4) JDK-8302026: Port fdlibm inverse trig functions (asin, acos, atan) to Java (P4) JDK-8301202: Port fdlibm log to Java (P4) JDK-8301205: Port fdlibm log10 to Java (P4) JDK-8301392: Port fdlibm log1p to Java (P4) JDK-8302040: Port fdlibm sqrt to Java (P4) JDK-8302027: Port fdlibm trig functions (sin, cos, tan) to Java (P4) JDK-8303798: REDO - Remove fdlibm C sources (P4) JDK-8304423: Refactor FdLibm.java (P4) JDK-8308049: Refactor nested class declarations in FdLibm.java (P4) JDK-8262994: Refactor String.split to help method inlining (P4) JDK-8302801: Remove fdlibm C sources (P4) JDK-8205129: Remove java.lang.Compiler (P4) JDK-8297295: Remove ThreadGroup.allowThreadSuspension (P4) JDK-8304910: Replace use of os.name system property with OperatingSystem enum in modules (P4) JDK-8306678: Replace use of os.version with an internal Version record (P4) JDK-8303485: Replacing os.name for operating system customization (P4) JDK-8303392: Runtime.exec and ProcessBuilder.start should use System logger (P4) JDK-8295071: Spec Clarification : ClassFileFormatVersion: System property java.class.version | Java class format version number (P4) JDK-8302877: Speed up latin1 case conversions (P4) JDK-8302863: Speed up String::encodeASCII using countPositives (P4) JDK-8302871: Speed up StringLatin1.regionMatchesCI (P4) JDK-8302163: Speed up various String comparison methods with ArraysSupport.mismatch (P4) JDK-8305807: Spurious right brace in ConstantDescs field Javadocs (P4) JDK-8304314: StackWalkTest.java fails after CODETOOLS-7903373 (P4) JDK-8304945: StringBuilder and StringBuffer should implement Appendable explicitly (P4) JDK-8303198: System and Runtime.exit() resilience to logging errors (P4) JDK-8304360: Test to ensure ConstantDescs fields work (P4) JDK-8305875: Test TraceVirtualThreadLocals should be run with continuations only (P4) JDK-8310868: Thread.interrupt() method's javadoc has an incorrect {@link} (P4) JDK-8258776: ThreadLocal#initialValue() Javadoc is unaware of ThreadLocal#withInitial() (P4) JDK-8310830: typo in the parameter name in @throws of ClassDesc::ofDescriptor (P4) JDK-8303018: Unicode Emoji Properties (P4) JDK-8282664: Unroll by hand StringUTF16 and StringLatin1 polynomial hash loops (P4) JDK-8299498: Usage of constructors of primitive wrapper classes should be avoided in java.lang API docs (P4) JDK-8306036: Use @apiNote in String.toLowerCase, String.toUpperCase (P4) JDK-8300489: Use ArraysSupport.vectorizedHashCode in j.l.CharacterName (P4) JDK-8284871: Use covariant overrides for the resolveConstantDesc(Lookup) method in sub‑interfaces of java.lang.constant.ConstantDesc (P4) JDK-8304911: Use OperatingSystem enum in some modules core-libs/java.lang.classfile: (P3) JDK-8308549: Classfile API should fail to generate over-sized Code attribute (P4) JDK-8306842: Classfile API performance improvements (P4) JDK-8308842: Consolidate exceptions thrown from Class-File API (P4) JDK-8308856: jdk.internal.classfile.impl.EntryMap::nextPowerOfTwo math problem (P4) JDK-8304148: Remapping a class with Invokedynamic constant loses static bootstrap arguments core-libs/java.lang.foreign: (P2) JDK-8303022: "assert(allocates2(pc)) failed: not in CodeBuffer memory" When linking downcall handle (P2) JDK-8303001: Add test for re-entrant upcalls (P2) JDK-8303409: Add Windows AArch64 ABI support to the Foreign Function & Memory API (P2) JDK-8307375: Alignment check on layouts used as sequence element is not correct (P2) JDK-8303524: Check FunctionDescriptor byte order when linking (P2) JDK-8307610: Linker::nativeLinker should not be restricted (mainline) (P2) JDK-8309042: MemorySegment::reinterpret cleanup action is not called for all overloads (P2) JDK-8308761: New test TestHFA needs adaptation for JDK-8308276 (P2) JDK-8303002: Reject packed structs from linker (P2) JDK-8313023: Return value corrupted when using CCS + isTrivial (mainline) (P2) JDK-8300784: Specify exactly how padding should be presented to the linker (P3) JDK-8287834: Add SymbolLookup::or method (P3) JDK-8308276: Change layout API to work with bytes, not bits (P3) JDK-8307629: FunctionDescriptor::toMethodType should allow sequence layouts (mainline) (P3) JDK-8303516: HFAs with nested structs/unions/arrays not handled correctly on AArch64 (P3) JDK-8304265: Implementation of Foreign Function and Memory API (Third Preview) (P3) JDK-8305201: Improve error message for GroupLayouts that are too large on SysV (P3) JDK-8308281: Java snippets in the FFM API need to be updated (P3) JDK-8308645: Javadoc of FFM API needs to be refreshed (P3) JDK-8305093: Linker cache should not take layout names into account (P3) JDK-8308445: Linker should check that capture state segment is big enough (P3) JDK-8310405: Linker.Option.firstVariadicArg should specify which index values are valid (P3) JDK-8303040: linux PPC64le: Implementation of Foreign Function & Memory API (Preview) (P3) JDK-8307181: MemoryLayout.structLayout uses undocumented strict alignment constraints (P3) JDK-8304803: NPE thrown during downcall classification under Linux/x64 (P3) JDK-8299181: PaddingLayout unable to return byteAlignment value (P3) JDK-8303604: Passing by-value structs whose size is not power of 2 doesn't work on all platforms (mainline) (P3) JDK-8308248: Revisit alignment of layout constants on 32-bit platforms (P3) JDK-8303863: RISC-V: TestArrayStructs.java fails after JDK-8303604 (P3) JDK-8308812: SequenceLayout::withElementCount(long elementCount) doesn't throw IllegalArgumentException - if elementCount < 0 for some cases (P3) JDK-8300491: SymbolLookup::libraryLookup accepts strings with terminators (P3) JDK-8307164: TestSegmentCopy times out (mainline) (P3) JDK-8309398: ValueLayout:: arrayElementVarHandle doesn't throws UnsupportedOperationException - if byteAlignment() > byteSize() (P3) JDK-8310053: VarHandle and slice handle derived from layout are lacking alignment check (P4) JDK-8309937: Add @sealedGraph for some Panama FFM interfaces (P4) JDK-8304888: Add dedicated VMProps for linker and fallback linker (P4) JDK-8301703: java.base jdk.internal.foreign.abi.BindingSpecializer uses ASM to generate classes (P4) JDK-8307961: java/foreign/enablenativeaccess/TestEnableNativeAccess.java fails with ShouldNotReachHere (P4) JDK-8307911: javadoc for MemorySegment::reinterpret has duplicate restricted method paragraph (P4) JDK-8303684: Lift upcall sharing mechanism to AbstractLinker (mainline) (P4) JDK-8308031: Linkers should reject unpromoted variadic parameters (P4) JDK-8311593: Minor doc issue in MemorySegment::copy (P4) JDK-8304283: Modernize the switch statements in jdk.internal.foreign (P4) JDK-8308992: New test TestHFA fails with zero (P4) JDK-8303582: Reduce duplication in jdk/java/foreign tests (P4) JDK-8307411: Test java/foreign/channels/TestAsyncSocketChannels.java failed: IllegalStateException: Already closed (P4) JDK-8300201: When storing MemoryAddress.ofLong(0x0000000080000000L), MemorySegment.get is not equal to MemorySegment.set because of the expanded sign (P4) JDK-8307110: zero build broken after JDK-8304265 core-libs/java.lang.invoke: (P2) JDK-8305600: java/lang/invoke/lambda/LogGeneratedClassesTest.java fails after JDK-8304846 and JDK-8202110 (P2) JDK-8313809: String template fails with java.lang.StringIndexOutOfBoundsException if last fragment is UTF16 (P3) JDK-8303473: Add implied {@code} in java.lang.invoke.MethodHandles (P3) JDK-8307508: IndirectVarHandle.isAccessModeSupported throws NPE (P3) JDK-8217920: Lookup.defineClass injects a class that can access private members of any class in its own module (P3) JDK-8304846: Provide a shared utility to dump generated classes defined via Lookup API (P3) JDK-8302260: VarHandle.describeConstable() fails to return a nominal descriptor for static public fields (P4) JDK-8288730: Add type parameter to Lookup::accessClass and Lookup::ensureInitialized (P4) JDK-8309819: Clarify API note in Class::getName and MethodType::toMethodDescriptorString (P4) JDK-8310814: Clarify the targetName parameter of Lookup::findClass (P4) JDK-8307944: ClassFileDumper should only load java.nio.file.Path if enabled (P4) JDK-8301460: Clean up LambdaForm to reference BasicType enums directly (P4) JDK-8299505: findVirtual on array classes incorrectly restricts the receiver type (P4) JDK-8299183: Invokers.checkExactType passes parameters to create WMTE in opposite order (P4) JDK-8292914: Lambda proxies have unstable names (P4) JDK-8301721: lookup.findSpecial fails on Object method call from interface (P4) JDK-8300693: Lower the compile threshold and reduce the iterations of warmup loop in VarHandles tests (P4) JDK-8300237: Minor improvements in MethodHandles (P4) JDK-8284363: Redundant imports in BoundMethodHandle (P4) JDK-8298590: Refactor LambdaForm constructors (P4) JDK-8299978: Remove MethodHandleNatives.getMembers (P4) JDK-8294147: Review running times of java.lang.invoke regression tests (P4) JDK-8301704: Shorten the number of GCs in UnloadingTest.java to verify a class loader not being unloaded (P4) JDK-8308239: Tighten up accessibility of nested classes in java.lang.invoke (P4) JDK-8305808: Typo in javadoc of ConstantDescs::BSM_VARHANDLE_STATIC_FIELD (P4) JDK-8297757: VarHandles.getStaticFieldFromBaseAndOffset should get the receiver type from VarHandle core-libs/java.lang.module: (P3) JDK-8300228: ModuleReader.find on exploded module throws if resource name maps to invalid file path (P4) JDK-8298875: A module requiring "java.base" with flags ACC_SYNTHETIC should be rejected (P4) JDK-8294962: Convert java.base/jdk.internal.module package to use the Classfile API to modify and write module-info.class (P4) JDK-8304163: Move jdk.internal.module.ModuleInfoWriter to the test library core-libs/java.lang:class_loading: (P4) JDK-8302791: Add specific ClassLoader object to Proxy IllegalArgumentException message (P4) JDK-8254566: Clarify the spec of ClassLoader::getClassLoadingLock for non-parallel capable loader (P4) JDK-8309241: ClassForNameLeak fails intermittently as the class loader hasn't been unloaded core-libs/java.lang:reflect: (P4) JDK-8309574: Improve core reflection tests for JEP 445 (P4) JDK-8297679: InvocationTargetException field named target is not declared final (P4) JDK-8309532: java/lang/Class/getDeclaredField/FieldSetAccessibleTest should filter modules that depend on JVMCI (P4) JDK-8302822: Method/Field/Constructor/RecordComponent::getGenericInfo() is not thread safe (P4) JDK-8304585: Method::invoke rewraps InvocationTargetException if a caller-sensitive method throws IAE (P4) JDK-8300924: Method::invoke throws wrong exception type when passing wrong number of arguments to method with 4 or more parameters (P4) JDK-8300698: Missing @since tag for ClassFileFormatVersion.RELEASE_21 (P4) JDK-8304918: Remove unused decl field from AnnotatedType implementations (P4) JDK-8311115: Type in java.lang.reflect.AccessFlag.METHOD_PARAMETER (P4) JDK-8308913: Update core reflection for JEP 445 (preview) (P4) JDK-8308987: Update java.lang.Class to use javadoc snippets core-libs/java.math: (P4) JDK-8205592: BigDecimal.doubleValue() is depressingly slow (P4) JDK-8305343: BigDecimal.fractionOnly() erroneously returns true for large scale value (P4) JDK-8294137: Review running times of java.math tests core-libs/java.net: (P3) JDK-8299338: AssertionError in ResponseSubscribers$HttpResponseInputStream::onSubscribe (P3) JDK-8299015: Ensure that HttpResponse.BodySubscribers.ofFile writes all bytes (P3) JDK-8308310: HttpClient: Avoid logging or locking from within synchronized blocks (P3) JDK-8304963: HttpServer closes connection after processing HEAD after JDK-7026262 (P3) JDK-8305089: Implement missing socket options on AIX (P3) JDK-8309120: java/net/httpclient/AsyncShutdownNow.java fails intermittently (P3) JDK-8299325: java/net/httpclient/CancelRequestTest.java fails "test CancelRequestTest.testGetSendAsync("https://localhost:46509/https1/x/same/interrupt", true, true)" (P3) JDK-8298931: java/net/httpclient/CancelStreamedBodyTest.java fails with AssertionError due to Pending TCP connections: 1 (P3) JDK-8307648: java/net/httpclient/ExpectContinueTest.java timed out (P3) JDK-8300172: java/net/httpclient/MappingResponseSubscriber.java failed with java.net.ConnectException (P3) JDK-8301787: java/net/httpclient/SpecialHeadersTest failing after JDK-8301306 (P3) JDK-8296610: java/net/HttpURLConnection/SetAuthenticator/HTTPSetAuthenticatorTest.java failed with "BindException: Address already in use: connect" (P3) JDK-8298589: java/net/SctpSanity.java fail with NoClassDefFoundError: sun/nio/ch/sctp/UnsupportedUtil (P3) JDK-8304286: java/net/SocketOption/OptionsTest.java failing after JDK-8302659 (P3) JDK-8304885: Reuse stale data to improve DNS resolver resiliency (P3) JDK-8278326: Socket close is not thread safe and other cleanup (P3) JDK-8298498: sun/net/www/http/KeepAliveCache/B8291637.java fails with "Server exception terminating: java.net.SocketException: Socket closed" (P3) JDK-8304989: unnecessary dash in @param gives double-dash in docs (P3) JDK-8298588: WebSockets: HandshakeUrlEncodingTest unnecessarily depends on a response body (P4) JDK-8299827: Add resolved IP address in connection exception for sockets (P4) JDK-8303481: CancelRequestTest assertTrue failing with AssertionError due to java.util.concurrent.CompletionException: java.io.EOFException: EOF reached while reading (P4) JDK-8301463: Code in DatagramSocket still refers to resolved JDK-8237352 (P4) JDK-8301462: Convert Permission files to use lambda after JDK-8076596 (P4) JDK-8305529: DefaultProxySelector.select(URI) in certain cases returns a List with null element (P4) JDK-8299475: Enhance SocketException by cause where it is missing in net and nio area (P4) JDK-8313256: Exclude failing multicast tests on AIX (P4) JDK-8301964: Expensive fillInStackTrace operation in HttpURLConnection.getLastModified when no last-modified in response (P4) JDK-8301255: Http2Connection may send too many GOAWAY frames (P4) JDK-8308024: HttpClient (HTTP/1.1) sends an extraneous empty chunk if the BodyPublisher supplies an empty buffer (P4) JDK-8305906: HttpClient may use incorrect key when finding pooled HTTP/2 connection for IPv6 address (P4) JDK-8296410: HttpClient throws java.io.IOException: no statuscode in response for HTTP2 (P4) JDK-8293786: HttpClient will not send more than 64 kb of data from the 2nd request in http2 (P4) JDK-8301004: httpclient: Add more debug to HttpResponseInputStream (P4) JDK-8308565: HttpClient: Sanitize logging while stopping (P4) JDK-8288109: HttpExchangeImpl.setAttribute does not allow null value after JDK-8266897 (P4) JDK-7026262: HttpServer: improve handling of finished HTTP exchanges (P4) JDK-8287134: HttpURLConnection chunked streaming mode doesn't enforce specified size (P4) JDK-8054022: HttpURLConnection timeouts with Expect: 100-Continue and no chunking (P4) JDK-8305847: Improve diagnosability and resilience of HttpClient::close tests (P4) JDK-8309527: Improve test proxy performance (P4) JDK-8303457: Introduce convenience test library APIs for creating test servers for tests in test/jdk/java/net/httpclient (P4) JDK-6914801: IPv6 unavailable if stdin is a socket (P4) JDK-8303965: java.net.http.HttpClient should reset the stream if response headers contain malformed header fields (P4) JDK-8301701: java/net/DatagramSocket/DatagramSocketMulticasting.java should be hardened (P4) JDK-8301306: java/net/httpclient/* fail with -Xcomp (P4) JDK-8301942: java/net/httpclient/DigestEchoClientSSL.java fail with -Xcomp (P4) JDK-8309200: java/net/httpclient/ExecutorShutdown fails intermittently, if connection closed during upgrade (P4) JDK-8307626: java/net/httpclient/FlowAdapter* tests should close the HttpClient instances (P4) JDK-8301243: java/net/httpclient/http2/IdleConnectionTimeoutTest.java intermittent failure (P4) JDK-8299018: java/net/httpclient/HttpsTunnelAuthTest.java fails with java.io.IOException: HTTP/1.1 header parser received no bytes (P4) JDK-8262294: java/net/httpclient/ProxyAuthDisabledSchemes.java fails with HTTP/1.1 parser received no bytes (P4) JDK-8308545: java/net/httpclient/ShutdownNow.java fails with "stream 1 cancelled" (P4) JDK-8301169: java/net/httpclient/ThrowingSubscribersAsInputStream.java,ThrowingSubscribersAsInputStreamAsync.java, and other httpclient tests failing on windows: Unable to establish loopback connection (P4) JDK-8219083: java/net/MulticastSocket/SetGetNetworkInterfaceTest.java failed in same binary run on windows x64 (P4) JDK-8299437: Make InetSocketAddressHolder shallowly immutable (P4) JDK-8302659: Modernize Windows native code for NetworkInterface (P4) JDK-8295944: Move the Http2TestServer and related classes into a package of its own (P4) JDK-8305763: Parsing a URI with an underscore goes through a silent exception, negatively impacting performance (P4) JDK-8309340: Provide sctpHandleSocketErrorWithMessage (P4) JDK-8304818: Prune HttpURLConnection cache when corresponding Authenticator is garbage collected (P4) JDK-8302635: Race condition in HttpBodySubscriberWrapper when cancelling request (P4) JDK-8300792: Refactor examples in java.net.http to use @snippet (P4) JDK-8304174: Remove delays from httpserver tests (P4) JDK-8305858: Resolve multiple definition of 'handleSocketError' when statically linking with JDK native libraries (P4) JDK-8300268: ServerImpl allows too many idle connections when using sun.net.httpserver.maxIdleConnections (P4) JDK-8303682: Simplify HttpClient DebugLogger (P4) JDK-8302732: sun/net/www/http/HttpClient/MultiThreadTest.java still failing intermittently (P4) JDK-8304962: sun/net/www/http/KeepAliveCache/B5045306.java: java.lang.RuntimeException: Failed: Initial Keep Alive Connection is not being reused (P4) JDK-8267140: Support closing the HttpClient by making it auto-closable (P4) JDK-8308336: Test java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java failed: java.net.BindException: Address already in use (P4) JDK-8306940: test/jdk/java/net/httpclient/XxxxInURI.java should call HttpClient::close (P4) JDK-7065228: To interpret case-insensitive string locale independently (P4) JDK-8300909: Update com/sun/jndi/dns/Test6991580.java manual test instruction (P4) JDK-8308801: update for deprecated sprintf for libnet in java.base (P4) JDK-8308185: Update Http2TestServerConnection to use SSLSocket.startHandshake() (P4) JDK-8309409: Update HttpInputStreamTest and BodyProcessorInputStreamTest to use hg.openjdk.org (P4) JDK-8304927: Update java/net/httpclient/BasicAuthTest.java to check basic auth over HTTP/2 (P4) JDK-8305323: Update java/net/httpclient/ContentLengthHeaderTest.java to use new HttpTestServer factory methods (P4) JDK-8305095: Update java/net/httpclient/CustomRequestPublisher.java to use new HttpTestServer factory methods (P4) JDK-8299863: URLFromURITest.java should import org.junit.jupiter.api.Test (P4) JDK-8299499: Usage of constructors of primitive wrapper classes should be avoided in java.net API docs (P4) JDK-8305900: Use loopback IP addresses in security policy files of httpclient tests (P5) JDK-8297822: De-duplicate code in module jdk.sctp (P5) JDK-8297778: Modernize and improve module jdk.sctp (P5) JDK-8303216: Prefer ArrayList to LinkedList in sun.net.httpserver.ServerImpl (P5) JDK-8303509: Socket setTrafficClass does not work for IPv4 connections when IPv6 enabled (P5) JDK-8300177: URISyntaxException fields can be final (P5) JDK-8300176: URLEncoder/URLDecoder static fields should be private static final core-libs/java.nio: (P2) JDK-8306623: (bf) CharBuffer::allocate throws unexpected exception type with some CharSequences (P2) JDK-8305596: (fc) Two java/nio/channels tests fail after JDK-8303260 (P3) JDK-8280113: (dc) DatagramSocket.receive does not always throw when the channel is closed (P3) JDK-7093322: (fs spec) Files.newBufferedWriter should be clear when coding errors are detected (P3) JDK-8298726: (fs) Change PollingWatchService to record last modified time as FileTime rather than milliseconds (P3) JDK-8298478: (fs) Path.of should allow input to include long path prefix (P3) JDK-8308678: (fs) UnixPath::toRealPath needs additional permissions when running with SM (macOS) (P3) JDK-8297292: java/nio/channels/FileChannel/FileExtensionAndMap.java is too slow (P3) JDK-8300942: JDK-8299684 breaks x86 build (P4) JDK-4842457: (bf spec) Clarify meaning of "(optional operation)" (P4) JDK-8299982: (bf) Buffer.checkIndex(int, int) should use Preconditions.checkIndex(int, int, BiFunction) (P4) JDK-8299187: (bf) ByteOrder.name should be declared final (P4) JDK-8306959: (bf) CharBuffer.append(CharSequence,int,int) throws BufferOverflowException where IndexOutOfBoundsException expected (P4) JDK-8305442: (bf) Direct and view implementations of CharBuffer.toString(int, int) do not need to catch SIOBE (P4) JDK-8305811: (bf) Improve performance of CharBuffer::append(CharSequence[,int,int]) (P4) JDK-8306374: (bf) Improve performance of DirectCharBuffer::append(CharSequence[,int,int]) (P4) JDK-8299684: (bf) JNI direct buffer functions with large capacity behave unexpectedly (P4) JDK-8303083: (bf) Remove private DirectByteBuffer(long, int) constructor before JDK 21 GA (P4) JDK-8300587: (bf) Some covariant overrides are missing @since tags (P4) JDK-8303073: (bf) Temporarily reinstate private DirectByteBuffer(long, int) constructor (P4) JDK-8278268: (ch) InputStream returned by Channels.newInputStream should have fast path for FileChannel targets (P4) JDK-8029370: (fc) FileChannel javadoc not clear for cases where position == size (P4) JDK-8303260: (fc) FileChannel::transferFrom should support position > size() (P4) JDK-8304833: (fc) Remove dead code in sun.nio.ch.FileChannelImpl::implCloseChannel (P4) JDK-8303175: (fs) Deprecate com.sun.nio.file.SensitivityWatchEventModifier for removal (P4) JDK-8302789: (fs) Files.copy should include unsupported copy option in exception message (P4) JDK-8307976: (fs) Files.createDirectories(dir) returns dir::toAbsolutePath instead of dir (P4) JDK-8307887: (fs) Files.createSymbolicLink throws less specific exception when in developer mode and file already exists (P4) JDK-8303413: (fs) Ignore polling interval sensitivity modifiers in PollingWatchService (P4) JDK-8281149: (fs) java/nio/file/FileStore/Basic.java fails with java.lang.RuntimeException: values differ by more than 1GB (P4) JDK-8202110: (fs) Remove FileSystem support for resolving against a default directory (chdir configuration) (P4) JDK-8306770: (fs) Remove obsolete os.version check from sun.nio.fs.BsdFileStore.supportsFileAttributeView (P4) JDK-8305809: (fs) Review obsolete Linux kernel dependency on os.version (Unix kernel 2.6.39) (P4) JDK-8305945: (zipfs) Opening a directory to get input stream produces incorrect exception message (P4) JDK-8305664: [BACKOUT] (fs) Remove FileSystem support for resolving against a default directory (chdir configuration) (P4) JDK-8305993: Add handleSocketErrorWithMessage to extend nio Net.c exception message (P4) JDK-8308300: enhance exceptions in MappedMemoryUtils.c (P4) JDK-8313250: Exclude java/foreign/TestByteBuffer.java on AIX (P4) JDK-8286597: Implement PollerProvider on AIX (P4) JDK-8300916: Re-examine the initialization of JNU Charset in StaticProperty (P4) JDK-8307409: Refactor usage examples to use @snippet in the java.nio packages (P4) JDK-8307425: Socket input stream read burns CPU cycles with back-to-back poll(0) calls (P4) JDK-8300912: Update java/nio/MappedByteBuffer/PmemTest.java to run on x86_64 only (P4) JDK-8299864: ZipFileStore#supportsFileAttributeView(String) doesn't throw NPE (P5) JDK-8299193: (bf) Buffer.capacity should be declared final (P5) JDK-8306483: (ch) Channels.newReader(ReadableByteChannel,Charset) refers to csName (P5) JDK-8298187: (fs) BsdFileAttributeViews::setTimes does not support lastAccessTime on HFS+ (P5) JDK-8302979: (fs) Files usage of SUPPORTED_CHARSETS could be simplified (P5) JDK-8304591: (fs) UnixPath.stringValue need not be volatile (P5) JDK-8303024: (fs) WindowsFileSystem.supportedFileAttributeViews can use Set.of (P5) JDK-8305696: (zipfs) Avoid redundant LinkedHashMap.containsKey call ZipFileSystem.makeParentDirs (P5) JDK-8299976: Initialize static fields in Net eagerly core-libs/java.nio.charsets: (P4) JDK-8305902: (cs) Resolve default Charset only once in StreamEncoder and StreamDecoder (P4) JDK-8272613: CharsetDecoder.decode(ByteBuffer) throws IllegalArgumentException (P4) JDK-8304840: Dangling `CharacterCodingException` in a few javadoc descriptions (P4) JDK-8305746: InitializeEncoding should cache Charset object instead of charset name (P4) JDK-8308046: Move Solaris related charsets from java.base to jdk.charsets module (P4) JDK-8311183: Remove unused mapping test files (P4) JDK-8301119: Support for GB18030-2022 (P4) JDK-8302603: Use Set.of in java.nio.charset.Charset core-libs/java.rmi: (P4) JDK-8301214: Adjust handshakeTimeout value in test HandshakeTimeout.java after 8189338 (P4) JDK-8301737: java/rmi/server/UnicastRemoteObject/serialFilter/FilterUROTest.java fail with -Xcomp (P4) JDK-8189338: JMX RMI Remote Mbean server connection hangs if the server stops responding during a SSL Handshake (P4) JDK-8298939: Refactor open/test/jdk/javax/rmi/ssl/SSLSocketParametersTest.sh to jtreg java test (P4) JDK-8300594: Use generalized see and link tags in UnicastRemoteObject core-libs/java.sql: (P3) JDK-8304990: unnecessary dash in @param gives double-dash in docs (P4) JDK-8307088: Allow the jdbc.drivers system property to be searchable core-libs/java.text: (P3) JDK-8305853: java/text/Format/DateFormat/DateFormatRegression.java fails with "Uncaught exception thrown in test method Test4089106" (P3) JDK-8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR (P4) JDK-8039165: [Doc] MessageFormat null locale generates NullPointerException (P4) JDK-6960866: [Fmt-Ch] ChoiceFormat claims impossible and unimplemented functionality (P4) JDK-6282188: [Fmt-Nu]DecimalFormat - javadocs for section "Scientific Notation" and "Special Values" is not clear (P4) JDK-8304993: bad sentence break in DateFormat (P4) JDK-8306927: Collator treats "v" and "w" as the same letter for Swedish language locale. (P4) JDK-8299617: CurrencySymbols.properties is missing the copyright notice (P4) JDK-8308316: Default decomposition mode in Collator (P4) JDK-8159023: Engineering notation of DecimalFormat does not work as documented (P4) JDK-8306711: Improve diagnosis of `IntlTest` framework (P4) JDK-8300308: java.text.MessageFormat has incorrect doc comment (P4) JDK-8300077: Refactor code examples to use @snippet in java.text.ChoiceFormat (P4) JDK-8300356: Refactor code examples to use @snippet in java.text.CollationElementIterator (P4) JDK-8300586: Refactor code examples to use @snippet in java.text.Collator (P4) JDK-8300307: Refactor code examples to use @snippet in java.text.DateFormat (P4) JDK-8300093: Refactor code examples to use @snippet in java.text.MessageFormat (P4) JDK-8308108: Support Unicode extension for collation settings (P4) JDK-8307547: Support variant collations (P4) JDK-8299500: Usage of constructors of primitive wrapper classes should be avoided in java.text API docs (P4) JDK-8300589: Use @snippet and @linkplain in java.text.CollationKey and java.text.CompactNumberFormat (P4) JDK-8300706: Use @snippet in java.text (P5) JDK-6714245: [Col] Collator - Faster Comparison for identical strings. core-libs/java.time: (P2) JDK-8305202: Fix Copyright Header in ZonedDateTimeFormatterBenchmark (P3) JDK-8305113: (tz) Update Timezone Data to 2023c (P3) JDK-8307466: java.time.Instant calculation bug in until and between methods (P3) JDK-8302983: ZoneRulesProvider.registerProvider() twice will remove provider (P4) JDK-8310033: Clarify return value of Java Time compareTo methods (P4) JDK-8310182: DateTimeFormatter date formats (ISO_LOCAL_DATE) separated with hyphen, not dash (P4) JDK-8281103: Give example for Locale that is English and follows the ISO standards (P4) JDK-8303919: Instant.ofEpochMilli says it can throw an exception that it can't (P4) JDK-8305505: NPE in javazic compiler (P4) JDK-8304976: Optimize DateTimeFormatterBuilder.ZoneTextPrinterParser.getTree() (P4) JDK-8300818: Reduce complexity of padding with DateTimeFormatter (P4) JDK-8303253: Remove unnecessary calls to super() in java.time value based classes (P4) JDK-8308735: Typos in parameter names (P4) JDK-8299571: ZoneRulesProvider.registerProvider() can leave inconsistent state on failure core-libs/java.util: (P1) JDK-8301086: jdk/internal/util/ByteArray/ReadWriteValues.java fails with CompilationError (P3) JDK-8306785: fix deficient spliterators for Sequenced Collections (P3) JDK-8310975: java.util.FormatItemModifier should not be protected (P4) JDK-8302323: Add repeat methods to StringBuilder/StringBuffer (P4) JDK-8299677: Formatter.format might take a long time to format an integer or floating-point (P4) JDK-8308803: Improve java/util/UUID/UUIDTest.java (P4) JDK-8304836: Make MALLOC_MIN4 macro more robust (P4) JDK-8300038: Make new version of JNU_GetStringPlatformChars which checks for null characters (P4) JDK-8300869: Make use of the Double.toString(double) algorithm in java.util.Formatter (P4) JDK-8301958: Reduce Arrays.copyOf/-Range overheads (P4) JDK-8305157: The java.util.Arrays class should be declared final (P4) JDK-8302214: Typo in javadoc of Arrays.compare and Arrays.mismatch (P4) JDK-8300133: Use generalized see and link tags in core libs core-libs/java.util.concurrent: (P3) JDK-8300098: java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java fails with internal timeout when executed with TieredCompilation1/3 (P3) JDK-8298066: java/util/concurrent/locks/Lock/OOMEInAQS.java timed out (P3) JDK-8309853: StructuredTaskScope.join description improvements (P3) JDK-8311867: StructuredTaskScope.shutdown does not interrupt newly started threads (P3) JDK-8301637: ThreadLocalRandom.current().doubles().parallel() contention (P4) JDK-8303742: CompletableFuture.orTimeout leaks if the future completes exceptionally (P4) JDK-8302899: Executors.newSingleThreadExecutor can use Cleaner to shutdown executor (P4) JDK-8297605: improve DelayQueue removal method javadoc (P4) JDK-8304557: java/util/concurrent/CompletableFuture/CompletableFutureOrTimeoutExceptionallyTest.java times out (P4) JDK-8308038: java/util/concurrent/ThreadPerTaskExecutor/ThreadPerTaskExecutorTest.java timed out (P5) JDK-8302360: Atomic*.compareAndExchange Javadoc unclear core-libs/java.util.jar: (P4) JDK-8304013: Add a fast, non-manual alternative to test/jdk/java/util/zip/ZipFile/TestTooManyEntries (P4) JDK-8301873: Avoid string decoding in ZipFile.Source.getEntryPos (P4) JDK-8304014: Convert test/jdk/java/util/zip/ZipFile/CorruptedZipFiles.java to junit (P4) JDK-8299748: java/util/zip/Deinflate.java failing on s390x (P4) JDK-8307403: java/util/zip/DeInflate.java timed out (P4) JDK-8302819: Remove JAR Index (P4) JDK-8305758: Update the JAR tool man page to indicate -i/--generate-file is deprecated (P4) JDK-8300493: Use ArraysSupport.vectorizedHashCode in j.u.zip.ZipCoder (P4) JDK-8303923: ZipOutStream::putEntry should include an apiNote to indicate that the STORED compression method should be used when writing directory entries core-libs/java.util.logging: (P4) JDK-8307535: java.util.logging.Handlers should be more VirtualThread friendly core-libs/java.util.regex: (P3) JDK-8309515: Stale cached data from Matcher.namedGroups() after Matcher.usePattern() (P4) JDK-8300207: Add a pre-check for the number of canonical equivalent permutations in j.u.r.Pattern (P4) JDK-8305486: Add split() variants that keep the delimiters to String and j.u.r.Pattern (P4) JDK-8305107: Emoji related binary properties in RegEx (P4) JDK-8299388: java/util/regex/NegativeArraySize.java fails on Alpine and sometimes Windows (P4) JDK-8309955: Matcher uses @since {@inheritDoc} (P4) JDK-8132995: Matcher$ImmutableMatchResult should be optimized to reduce space usage (P4) JDK-8291598: Matcher.appendReplacement should not create new StringBuilder instances (P4) JDK-8217496: Matcher.group() can return null after usePattern (P5) JDK-8305785: Avoid redundant HashMap.containsKey call in java.util.regex core-libs/java.util.stream: (P3) JDK-8133773: clarify specification of Spliterator.tryAdvance (P4) JDK-8151531: Add notes to BaseStream.spliterator/iterator docs regarding them being escape hatches (P4) JDK-8170945: Collectors$Partition should override more Map methods (P4) JDK-8302666: Replace CHM with VarHandle in ForeachOrderedTask (P4) JDK-8272119: Typo in Collectors.summingInt documentation (a -> an) core-libs/java.util:collections: (P2) JDK-8308167: SequencedMap::firstEntry throws NPE when first entry has null key or value (P2) JDK-8300817: The build is broken after JDK-8294693 (P3) JDK-8308694: Clarify reversed() default methods' implementation requirements (P3) JDK-8309882: LinkedHashMap adds an errant serializable field (P3) JDK-8307840: SequencedMap view method specification and implementation adjustments (P4) JDK-8294693: Add Collections.shuffle overload that accepts RandomGenerator interface (P4) JDK-8296935: Arrays.asList() can return a List that throws undocumented ArrayStoreException (P4) JDK-8038146: Clarify Map.Entry's connection to the underlying map (P4) JDK-8301120: Cleanup utility classes java.util.Arrays and java.util.Collections (P4) JDK-8297306: Incorrect brackets in Javadoc for a constructor of IteratorSpliterator (P4) JDK-8299444: java.util.Set.copyOf allocates needlessly for empty input collections (P4) JDK-8280836: JEP 431: Sequenced Collections (P4) JDK-8266571: Sequenced Collections (P4) JDK-8303214: Typo in java.util.Collections#synchronizedNavigableMap javadoc (P4) JDK-8269843: typo in LinkedHashMap::removeEldestEntry spec (P4) JDK-8299501: Usage of constructors of primitive wrapper classes should be avoided in java.util API docs core-libs/java.util:i18n: (P3) JDK-8298808: Check `script` code on detecting the base locales (P3) JDK-8299194: CustomTzIDCheckDST.java may fail at future date (P3) JDK-8305400: ISO 4217 Amendment 175 Update (P3) JDK-8303440: The "ZonedDateTime.parse" may not accept the "UTC+XX" zone id (P3) JDK-8296248: Update CLDR to Version 43.0 (P4) JDK-4741194: (cal) API: add() and roll() methods throws IllegalArgumentException (P4) JDK-4737887: (cal) API: Calendar methods taking field should document exceptions (P4) JDK-6218123: (cal) API: Spec for GregorianCalendar constructors and Calendar getInstance is inconsistent. (P4) JDK-6453901: (cal) clean up sun.util.calendar classes (P4) JDK-6381945: (cal) Japanese calendar unit test system should avoid multiple static imports (P4) JDK-8305207: Calendar.aggregateStamp(int, int) return value can be simplified (P4) JDK-8177352: Calendar.getDisplayName(s) in non-lenient mode inconsistent, does not match spec (P4) JDK-8225641: Calendar.roll(int field) does not work correctly for WEEK_OF_YEAR (P4) JDK-8171156: Class java.util.LocaleISOData has outdated information for country Code NP (P4) JDK-8306118: CLONE - Utilize `coverageLevels.txt` (P4) JDK-8303472: Display name for region TR (P4) JDK-8304982: Emit warning for removal of `COMPAT` provider (P4) JDK-8306597: Improve string formatting in EquivMapsGenerator.java (P4) JDK-8159337: Introduce a method in Locale class to return the language tags as per RFC 5646 convention (P4) JDK-8303232: java.util.Date.parse(String) and java.util.Date(String) don't declare thrown IllegalArgumentException (P4) JDK-8282319: java.util.Locale method to stream available Locales (P4) JDK-8305111: Locale.lookupTag has typo in parameter (P4) JDK-8299836: Make `user.timezone` system property searchable (P4) JDK-8299292: Missing elements in aliased String array (P4) JDK-8177418: NPE is not apparent for methods in java.util.TimeZone API docs (P4) JDK-8300011: Refactor code examples to use @snippet in java.util.TimeZone (P4) JDK-8299865: Unnecessary NullPointerException catch in java.util.TimeZone#setDefaultZone (P4) JDK-8302512: Update IANA Language Subtag Registry to Version 2023-02-14 (P4) JDK-8304761: Update IANA Language Subtag Registry to Version 2023-03-22 (P4) JDK-8306031: Update IANA Language Subtag Registry to Version 2023-04-13 (P4) JDK-8308021: Update IANA Language Subtag Registry to Version 2023-05-11 (P4) JDK-8303853: Update ISO 3166 country codes table (P4) JDK-8303917: Update ISO 639 language codes table (P4) JDK-8306323: Update license files in CLDR v43 (P4) JDK-8308018: Update Supported Locales document (P4) JDK-8300794: Use @snippet in java.util:i18n (P4) JDK-8303275: Use {@Return and @linkplain in Locale and related classes (P4) JDK-8303039: Utilize `coverageLevels.txt` (P5) JDK-6241286: (cal) API: Calendar.DAY_OF_WEEK definition is wrong (P5) JDK-8303833: java.util.LocaleISOData has wrong comments for 'Norwegian Bokmål' and 'Volapük' core-libs/javax.lang.model: (P4) JDK-8310676: add note about unnamed module to Elements.getAllModuleElements (P4) JDK-8296150: Add SourceVersion.RELEASE_21 (P4) JDK-8307007: Implementation for javax.lang.model for unnamed variables (Preview) (P4) JDK-8309503: Improve javax.lang.model tests for JEP 445 (P4) JDK-8308613: javax.lang.model updates for JEP 445 (preview) (P4) JDK-8309416: Misstatement in semantics of methods in javax.lang.model.ElementFilter (P4) JDK-8300857: State return value for Types.asElement(NoType) explicitly (P4) JDK-8308388: Update description of SourceVersion.RELEASE_21 (P4) JDK-8309554: Update descriptions in SourceVersion (P4) JDK-8300595: Use improved @see and @link syntax in javax.lang.model and javax.tools core-libs/javax.naming: (P3) JDK-8302845: Replace finalizer usage in JNDI DNS provider with Cleaner (P5) JDK-8301367: Add exception handler method to the BaseLdapServer core-libs/javax.sql: (P4) JDK-8300321: Use link tags in javax.sql.rowset package-info core-svc: (P4) JDK-8299563: Fix typos (P4) JDK-8307347: serviceability/sa/ClhsdbDumpclass.java could leave files owned by root on macOS core-svc/debugger: (P1) JDK-8307857: validate-source fails after JDK-8306758 (P2) JDK-8301644: com/sun/jdi/JdbStopThreadTest.java fails after JDK-8300811 (P3) JDK-8301798: [BACKOUT] jdb ThreadStartRequest and ThreadDeathRequest should use SUSPEND_NONE instead of SUSPEND_ALL (P3) JDK-8282384: [LOOM] Need test for ThreadReference.interrupt() on a vthread (P3) JDK-8308819: add JDWP and JDI virtual thread support for ThreadReference.ForceEarlyReturn (P3) JDK-8309146: extend JDI StackFrame.setValue() and JDWP StackFrame.setValues minimal support for virtual threads (P3) JDK-8306467: Fix nsk/jdb/kill/kill001 to work with new JVMTI StopThread support for virtual threads. (P3) JDK-8305209: JDWP exit error AGENT_ERROR_INVALID_THREAD(203): missing entry in running thread table (P3) JDK-8298907: nsk JDI tests pass if the debuggee failed to launch (P3) JDK-8305632: Test com/sun/jdi/PopAndInvokeTest.java fails with OpaqueFrameException (P4) JDK-8282383: [LOOM] 6 nsk JDI and JDB tests sometimes failing with vthread wrapper due to running out of carrier threads (P4) JDK-8285416: [LOOM] Some nsk/jdi tests fail due to needing too many virtual threads (P4) JDK-8282379: [LOOM] vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod011 sometimes fails (P4) JDK-8301638: A number of nsk/jdi invokemethod tests should be converted to create virtual threads (P4) JDK-8307559: Add better checking in com/sun/jdi tests for debuggee exiting unexpectedly with an exception (P4) JDK-8308237: add JDWP and JDI virtual thread support for ThreadReference.PopFrames (P4) JDK-8306471: Add virtual threads support to JDWP ThreadReference.Stop and JDI ThreadReference.stop() (P4) JDK-8305608: Change VMConnection to use "test.class.path"instead of "test.classes" (P4) JDK-8287812: Cleanup JDWP agent GetEnv initialization (P4) JDK-8307885: com/sun/jdi/ConnectedVMs.java fails with "Invalid debuggee exitValue: 0" (P4) JDK-8306758: com/sun/jdi/ConnectedVMs.java fails with "Non-zero debuggee exitValue: 143" (P4) JDK-8290200: com/sun/jdi/InvokeHangTest.java fails with "Debuggee appears to be hung" (P4) JDK-8296646: com/sun/jdi/JdbLastErrorTest.java test failure (P4) JDK-8309396: com/sun/jdi/JdbMethodExitTest.java fails with virtual threads due to a bug in determining the main thread id (P4) JDK-8309505: com/sun/jdi/MethodEntryExitEvents.java due to finding wrong main thread (P4) JDK-8309506: com/sun/jdi/MultiBreakpointsTest.java fails with virtual test thread factory (P4) JDK-8306705: com/sun/jdi/PopAndInvokeTest.java fails with NativeMethodException (P4) JDK-8309509: com/sun/jdi/RedefineNestmateAttr/TestNestmateAttr.java fails with virtual test thread factory (P4) JDK-8309510: com/sun/jdi/RedefineNestmateAttr/TestNestmateAttr.java no longer needs to override startUp() method (P4) JDK-8305937: com/sun/jdi/SetLocalWhileThreadInNative.java fails with -XX:+TieredCompilation (P4) JDK-8309420: com/sun/jdi/StepTest.java fails with virtual thread wrapper (P4) JDK-8304436: com/sun/jdi/ThreadMemoryLeakTest.java fails with "OutOfMemoryError: Java heap space" with ZGC (P4) JDK-8304449: com/sun/jdi/ThreadMemoryLeakTest.java times out (P4) JDK-8302516: Do some cleanup of nsk/share/jdi/EventHandler.java (P4) JDK-8303705: Field sleeper.started should be volatile JdbLockTestTarg.java (P4) JDK-8298692: Fix typos in test/jdk/com/sun/jdi files (P4) JDK-8304685: Fix whitespace parsing in libjdwp (P4) JDK-8304834: Fix wrapper insertion in TestScaffold.parseArgs(String args[]) (P4) JDK-8299593: getprotobyname should not be used (P4) JDK-8300811: jdb ThreadStartRequest and ThreadDeathRequest should use SUSPEND_NONE instead of SUSPEND_ALL (P4) JDK-8289765: JDI EventSet/resume/resume008 failed with "ERROR: suspendCounts don't match for : VirtualThread-unparker" (P4) JDK-8308481: JDI TestScaffold does not support passing app arguments to the debuggee (P4) JDK-8308187: jdi/EventSet/resume/resume008 failed with "EventHandler> Unexpected event: ThreadStartEvent in thread resume008-thread0" (P4) JDK-8297638: Memory leak in case of many started-dead threads (P4) JDK-8303071: Memory leaks in libjdwp (P4) JDK-8304543: Modernize debugging jvm args in test/hotspot/jtreg/vmTestbase/nsk/jdi/Argument/value/value004.java (P4) JDK-8308232: nsk/jdb tests don't pass -verbose flag to the debuggee (P4) JDK-8303702: Provide ThreadFactory to create platform/virtual threads for com/sun/jdi tests (P4) JDK-8304547: Remove checking of -Djava.compiler in src/jdk.jdi/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java (P4) JDK-8305511: Remove ignore from com/sun/jdi/PopAndInvokeTest.java (P4) JDK-8305607: Remove some unused test parameters in com/sun/jdi tests (P4) JDK-8307362: Remove test com/sun/jdi/JdbLastErrorTest.java (P4) JDK-8308499: Test vmTestbase/nsk/jdi/MethodExitRequest/addClassExclusionFilter/filter001/TestDescription.java failed: VMDisconnectedException (P4) JDK-8307305: Update debugger tests to support JTREG_TEST_THREAD_FACTORY mode (P4) JDK-8307850: update for deprecated sprintf for jdk.jdi (P4) JDK-8303617: update for deprecated sprintf for jdk.jdwp.agent (P4) JDK-8310551: vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java timed out due to missing prompt (P4) JDK-8298514: vmTestbase/nsk/jdi/EventRequestManager/threadDeathRequests/thrdeathreq002/TestDescription.java fails with usage tracker (P4) JDK-8298513: vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy009/TestDescription.java fails with usage tracker (P5) JDK-8309329: com/sun/jdi/DeferredStepTest.java fails with virtual threads due to not waiting for threads to exit (P5) JDK-8300810: Get rid of unused JDI removeListener() methods (P5) JDK-8300012: Remove unused JDI VirtualMachineImpl.removeObjectMirror(ObjectReferenceImpl object) method (P5) JDK-8304376: Rename t1/t2 classes in com/sun/jdi/CLETest.java to avoid class duplication error in IDE (P5) JDK-8309159: Some minor comment and code cleanup in jdk/com/sun/jdi/PopFramesTest.java core-svc/java.lang.instrument: (P4) JDK-8301377: adjust timeout for JLI GetObjectSizeIntrinsicsTest.java subtest again (P4) JDK-8299957: Enhance error logging in instrument coding with additional jplis_assert_msg core-svc/java.lang.management: (P3) JDK-8299858: [Metrics] Swap memory limit reported incorrectly when too large (P3) JDK-8300659: Refactor TestMemoryAwareness to use WhiteBox api for host values (P4) JDK-8299665: /proc/self/stat parsing in libmanagement broken by execname with spaces (P4) JDK-8304074: [JMX] Add an approximation of total bytes allocated on the Java heap by the JVM (P4) JDK-8305502: adjust timeouts in three more M&M tests (P4) JDK-8300119: CgroupMetrics.getTotalMemorySize0() can report invalid results on 32 bit systems (P4) JDK-8303136: MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded005 failed with "isCollectionUsageThresholdExceeded() returned true, while threshold = 1 and used = 0" (P4) JDK-8305622: Remove Permission details from jcmd man page (P4) JDK-8305680: Remove Permissions from jcmd help output (P4) JDK-8303916: ThreadLists.java inconsistent results (P4) JDK-8303242: ThreadMXBean issues with virtual threads (P4) JDK-8301279: update for deprecated sprintf for management components (P5) JDK-8302858: Polish FlightRecorderMXBeanImpl (P5) JDK-8302856: Typo in FlightRecorderMXBeanImpl core-svc/javax.management: (P4) JDK-8305237: CompilerDirectives DCmds permissions correction (P4) JDK-8298966: Deprecate JMX Subject Delegation and the method JMXConnector.getMBeanServerConnection(Subject) for removal. (P4) JDK-8299739: HashedPasswordFileTest.java and ExceptionTest.java can fail with java.lang.NullPointerException (P4) JDK-8302069: javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java update (P4) JDK-8306806: JMX agent with JDP enabled won't start when PerfData is disabled (P4) JDK-8299234: JMX Repository.query performance (P4) JDK-8302870: More information needed from failures in vmTestbase ThreadUtils.waitThreadState (P4) JDK-8307244: Remove redundant class RMIIIOPServerImpl (P4) JDK-8301132: Test update for deprecated sprintf in Xcode 14 (P4) JDK-8304988: unnecessary dash in @param gives double-dash in docs (P4) JDK-8300357: Use generalized see and link tags in java.management (P5) JDK-8303690: Prefer ArrayList to LinkedList in com.sun.jmx.mbeanserver.Introspector (P5) JDK-8298090: Use String.join() instead of manual loop in DescriptorSupport.toString core-svc/tools: (P3) JDK-8309406: Change jdk.trackAllThreads to default to true (P3) JDK-8309549: com/sun/tools/attach/warnings/DynamicLoadWarningTest.java fails on AIX (P3) JDK-8310191: com/sun/tools/attach/warnings/DynamicLoadWarningTest.java second failure on AIX (P3) JDK-8303937: Corrupted heap dumps due to missing retries for os::write() (P4) JDK-8241293: CompressedClassSpaceSizeInJmapHeap.java time out after 8 minutes (P4) JDK-8307478: Implementation of Prepare to Restrict The Dynamic Loading of Agents (P4) JDK-8307848: update for deprecated sprintf for jdk.attach docs: (P4) JDK-8305118: Add RISC-V related content to building.md (P4) JDK-8308460: Document OCSP, CRL and Certificate fetching timeout properties (JDK-8179502) (P4) JDK-8303130: Document required Accessibility permissions on macOS (P4) JDK-8306408: Fix the format of several tables in building.md (P4) JDK-8307756: Update the JDK Providers Guide with the HSS/LMS algorithm docs/guides: (P3) JDK-8313190: Add new guide for JavaDoc CSS Themes (P3) JDK-8301282: JMX simple and delegation security samples don't work because of missing access control entries (P3) JDK-8313797: Supported algorithms list for SunRsaSign provider is incorrect (P3) JDK-8314585: Update scripts chapter in JShell User's Guide (P4) JDK-8306926: Cipher Suite Preference section of JSSE guide should be updated to use server's cipher suite preference (P4) JDK-8313219: Document system property jdk.jar.maxSignatureFileSize in the security guides (P4) JDK-8309282: GC Tuning Guide: Update documentation about G1 moving humongous objects (P4) JDK-8304109: Improve simple examples in the section "Record Classes" (P4) JDK-8313567: Integrate the Programmer's Guide to Snippet along side the Programmer's Guide to JavaDoc CSS Themes in the JavaDoc Tool doc (P4) JDK-8304327: JMX Guide: Document the deprecation of Subject Delegation (P4) JDK-8308338: Redefine JAXP Configuration File (P4) JDK-8304289: sun.security.nativegss.debug is not documented anywhere (P4) JDK-8303124: Update Internationalization guide for JDK-8301119 - Support for GB18030-2022 (P4) JDK-8302577: Update JSSE Guide for JDK-8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit (P4) JDK-8298817: Update SunJCE provider documentation with new algorithm support docs/tools: (P4) JDK-8308290: Add fontconfig requirement to building.md (P4) JDK-8309287: Add fontconfig requirement to building.md for Debian globalization/translation: (P3) JDK-8309632: JDK 21 RDP1 L10n resource files update hotspot/compiler: (P1) JDK-8301448: [BACKOUT] CodeHeap has virtual methods that are not overridden (P1) JDK-8309110: Build failure after JDK-8307795 due to warnings in micro-benchmark StoreMaskTrueCount.java (P1) JDK-8308583: SIGSEGV in GraphKit::gen_checkcast (P2) JDK-8307588: [JVMCI] HotSpotConstantPool#lookupBootstrapMethodInvocation broken by JDK-8301995 (P2) JDK-8305227: [s390x] build broken after JDK-8231349 (P2) JDK-8303147: [s390x] fast & slow debug builds are broken (P2) JDK-8309129: AArch64: guarantee(T != T2S) failed: "incorrect arrangement" after JDK-8307795 (P2) JDK-8307572: AArch64: Vector registers are clobbered by some macroassemblers (P2) JDK-8300584: Accelerate AVX-512 CRC32C for small buffers (P2) JDK-8308892: Bad graph detected in build_loop_late after JDK-8305635 (P2) JDK-8305509: C1 fails "assert(k != nullptr) failed: illegal use of unloaded klass" (P2) JDK-8302976: C2 Intrinsification of Float.floatToFloat16 and Float.float16ToFloat Yields Different Result than the Interpreter (P2) JDK-8309268: C2: "assert(in_bb(n)) failed: must be" after JDK-8306302 (P2) JDK-8309542: compiler/jvmci/TestEnableJVMCIProduct.java fails with "JVMCI compiler 'graal' specified by jvmci.Compiler not found" (P2) JDK-8310829: guarantee(!HAS_PENDING_EXCEPTION) failed in ExceptionTranslation::doit (P2) JDK-8303154: Investigate and improve instruction cache flushing during compilation (P2) JDK-8305419: JDK-8301995 broke building libgraal (P2) JDK-8304230: LShift ideal transform assertion (P2) JDK-8304362: Occasional SIGBUS in scimark.lu.small ParGC on aarch64 (P2) JDK-8300926: Several startup regressions ~6-70% in 21-b6 all platforms (P2) JDK-8313345: SuperWord fails due to CMove without matching Bool pack (P2) JDK-8313241: Temporarily disable "malformed control flow" assert to reduce noise (P2) JDK-8300638: Tier1 IR Test failure after JDK-8298632 on macosx-x64-debug (P3) JDK-8306326: [BACKOUT] 8277573: VmObjectAlloc is not generated by intrinsics methods which allocate objects (P3) JDK-8310459: [BACKOUT] 8304450: [vectorapi] Refactor VectorShuffle implementation (P3) JDK-8303678: [JVMCI] Add possibility to convert object JavaConstant to jobject. (P3) JDK-8303646: [JVMCI] Add possibility to lookup ResolvedJavaType from jclass. (P3) JDK-8299229: [JVMCI] add support for UseZGC (P3) JDK-8310425: [JVMCI] compiler/runtime/TestConstantDynamic: lookupConstant returned an object of incorrect type: null (P3) JDK-8305066: [JVMCI] guarantee(ik->is_initialized()) failed: java/lang/Long$LongCache must be initialized (P3) JDK-8299570: [JVMCI] Insufficient error handling when CodeBuffer is exhausted (P3) JDK-8305755: [JVMCI] missing barriers in CompilerToVM.readFieldValue for Reference.referent (P3) JDK-8303577: [JVMCI] OOME causes crash while translating exceptions (P3) JDK-8309498: [JVMCI] race in CallSiteTargetValue recording (P3) JDK-8297933: [REDO] Compiler should only use verified interface types for optimization (P3) JDK-8299817: [s390] AES-CTR mode intrinsic fails with multiple short update() calls (P3) JDK-8301697: [s390] Optimized-build is broken (P3) JDK-8304948: [vectorapi] C2 crashes when expanding VectorBox (P3) JDK-8303161: [vectorapi] VectorMask.cast narrow operation returns incorrect value with SVE (P3) JDK-8305524: AArch64: Fix arraycopy issue on SVE caused by matching rule vmask_gen_sub (P3) JDK-8257197: Add additional verification code to PhaseCCP (P3) JDK-8308855: ARM32: TestBooleanVector crashes after 8300257 (P3) JDK-8299179: ArrayFill with store on backedge needs to reduce length by 1 (P3) JDK-8311023: assert(false) failed: EA: missing memory path (P3) JDK-8302358: Behavior of adler32 changes after JDK-8300208 (P3) JDK-8310126: C1: Missing receiver null check in Reference::get intrinsic (P3) JDK-8289748: C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM (P3) JDK-8298824: C2 crash: assert(is_Bool()) failed: invalid node class: ConI (P3) JDK-8305189: C2 failed "assert(_outcnt==1) failed: not unique" (P3) JDK-8307619: C2 failed: Not monotonic (AndI CastII LShiftI) in TestShiftCastAndNotification.java (P3) JDK-8308084: C2 fix idom bug in PhaseIdealLoop::create_new_if_for_predicate (P3) JDK-8306302: C2 Superword fix: use VectorMaskCmp and VectorBlend instead of CMoveVF/D (P3) JDK-8304042: C2 SuperWord: schedule must remove packs with cyclic dependencies (P3) JDK-8303564: C2: "Bad graph detected in build_loop_late" after a CMove is wrongly split thru phi (P3) JDK-8310299: C2: 8275201 broke constant folding of array store check in some cases (P3) JDK-8297730: C2: Arraycopy intrinsic throws incorrect exception (P3) JDK-8309902: C2: assert(false) failed: Bad graph detected in build_loop_late after JDK-8305189 (P3) JDK-8310130: C2: assert(false) failed: scalar_input is neither phi nor a matchin reduction (P3) JDK-8309266: C2: assert(final_con == (jlong)final_int) failed: final value should be integer (P3) JDK-8303511: C2: assert(get_ctrl(n) == cle_out) during unrolling (P3) JDK-8298848: C2: clone all of (CmpP (LoadKlass (AddP down at split if (P3) JDK-8299959: C2: CmpU::Value must filter overflow computation against local sub computation (P3) JDK-8303279: C2: crash in SubTypeCheckNode::sub() at IGVN split if (P3) JDK-8280126: C2: detect and remove dead irreducible loops (P3) JDK-8299259: C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE (P3) JDK-8303466: C2: failed: malformed control flow. Limit type made precise with MaxL/MinL (P3) JDK-8301491: C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument (P3) JDK-8303513: C2: LoadKlassNode::make fails with 'expecting TypeKlassPtr' (P3) JDK-8296389: C2: PhaseCFG::convert_NeverBranch_to_Goto must handle both orders of successors (P3) JDK-8305324: C2: Wrong execution of vectorizing Interger.reverseBytes (P3) JDK-8305781: compiler/c2/irTests/TestVectorizationMultiInvar.java failed with "IRViolationException: There were one or multiple IR rule failures." (P3) JDK-8307125: compiler/jvmci/compilerToVM/MaterializeVirtualObjectTest.java hits assert(!Continuation::is_frame_in_continuation(thread(), fr())) failed: No support for deferred values in continuations (P3) JDK-8201516: DebugNonSafepoints generates incorrect information (P3) JDK-8301819: Enable continuations code by default (P3) JDK-8308192: Error in parsing replay file when staticfield is an array of single dimension (P3) JDK-8298568: Fastdebug build fails after JDK-8296389 (P3) JDK-8298345: Fix another two C2 IR matching tests for RISC-V (P3) JDK-8298935: fix independence bug in create_pack logic in SuperWord::find_adjacent_refs (P3) JDK-8288204: GVN Crash: assert() failed: correct memory chain (P3) JDK-8295486: Inconsistent constant field values observed during compilation (P3) JDK-8309531: Incorrect result with unwrapped iotaShuffle. (P3) JDK-8302004: InlineTree should consult replay file in release build (P3) JDK-8298720: Insufficient error handling when CodeBuffer is exhausted (P3) JDK-8306581: JVMCI tests failed when run with -XX:TypeProfileLevel=222 after JDK-8303431 (P3) JDK-8300069: Left shift of negative value in share/adlc/dict2.cpp (P3) JDK-8299975: Limit underflow protection CMoveINode in PhaseIdealLoop::do_unroll must also protect type from underflow (P3) JDK-8307683: Loop Predication should not hoist range checks with trap on success projection by negating their condition (P3) JDK-8297724: Loop strip mining prevents some empty loops from being eliminated (P3) JDK-8303105: LoopRangeStrideTest fails IR verification on x86 (P3) JDK-8302736: Major performance regression in Math.log on aarch64 (P3) JDK-8299074: nmethod marked for deoptimization is not deoptimized (P3) JDK-8300002: Performance regression caused by non-inlined hot methods due to post call noop instructions (P3) JDK-8305934: PPC64: Disable VMContinuations on Big Endian (P3) JDK-8306111: PPC64: RT call after thaw with exception requires larger ABI section (P3) JDK-8302831: PPC: compiler/codecache/TestStressCodeBuffers.java fails after JDK-8301819 (P3) JDK-8303512: Race condition when computing is_loaded property of TypePtr::InterfaceSet (P3) JDK-8305634: Renaming predicates, simple cleanups, and adding summary about current predicates (P3) JDK-8305635: Replace Parse Predicate IfNode with new ParsePredicateNode and route predicate queries through dedicated classes (P3) JDK-8301313: RISC-V: C2: assert(false) failed: bad AD file due to missing match rule (P3) JDK-8293841: RISC-V: Implementation of Foreign Function & Memory API (Preview) (P3) JDK-8291550: RISC-V: jdk uses misaligned memory access when AvoidUnalignedAccess enabled (P3) JDK-8300079: SIGSEGV in LibraryCallKit::inline_string_copy due to constant NULL src argument (P3) JDK-8296412: Special case infinite loops with unmerged backedges in IdealLoopTree::check_safepts (P3) JDK-8298118: split-if optimization causes empty loop to temporarily have more than one phi (P3) JDK-8296812: sprintf is deprecated in Xcode 14 (P3) JDK-8304720: SuperWord::schedule should rebuild C2-graph from SuperWord dependency-graph (P3) JDK-8302595: use-after-free related to GraphKit::clone_map (P3) JDK-8302670: use-after-free related to PhaseIterGVN interaction with Unique_Node_List and Node_Stack (P3) JDK-8296318: use-def assert: special case undetected loops nested in infinite loops (P3) JDK-8303508: Vector.lane() gets wrong value on x86 (P4) JDK-8307351: (CmpI/L(AndI/L reg1 reg2)) on x86 can be optimized (P4) JDK-8294194: [AArch64] Create intrinsics compress and expand (P4) JDK-8307104: [AIX] VM crashes with UseRTMLocking on Power10 (P4) JDK-8308072: [BACKOUT] update for deprecated sprintf for src/utils (P4) JDK-8299726: [cleanup] Some code cleanup in opto/compile.hpp (P4) JDK-8303351: [IR Framework] Add missing cpu feature avx512bw after JDK-8302681 (P4) JDK-8301752: [IR Framework] Add more IR framework examples (P4) JDK-8300273: [IR framework] Handle message instead of bailing out (P4) JDK-8295979: [IR Framework] Improve IR matching warning (P4) JDK-8302681: [IR Framework] Only allow cpuFeatures from a verified list (P4) JDK-8303089: [jittester] Add time limit to IRTree generation (P4) JDK-8309136: [JVMCI] add -XX:+UseGraalJIT flag (P4) JDK-8300590: [JVMCI] BytecodeFrame.equals is broken (P4) JDK-8308151: [JVMCI] capture JVMCI exceptions in hs-err (P4) JDK-8308954: [JVMCI] code installation increments decompile_count for call_site_target_value failures (P4) JDK-8309104: [JVMCI] compiler/unsafe/UnsafeGetStableArrayElement test asserts wrong values with Graal (P4) JDK-8302452: [JVMCI] Export _poly1305_processBlocks, JfrThreadLocal fields to JVMCI compiler. (P4) JDK-8307813: [JVMCI] Export markWord::lock_mask_in_place to JVMCI compilers. (P4) JDK-8309562: [JVMCI] Export symbols used by VirtualThread notifyJvmti intrinsics to JVMCI compilers. (P4) JDK-8302172: [JVMCI] HotSpotResolvedJavaMethodImpl.canBeInlined must respect ForceInline (P4) JDK-8279619: [JVMCI] improve EncodedSpeculationReason (P4) JDK-8303431: [JVMCI] libgraal annotation API (P4) JDK-8303588: [JVMCI] make JVMCI source directories conform with standard layout (P4) JDK-8306992: [JVMCI] mitigate more against JVMCI related OOME causing VM to exit (P4) JDK-8304138: [JVMCI] Test FailedSpeculation existence before appending. (P4) JDK-8308930: [JVMCI] TestUncaughtErrorInCompileMethod times out (P4) JDK-8303357: [JVMCI] thread is _thread_in_vm when committing JFR compilation event (P4) JDK-8308041: [JVMCI] WB_IsGCSupportedByJVMCICompiler must enter correct JVMCI env (P4) JDK-8299375: [PPC64] GetStackTraceSuspendedStressTest tries to deoptimize frame with invalid fp (P4) JDK-8301447: [REDO] CodeHeap has virtual methods that are not overridden (P4) JDK-8308403: [s390x] separate remaining_cargs from z_abi_160 (P4) JDK-8302673: [SuperWord] MaxReduction and MinReduction should vectorize for int (P4) JDK-8302652: [SuperWord] Reduction should happen after loop, when possible (P4) JDK-8293198: [vectorapi] Improve the implementation of VectorMask.indexInRange() (P4) JDK-8292289: [vectorapi] Improve the implementation of VectorTestNode (P4) JDK-8307523: [vectorapi] Optimize MaskFromLongBenchmark.java (P4) JDK-8304676: [vectorapi] x86_32: Crash in Assembler::kmovql(Address, KRegister) (P4) JDK-8301012: [vectorapi]: Intrinsify CompressBitsV/ExpandBitsV and add the AArch64 SVE backend implementation (P4) JDK-8296411: AArch64: Accelerated Poly1305 intrinsics (P4) JDK-8301739: AArch64: Add optimized rules for vector compare with immediate for SVE (P4) JDK-8297753: AArch64: Add optimized rules for vector compare with zero on NEON (P4) JDK-8302906: AArch64: Add SVE backend support for vector unsigned comparison (P4) JDK-8302830: AArch64: Fix the mismatch between cas.m4 and aarch64.ad (P4) JDK-8153837: AArch64: Handle special cases for MaxINode & MinINode (P4) JDK-8287925: AArch64: intrinsics for compareUnsigned method in Integer and Long (P4) JDK-8298244: AArch64: Optimize vector implementation of AddReduction for floating point (P4) JDK-8307795: AArch64: Optimize VectorMask.truecount() on Neon (P4) JDK-8296999: AArch64: scalar intrinsics for reverse method in Integer and Long (P4) JDK-8308503: AArch64: SIGILL when running with -XX:UseBranchProtection=pac-ret on hardware without PAC feature (P4) JDK-8300808: Accelerate Base64 on x86 for AVX2 (P4) JDK-8299038: Add AArch64 backend support for auto-vectorized FP16 conversions (P4) JDK-8303951: Add asserts before record_method_not_compilable where possible (P4) JDK-8294715: Add IR checks to the reduction vectorization tests (P4) JDK-8302518: Add missing Op_RoundDoubleMode in VectorNode::vector_operands() (P4) JDK-8298913: Add override qualifiers to Relocation classes (P4) JDK-8299608: Add Register + imm32 orq to x86_64 assembler (P4) JDK-8302508: Add timestamp to the output TraceCompilerThreads (P4) JDK-8303415: Add VM_Version::is_intrinsic_supported(id) (P4) JDK-8298952: All nodes should have type(n) == Value(n) after IGVN (P4) JDK-8299323: Allow extended registers for cmpw (P4) JDK-8299327: Allow super late barrier expansion of store barriers in C2 (P4) JDK-8305711: Arm: C2 always enters slowpath for monitorexit (P4) JDK-8306331: assert((cnt > 0.0f) && (prob > 0.0f)) failed: Bad frequency assignment in if (P4) JDK-8302167: Avoid allocating register in fast_lock() (P4) JDK-8305056: Avoid unaligned access in emit_intX methods if it's unsupported (P4) JDK-8301874: BarrierSetC2 should assign barrier data to stores (P4) JDK-8295406: C1 crash with -XX:TypeProfileArgsLimit=0 -XX:TypeProfileLevel=222 (P4) JDK-8283740: C1: Convert flag TwoOperandLIRForm to a constant on all platforms (P4) JDK-8301093: C2 fails assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out (P4) JDK-8308746: C2 IR test failures for TestFpMinMaxReductions.java with SSE2 (P4) JDK-8305351: C2 setScopedValueCache intrinsic doesn't use access API (P4) JDK-8260943: C2 SuperWord: Remove dead vectorization optimization added by 8076284 (P4) JDK-8308917: C2 SuperWord::output: assert before bailout with CountedLoopReserveKit (P4) JDK-8306933: C2: "assert(false) failed: infinite loop" failure (P4) JDK-8306997: C2: "malformed control flow" assert due to missing safepoint on backedge with a switch (P4) JDK-8301630: C2: 8297933 broke type speculation in some cases (P4) JDK-8305740: C2: add print statements to assert: Can't determine return type. (P4) JDK-8290822: C2: assert in PhaseIdealLoop::do_unroll() is subject to undefined behavior (P4) JDK-8307131: C2: assert(false) failed: malformed control flow (P4) JDK-8306042: C2: failed: Missed optimization opportunity in PhaseCCP (adding LShift->Cast->Add notification) (P4) JDK-8299546: C2: MulLNode::mul_ring() wrongly returns bottom type due to casting errors with large numbers (P4) JDK-8287087: C2: perform SLP reduction analysis on-demand (P4) JDK-8300865: C2: product reduction in ProdRed_Double is not vectorized (P4) JDK-8300113: C2: Single-bit fields with signed type in TypePtr after JDK-8297933 (P4) JDK-8299155: C2: SubTypeCheckNode::verify() should not produce dependencies / oop pool entries (P4) JDK-8300258: C2: vectorization fails on simple ByteBuffer loop (P4) JDK-8300257: C2: vectorization fails on some simple Memory Segment loops (P4) JDK-8300256: C2: vectorization is sometimes skipped on loops where it would succeed (P4) JDK-8297582: C2: very slow compilation due to type system verification code (P4) JDK-8305142: Can't bootstrap ctw.jar (P4) JDK-8305222: Change unique_ctrl_out_or_null to unique_ctrl_out in PhaseCFG::convert_NeverBranch_to_Goto (P4) JDK-8301378: CodeHeap has virtual methods that are not overridden (P4) JDK-8308291: compiler/jvmci/meta/ProfilingInfoTest.java fails with -XX:TieredStopAtLevel=1 (P4) JDK-8304681: compiler/sharedstubs/SharedStubToInterpTest.java fails after JDK-8304387 (P4) JDK-8305484: Compiler::init_c1_runtime unnecessarily uses an Arena that lives for the lifetime of the process (P4) JDK-8295661: CompileTask::compile_id() should be passed as int (P4) JDK-8304089: Convert TraceDependencies to UL (P4) JDK-8304242: CPUInfoTest fails because "serialize" CPU feature is not known (P4) JDK-8303238: Create generalizations for existing LShift ideal transforms (P4) JDK-8302145: ddepth should be uint in PhaseIdealLoop::register_node() (P4) JDK-8302814: Delete unused CountLoopEnd instruct with CmpX (P4) JDK-8306636: Disable compiler/c2/Test6905845.java with -XX:TieredStopAtLevel=3 (P4) JDK-8306444: Don't leak memory in PhaseChaitin::PhaseChaitin (P4) JDK-8305543: Ensure GC barriers for arraycopy on AArch64 use caller saved neon temp registers (P4) JDK-8305356: Fix ignored bad CompileCommands in tests (P4) JDK-8304387: Fix positions of shared static stubs / trampolines (P4) JDK-8307139: Fix signed integer overflow in compiler code, part 1 (P4) JDK-8308975: Fix signed integer overflow in compiler code, part 2 (P4) JDK-8303804: Fix some errors of If-VectorTest and CMove-VectorTest (P4) JDK-8173709: Fix VerifyLoopOptimizations - step 1 - minimal infrastructure (P4) JDK-8305073: Fix VerifyLoopOptimizations - step 2 - verify idom (P4) JDK-8305995: Footprint regression from JDK-8224957 (P4) JDK-8297036: Generalize C2 stub mechanism (P4) JDK-8300247: Harden C1 xchg on AArch64 and PPC (P4) JDK-8309472: IGV: Add dump_igv(custom_name) for improved debugging (P4) JDK-8302644: IGV: Apply filters per graph tab and not globally (P4) JDK-8302335: IGV: Bytecode not showing (P4) JDK-8297031: IGV: Copy extracted nodes and layout for cloned graph (P4) JDK-8305223: IGV: mark osr compiled graphs with [OSR] in the name (P4) JDK-8305644: IGV: Node text not updated when switching from/to CFG view (P4) JDK-8301133: IGV: NPE occurs when creating a diff graph with a graph in a different folder (P4) JDK-8302738: IGV: refine 'Simplify graph' filter (P4) JDK-8303443: IGV: Syntax highlighting and resizing for filter editor (P4) JDK-8302846: IGV: Zoom stuck when zooming out on large graphs (P4) JDK-8309254: Implement fast-path for ASCII-compatible CharsetEncoders on RISC-V (P4) JDK-8303278: Imprecise bottom type of ExtractB/UB (P4) JDK-8302113: Improve CRC32 intrinsic with crypto pmull on AArch64 (P4) JDK-8302783: Improve CRC32C intrinsic with crypto pmull on AArch64 (P4) JDK-8299158: Improve MD5 intrinsic on AArch64 (P4) JDK-8299544: Improve performance of CRC32C intrinsics (non-AVX-512) for small inputs (P4) JDK-8299324: inline_native_setCurrentThread lacks GC barrier for Shenandoah (P4) JDK-8299032: Interface IN_NATIVE oop stores for C2 (P4) JDK-8300253: Introduce AArch64 nzcv accessors (P4) JDK-8305055: IR check fails on some aarch64 platforms (P4) JDK-8302203: IR framework should detect non-compilable test methods early (P4) JDK-8295210: IR framework should not whitelist -XX:-UseTLAB (P4) JDK-8301163: jdk/internal/vm/Continuation/Fuzz.java increase COMPILATION_TIMEOUT for Linux ppc64le (P4) JDK-8308906: Make CIPrintCompilerName a diagnostic flag (P4) JDK-8300829: Make CtwRunner available as an independent tool (P4) JDK-8303069: Memory leak in CompilerOracle::parse_from_line (P4) JDK-8291735: methods_do() always run at exit (P4) JDK-8231349: Move intrinsic stubs generation to compiler runtime initialization code (P4) JDK-8302146: Move TestOverloadCompileQueues.java to tier3 (P4) JDK-8302144: Move ZeroTLABTest.java to tier3 (P4) JDK-8300208: Optimize Adler32 stub for AVX-512 targets. (P4) JDK-8301326: Optimize compiler/uncommontrap/TestDeoptOOM.java test (P4) JDK-8143900: OptimizeStringConcat has an opaque dependency on Integer.sizeTable field (P4) JDK-8301838: PPC: continuation yield intrinsic: exception check not needed if yield succeeded (P4) JDK-8302158: PPC: test/jdk/jdk/internal/vm/Continuation/Fuzz.java: AssertionError: res: false shouldPin: false (P4) JDK-8297801: printnm crashes with invalid address due to null pointer dereference (P4) JDK-8302369: Reduce the stack size of the C1 compiler (P4) JDK-8299162: Refactor shared trampoline emission logic (P4) JDK-8298189: Regression in SPECjvm2008-MonteCarlo for pre-Cascade Lake Intel processors (P4) JDK-8160404: RelocationHolder constructors have bugs (P4) JDK-8304445: Remaining uses of NULL in ciInstanceKlass.cpp (P4) JDK-8280419: Remove dead code related to VerifyThread and verify_thread() (P4) JDK-8301346: Remove dead emit_entry_barrier_stub definition (P4) JDK-8293410: Remove GenerateRangeChecks flag (P4) JDK-8303045: Remove RegionNode::LoopStatus::NeverIrreducibleEntry assert with wrong assumption (P4) JDK-8304301: Remove the global option SuperWordMaxVectorSize (P4) JDK-8308091: Remove unused iRegIHeapbase() matching operand (P4) JDK-8306872: Rename Node_Array::Size() (P4) JDK-8306077: Replace NEW_ARENA_ARRAY with NEW_RESOURCE_ARRAY when applicable in opto (P4) JDK-8299974: Replace NULL with nullptr in share/adlc/ (P4) JDK-8300086: Replace NULL with nullptr in share/c1/ (P4) JDK-8300240: Replace NULL with nullptr in share/ci/ (P4) JDK-8300242: Replace NULL with nullptr in share/code/ (P4) JDK-8300243: Replace NULL with nullptr in share/compiler/ (P4) JDK-8301068: Replace NULL with nullptr in share/jvmci/ (P4) JDK-8301069: Replace NULL with nullptr in share/libadt/ (P4) JDK-8301074: Replace NULL with nullptr in share/opto/ (P4) JDK-8308657: ReplayInline is not availabe in production build (P4) JDK-8299525: RISC-V: Add backend support for half float conversion intrinsics (P4) JDK-8301743: RISC-V: Add InlineSkippedInstructionsCounter to post-call nops (P4) JDK-8302453: RISC-V: Add support for small width vector operations (P4) JDK-8307609: RISC-V: Added support for Extract, Compress, Expand and other nodes for Vector API (P4) JDK-8301740: RISC-V: Address::uses() should check address mode (P4) JDK-8308726: RISC-V: avoid unnecessary slli in the vectorized arraycopy stubs for bytes (P4) JDK-8301067: RISC-V: better error message when reporting unsupported satp modes (P4) JDK-8301628: RISC-V: c2 fix pipeline class for several instructions (P4) JDK-8301818: RISC-V: Factor out function mvw from MacroAssembler (P4) JDK-8301036: RISC-V: Factor out functions baseOffset & baseOffset32 from MacroAssembler (P4) JDK-8303955: RISC-V: Factor out the tmp parameter from copy_memory and copy_memory_v (P4) JDK-8299168: RISC-V: Fix MachNode size mismatch for MacroAssembler::_verify_oops* (P4) JDK-8306667: RISC-V: Fix storeImmN0 matching rule by using zr register (P4) JDK-8301033: RISC-V: Handle special cases for MinI/MaxI nodes for Zbb (P4) JDK-8299844: RISC-V: Implement _onSpinWait intrinsic (P4) JDK-8307758: RISC-V: Improve bit test code introduced by JDK-8291555 (P4) JDK-8300109: RISC-V: Improve code generation for MinI/MaxI nodes (P4) JDK-8309332: RISC-V: Improve PrintOptoAssembly output of vector nodes (P4) JDK-8308915: RISC-V: Improve temporary vector register usage avoiding the use of v0 (P4) JDK-8308277: RISC-V: Improve vectorization of Match.sqrt() on floats (P4) JDK-8304293: RISC-V: JDK-8276799 missed atomic intrinsic support for C1 (P4) JDK-8298088: RISC-V: Make Address a discriminated union internally (P4) JDK-8309418: RISC-V: Make use of vl1r.v & vfabs.v pseudo-instructions where appropriate (P4) JDK-8303417: RISC-V: Merge vector instructs with similar match rules (P4) JDK-8301153: RISC-V: pipeline class for several instructions is not set correctly (P4) JDK-8309419: RISC-V: Relax register constraint for AddReductionVF & AddReductionVD nodes (P4) JDK-8307651: RISC-V: stringL_indexof_char instruction has wrong format string (P4) JDK-8302908: RISC-V: Support masked vector arithmetic instructions for Vector API (P4) JDK-8306966: RISC-V: Support vector cast node for Vector API (P4) JDK-8308817: RISC-V: Support VectorTest node for Vector API (P4) JDK-8305728: RISC-V: Use bexti instruction to do single-bit testing (P4) JDK-8302289: RISC-V: Use bgez instruction in arraycopy_simple_check when possible (P4) JDK-8308656: RISC-V: vstring_compare doesnt manifest usage of all vector registers (P4) JDK-8305203: Simplify trimming operation in Region::Ideal (P4) JDK-8299970: Speed up compiler/arraycopy/TestArrayCopyConjoint.java (P4) JDK-8302150: Speed up compiler/codegen/Test7100757.java (P4) JDK-8299671: Speed up compiler/intrinsics/string/TestStringLatin1IndexOfChar.java (P4) JDK-8299962: Speed up compiler/intrinsics/unsafe/DirectByteBufferTest.java and HeapByteBufferTest.java (P4) JDK-8302149: Speed up compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java (P4) JDK-8302147: Speed up compiler/jvmci/compilerToVM/IterateFramesNative.java (P4) JDK-8299960: Speed up test/hotspot/jtreg/compiler/c2/irTests/TestVectorizeURShiftSubword.java (P4) JDK-8302152: Speed up tests with infinite loops, sleep less (P4) JDK-8306706: Support out-of-line code generation for MachNodes (P4) JDK-8300040: TypeOopPtr::make_from_klass_common calls itself with args in wrong order (P4) JDK-8300821: UB: Applying non-zero offset to non-null pointer 0xfffffffffffffffe produced null pointer (P4) JDK-8299191: Unnecessarily global friend functions for relocInfo (P4) JDK-8265688: Unused ciMethodType::ptype_at should be removed (P4) JDK-8297791: update _max_classes in node type system (P4) JDK-8307855: update for deprecated sprintf for src/utils (P4) JDK-8304059: Use InstanceKlass in dependencies (P4) JDK-8302594: use-after-free in Node::destruct (P4) JDK-8299061: Using lambda to optimize GraphKit::compute_stack_effects() (P4) JDK-8308458: Windows build failure with disassembler.cpp(792): warning C4267: '=': conversion from 'size_t' to 'int' (P4) JDK-8304258: x86: Improve the code generation of VectorRearrange with int and float (P4) JDK-8305783: x86_64: Optimize AbsI and AbsL (P4) JDK-8302873: ZGC: dump barrier data in C2 Mach nodes (P5) JDK-8298813: [C2] Converting double to float cause a loss of precision and resulting crypto.aes scores fluctuate (P5) JDK-8309474: [IR Framework] Wrong @ForceCompile link in README (P5) JDK-8299721: [Vector API] assert in switch-default of LibraryCallKit::arch_supports_vector_rotate is too weak to catch bugs (P5) JDK-8307147: [x86] Dangling pointer warning for Assembler::_attributes (P5) JDK-8305690: [X86] Do not emit two REX prefixes in Assembler::prefix (P5) JDK-8308672: Add version number in the replay file generated by DumpInline (P5) JDK-8309295: C2: MaxNode::signed_min() returns nullptr for int operands (P5) JDK-8293324: ciField.hpp has two methods to return field's offset (P5) JDK-8292583: Comment for ciArrayKlass::make is wrong (P5) JDK-8301959: Compile command in compiler.loopopts.TestRemoveEmptyCountedLoop does not work (P5) JDK-8306456: Don't leak _worklist's memory in PhaseLive::compute (P5) JDK-8301338: Identical branch conditions in CompileBroker::print_heapinfo (P5) JDK-8294066: IGV: Graph changes when deleting a graph in the same group with smaller index (P5) JDK-8051725: Improve expansion of Conv2B nodes in the middle-end (P5) JDK-8302607: increase timeout for ContinuousCallSiteTargetChange.java (P5) JDK-8304683: Memory leak in WB_IsMethodCompatible (P5) JDK-8302656: Missing spaces in output of -XX:+CIPrintMethodCodes (P5) JDK-8298736: Revisit usages of log10 in compiler code (P5) JDK-8299847: RISC-V: Improve PrintOptoAssembly output of CMoveI/L nodes (P5) JDK-8298320: Typo in the comment block of catch_inline_exception (P5) JDK-8300823: UB: Compile::_phase_optimize_finished is initialized too late (P5) JDK-8298880: VectorLogicalOpIdentityTest.java IR test incorrectly use avx3 instead of avx512 (P5) JDK-8305787: Wrong debugging information printed with TraceOptoOutput hotspot/gc: (P1) JDK-8299956: [BACKOUT] 8297487: G1 Remark: no need to keep alive oop constants of nmethods on stack (P1) JDK-8297235: ZGC: assert(regs[i] != regs[j]) failed: Multiple uses of register: rax (P1) JDK-8298376: ZGC: thaws stackChunk with stale oops (P2) JDK-8311548: AArch64: [ZGC] Many tests fail with "assert(allocates2(pc)) failed: not in CodeBuffer memory" on some CPUs (P2) JDK-8310743: assert(reserved_rgn != nullptr) failed: Add committed region, No reserved region found (P2) JDK-8305566: Change StringDedup thread to derive from JavaThread (P2) JDK-8308387: CLD created and unloading list sharing _next node pointer leads to concurrent YC missing CLD roots (P2) JDK-8308043: Deadlock in TestCSLocker.java due to blocking GC while allocating (P2) JDK-8308589: gc/cslocker/TestCSLocker.java timed out (P2) JDK-8308752: Generational ZGC: Avoid final marking through stack chunks (P2) JDK-8309675: Generational ZGC: compiler/gcbarriers/UnsafeIntrinsicsTest.java fails in nmt_commit (P2) JDK-8310194: Generational ZGC: Lock-order asserts in JVMTI IterateThroughHeap (P2) JDK-8313593: Generational ZGC: NMT assert when the heap fails to expand (P2) JDK-8308009: Generational ZGC: OOM before clearing all SoftReferences (P2) JDK-8309960: ParallelGC young collections very slow in DelayInducer (P2) JDK-8305192: serial GC fails "assert(Universe::on_page_boundary(bottom) && Universe::on_page_boundary(end)) failed: invalid space boundaries" (P2) JDK-8302741: ZGC: Remove Universe::verify calls (P2) JDK-8310015: ZGC: Unbounded asynchronous unmapping can lead to running out of address space (P2) JDK-8308500: ZStatSubPhase::register_start should not call register_gc_phase_start if ZAbort::should_abort() (P3) JDK-8291302: ARM32: nmethod entry barriers support (P3) JDK-8308643: Incorrect value of 'used' jvmstat counter (P3) JDK-8191565: Last-ditch Full GC should also move humongous objects (P3) JDK-8305403: Shenandoah evacuation workers may deadlock (P3) JDK-8306734: Shenandoah: Missing barriers on deoptimization path (P4) JDK-8304880: [PPC64] VerifyOops code in C1 doesn't work with ZGC (P4) JDK-8302462: [REDO] 8297487: G1 Remark: no need to keep alive oop constants of nmethods on stack (P4) JDK-8240774: [REDO] G1DirtyCardQueue destructor has useless flush (P4) JDK-8302368: [ZGC] Client build fails after JDK-8300255 (P4) JDK-8307969: [zgc] Missing includes in gc/z/zTracer.cpp (P4) JDK-8300968: Accessorize raw oop load in DeadCounterClosure (P4) JDK-8306321: Add an accessor for the top of a PLAB (P4) JDK-8298725: Add BitMap support for reverse iteration (P4) JDK-8307346: Add missing gc+phases logging for ObjectCount(AfterGC) JFR event collection code (P4) JDK-8307395: Add missing STS to Shenandoah (P4) JDK-8292265: Add old gen used field at G1HeapSummary JFR event (P4) JDK-8307458: Add periodic heap usage JFR events (P4) JDK-8302780: Add support for vectorized arraycopy GC barriers (P4) JDK-8307517: Add VMErrorCallback infrastructure to extend hs_err dumping (P4) JDK-8309297: Adjust ShenandoahHeap print_heap_regions_on (P4) JDK-8303344: After JDK-8302760, G1 heap verification does not exit VM after errors (P4) JDK-8307378: Allow collectors to provide specific values for GC notifications' actions (P4) JDK-8303013: Always do remembered set verification during G1 Full GC (P4) JDK-8299079: Better interface nmethod oop accesses (P4) JDK-8307945: Build of Client VM is broken after JDK-8307058 (P4) JDK-8303250: Call ct_max_alignment_constraint using the base class (P4) JDK-8306833: Change CardTable::_covered to static array (P4) JDK-8296374: Check for young region in G1BarrierSet::invalidate instead of card-by-card check (P4) JDK-8299312: Clean up BarrierSetNMethod (P4) JDK-8304716: Clean up G1Policy::calc_max_old_cset_length() (P4) JDK-8301229: Clean up SuspendibleThreadSet::_suspend_all (P4) JDK-8301047: Clean up type unsafe uses of oop from compiler code (P4) JDK-8299879: CollectedHeap hierarchy should use override (P4) JDK-8304711: Combine G1 root region abort and wait into a single method (P4) JDK-8292170: Convert CodeRootSetTable to use ResourceHashtable (P4) JDK-8311189: disable gc/z/TestHighUsage.java (P4) JDK-8306695: Divide by zero in G1Policy::logged_cards_processing_time (P4) JDK-8305716: Enhancements for printing age tables (P4) JDK-8309346: Extend hs_err logging for all VM operations deriving from VM_GC_Operation (P4) JDK-8309210: Extend VM Operations hs_err logging (P4) JDK-8302206: Factor out duplicate G1VerificationClosure (P4) JDK-8307421: Fix comment in g1CollectionSetChooser.hpp after JDK-8306836 (P4) JDK-8302880: Fix includes in g1ConcurrentMarkObjArrayProcessor files (P4) JDK-8303334: Further improve liveness/remembered set verification for G1 (P4) JDK-8303084: G1 Heap region liveness verification has inverted return value (P4) JDK-8305086: G1 Redirty Cards phase printed twice (P4) JDK-8297487: G1 Remark: no need to keep alive oop constants of nmethods on stack (P4) JDK-8305368: G1 remset chunk claiming may use relaxed memory ordering (P4) JDK-8303244: G1: call CardTable::clear_MemRegion directly (P4) JDK-8306740: G1: Change G1CardSetHashTableScan to lambda (P4) JDK-8305892: G1: Fix G1MMUTracker::when_sec documentation (P4) JDK-8300915: G1: incomplete SATB because nmethod entry barriers don't get armed (P4) JDK-8297611: G1: Merge tlab and per-thread dirty card log flushing (P4) JDK-8297960: G1: Move Root Region Scan Waiting outside collection in logs (P4) JDK-8305233: G1: Refactor G1ClearCardTableTask (P4) JDK-8298652: G1: Refactor G1MarkAndPushClosure (P4) JDK-8305060: G1: Refactor G1ScanHRForRegionClosure::scan_heap_roots (P4) JDK-8306284: G1: Remove assertion in G1ScanHRForRegionClosure::do_claimed_block (P4) JDK-8301344: G1: Remove DirtyCardToOopClosure forward declaration in g1OopClosures.hpp (P4) JDK-8301862: G1: Remove G1PageBasedVirtualSpace::_executable (P4) JDK-8304055: G1: Remove OldGCAllocRegion::release (P4) JDK-8307808: G1: Remove partial object-count report after gc (P4) JDK-8308098: G1: Remove redundant checks in G1ObjectCountIsAliveClosure (P4) JDK-8225409: G1: Remove the Hot Card Cache (P4) JDK-8303067: G1: Remove unimplemented G1FullGCScope::heap_transition (P4) JDK-8301768: G1: Remove unimplemented HeapRegionRemSet::split_card (P4) JDK-8304144: G1: Remove unnecessary is_survivor check in G1ClearCardTableTask (P4) JDK-8299692: G1: Remove unused G1BlockOffsetTable::is_card_boundary (P4) JDK-8309286: G1: Remove unused G1HeapRegionAttr::is_valid_gen (P4) JDK-8302047: G1: Remove unused G1RegionToSpaceMapper::_region_granularity (P4) JDK-8302867: G1: Removing unused variable in G1CardTable::initialize (P4) JDK-8304657: G1: Rename set_state_empty to set_state_untracked (P4) JDK-8300653: G1EvacInfo should use common naming scheme for collection set (P4) JDK-8301222: Generalize check_release_entry in OopStorage (P4) JDK-8306841: Generational ZGC: NMT reports Java heap size larger than max heap size (P4) JDK-8308181: Generational ZGC: Remove CLDG_lock from old gen root scanning (P4) JDK-8308097: Generational ZGC: Update constructor syntax (P4) JDK-8302878: Group cmdline heap size checking together (P4) JDK-8307997: gtest:ZIndexDistributorTest fails on PPC64 (P4) JDK-8298482: Implement ParallelGC NUMAStats for Linux (P4) JDK-8307058: Implementation of Generational ZGC (P4) JDK-8302760: Improve liveness/remembered set verification for G1 (P4) JDK-8305370: Inconsistent use of for_young_only_phase parameter in G1 predictions (P4) JDK-8299089: Instrument global jni handles with tag to make them distinguishable (P4) JDK-8300255: Introduce interface for GC oop verification in the assembler (P4) JDK-8299072: java_lang_ref_Reference::clear_referent should be GC agnostic (P4) JDK-8272979: JEP 439: Generational ZGC (P4) JDK-8306435: Juggle04/TestDescription.java should be a booleanArr test and not a byteArr one (P4) JDK-8301248: Less side effects in InstanceRefKlass::trace_reference_gc (P4) JDK-8303969: Limit printed failures within an object during G1 heap verification (P4) JDK-8305880: Loom: Avoid putting stale object pointers in oops (P4) JDK-8306749: Make CardTable::invalidate non-virtual (P4) JDK-8307005: Make CardTableBarrierSet::initialize non-virtual (P4) JDK-8301340: Make DirtyCardToOopClosure stack-allocated (P4) JDK-8302125: Make G1 full gc abort the VM after failing VerifyDuringGC verification (P4) JDK-8302312: Make ParGCRareEvent_lock G1 specific (P4) JDK-8303534: Merge CompactibleSpace into ContiguousSpace (P4) JDK-8299953: Merge ContiguousSpaceDCTOC into DirtyCardToOopClosure (P4) JDK-8298264: Merge OffsetTableContigSpace into TenuredSpace (P4) JDK-8305618: Move gcold out of tier1 (P4) JDK-8274264: Not all of G1 young collection verification honors the verification type (P4) JDK-8304712: Only pass total number of regions into G1Policy::calc_min_old_cset_length (P4) JDK-8301612: OopLoadProxy constructor should be explicit (P4) JDK-8298471: Parallel: Don't keep alive nmethods in Young GC (P4) JDK-8301149: Parallel: Refactor MutableNUMASpace::update_layout (P4) JDK-8300652: Parallel: Refactor oop marking stack in Full GC (P4) JDK-8300447: Parallel: Refactor PSPromotionManager::drain_stacks_depth (P4) JDK-8300962: Parallel: Remove PSParallelCompact::_total_invocations (P4) JDK-8302661: Parallel: Remove PSVirtualSpace::is_aligned (P4) JDK-8302864: Parallel: Remove PSVirtualSpace::pointer_delta (P4) JDK-8302886: Parallel: Remove unimplemented methods in ParCompactionManager (P4) JDK-8302072: Parallel: Remove unimplemented ParCompactionManager::stack_push (P4) JDK-8302464: Parallel: Remove unreachable code in callers of numa_has_static_binding (P4) JDK-8302121: Parallel: Remove unused arg in PSCardTable::inline_write_ref_field_gc (P4) JDK-8302734: Parallel: Remove unused LGRPSpace::_invalid_region (P4) JDK-8302674: Parallel: Remove unused methods in MutableNUMASpace (P4) JDK-8300958: Parallel: Remove unused MutableNUMASpace::capacity_in_words (P4) JDK-8303824: Parallel: Use more strict card table API (P4) JDK-8307348: Parallelize heap walk for ObjectCount(AfterGC) JFR event collection (P4) JDK-8301116: Parallelize TLAB resizing in G1 (P4) JDK-8302122: Parallelize TLAB retirement in prologue in G1 (P4) JDK-8304393: Provide method to iterate over regions of humongous object in G1 (P4) JDK-8308506: Reduce testing time by removing combinations tested (P4) JDK-8305062: Refactor CardTable::resize_covered_region (P4) JDK-8306541: Refactor collection set candidate handling to prepare for JDK-8140326 (P4) JDK-8299030: Refactor ReservedSpace::reserve (P4) JDK-8171221: Remove -XX:+CheckMemoryInitialization (P4) JDK-8304809: Remove develop flag G1ExitOnExpansionFailure (P4) JDK-8304804: Remove develop flag G1VerifyCTCleanup (P4) JDK-8301843: Remove dummy region allocation (P4) JDK-8302709: Remove explicit remembered set verification in G1 (P4) JDK-8301217: Remove FilteringClosure (P4) JDK-8307518: Remove G1 workaround in jstat about zero sized generation sizes (P4) JDK-8300769: Remove G1CollectionSet::_inc_bytes_used_before (P4) JDK-8300644: Remove gc/shenandoah/jni/TestStringCriticalWithDedup.java (P4) JDK-8309048: Remove malloc locker test case (P4) JDK-8299971: Remove metaprogramming/conditional.hpp (P4) JDK-8299479: Remove metaprogramming/decay.hpp (P4) JDK-8299399: Remove metaprogramming/isArray.hpp (P4) JDK-8299398: Remove metaprogramming/isConst.hpp (P4) JDK-8299397: Remove metaprogramming/isFloatingPoint.hpp (P4) JDK-8299482: Remove metaprogramming/isIntegral.hpp (P4) JDK-8299402: Remove metaprogramming/isVolatile.hpp (P4) JDK-8299395: Remove metaprogramming/removeCV.hpp (P4) JDK-8299396: Remove metaprogramming/removeExtent.hpp (P4) JDK-8299481: Remove metaprogramming/removePointer.hpp (P4) JDK-8299972: Remove metaprogramming/removeReference.hpp (P4) JDK-8300657: Remove null filtering in CLD oop handle area (P4) JDK-8299845: Remove obsolete comments in DirtyCardToOopClosure::get_actual_top (P4) JDK-8306836: Remove pinned tag for G1 heap regions (P4) JDK-8297639: Remove preventive GCs in G1 (P4) JDK-8302975: Remove redundant mark verification during G1 Full GC (P4) JDK-8307100: Remove ReferentBasedDiscovery reference discovery policy (P4) JDK-8300862: Remove some G1 collection set remembered set debugging code (P4) JDK-8298144: Remove Space::new_dcto_cl (P4) JDK-8306733: Remove template parameter of G1DetermineCompactionQueueClosure::free_pinned_region (P4) JDK-8308948: Remove unimplemented ThreadLocalAllocBuffer::reset (P4) JDK-8300124: Remove unnecessary assert in GenCollectedHeap::initialize (P4) JDK-8301465: Remove unnecessary nmethod arming in Full GC of Serial/Parallel (P4) JDK-8302127: Remove unused arg in write_ref_field_post (P4) JDK-8304411: Remove unused CardTable::clear (P4) JDK-8299701: Remove unused GCCause::_wb_conc_mark (P4) JDK-8301446: Remove unused includes of gc/shared/genOopClosures (P4) JDK-8301744: Remove unused includes of genOopClosures.hpp (P4) JDK-8298480: Remove unused KlassRemSet (P4) JDK-8297572: Remove unused PrecisionStyle::Precise (P4) JDK-8303054: Remove unused variables in GCTraceTimeLoggerImpl::log_end (P4) JDK-8298521: Rename members in G1MonitoringSupport (P4) JDK-8306436: Rename PSS*:_n_workers to PSS*:_num_workers (P4) JDK-8306440: Rename PSS:_num_optional_regions to _max_num_optional_regions (P4) JDK-8307804: Reorganize ArrayJuggle test cases (P4) JDK-8308092: Replace NULL with nullptr in gc/x (P4) JDK-8301178: Replace NULL with nullptr in share/gc/epsilon/ (P4) JDK-8301223: Replace NULL with nullptr in share/gc/g1/ (P4) JDK-8301180: Replace NULL with nullptr in share/gc/parallel/ (P4) JDK-8301179: Replace NULL with nullptr in share/gc/serial/ (P4) JDK-8301224: Replace NULL with nullptr in share/gc/shared/ (P4) JDK-8301225: Replace NULL with nullptr in share/gc/shenandoah/ (P4) JDK-8303963: Replace various encodings of UINT/SIZE_MAX in gc code (P4) JDK-8308765: RISC-V: Expand size of stub routines for zgc only (P4) JDK-8307150: RISC-V: Remove remaining StoreLoad barrier with UseCondCardMark for Serial/Parallel GC (P4) JDK-8306738: Select num workers for safepoint ParallelCleanupTask (P4) JDK-8301459: Serial: Merge KeepAliveClosure into FastKeepAliveClosure (P4) JDK-8303362: Serial: Move CardTableRS to serial directory (P4) JDK-8298576: Serial: Move some MarkSweep method definitions to cpp (P4) JDK-8298281: Serial: Refactor MarkAndPushClosure (P4) JDK-8301599: Serial: Refactor nested closures in DefNewGeneration (P4) JDK-8304412: Serial: Refactor old generation cards update after Full GC (P4) JDK-8302068: Serial: Refactor oop closures used in Young GC (P4) JDK-8303467: Serial: Refactor reference processor (P4) JDK-8302868: Serial: Remove CardTableRS::initialize (P4) JDK-8301148: Serial: Remove ContiguousSpace::reset_saved_mark (P4) JDK-8298651: Serial: Remove MarkSweep::follow_klass (P4) JDK-8300540: Serial: Remove obsolete comments in GenMarkSweep (P4) JDK-8300127: Serial: Remove unnecessary from-space iteration in DefNewGeneration::oop_since_save_marks_iterate (P4) JDK-8300125: Serial: Remove unused Generation::reset_saved_marks (P4) JDK-8303081: Serial: Remove unused VM_MarkSweep (P4) JDK-8299853: Serial: Use more concrete type for TenuredGeneration::_the_space (P4) JDK-8303749: Serial: Use more strict card table API (P4) JDK-8300053: Shenandoah: Handle more GCCauses in ShenandoahControlThread::request_gc (P4) JDK-8298138: Shenandoah: HdrSeq asserts "sub-bucket index (512) overflow for value ( 1.00)" (P4) JDK-8309956: Shenandoah: Strengthen the mark word check in string dedup (P4) JDK-8299673: Simplify object pinning interactions with string deduplication (P4) JDK-8308881: Strong CLD oop handle roots are demoted to non-roots concurrently (P4) JDK-8308766: TLAB initialization may cause div by zero (P4) JDK-8306732: TruncatedSeq::predict_next() attempts linear regression with only one data point (P4) JDK-8301988: VerifyLiveClosure::verify_liveness asserts on bad pointers outside heap (P4) JDK-8305663: Wrong iteration order of pause array in g1MMUTracker (P4) JDK-8302977: ZGC: Doesn't support gc/TestVerifySubSet.java (P5) JDK-8304802: After JDK-8297639 the flag G1UsePreventiveGC needs to be added to the obsoletion table (P5) JDK-8303883: Confusing parameter name in G1UpdateRemSetTrackingBeforeRebuild::distribute_marked_bytes (P5) JDK-8057586: Explicit GC ignored if GCLocker is active (P5) JDK-8306735: G1: G1FullGCScope remove unnecessary member _explicit_gc (P5) JDK-8302215: G1: Last-ditch Full GC should do serial compaction for tail regions in per thread compaction points. (P5) JDK-8304015: G1: Metaspace-induced GCs should not trigger maximal compaction (P5) JDK-8303252: G1: Return early from Full-GC if no regions are selected for compaction. (P5) JDK-8311179: Generational ZGC: gc/z/TestSmallHeap.java failed with OutOfMemoryError (P5) JDK-8306766: Reduce heap size for TestJNICriticalStressTest (P5) JDK-8309265: Serial: Remove the code related to GC overhead limit (P5) JDK-8299075: TestStringDeduplicationInterned.java fails because extra deduplication (P5) JDK-8040793: vmTestbase/nsk/monitoring/stress/lowmem fails on calling isCollectionUsageThresholdExceeded() hotspot/jfr: (P1) JDK-8304033: JFR: Missing thread (P2) JDK-8307526: [JFR] Better handling of tampered JFR repository (P2) JDK-8306282: Build failure linux-arm32-open-cmp-baseline after JDK-8257967 (P2) JDK-8307488: Incorrect weight of the first ObjectAllocationSample JFR event (P2) JDK-8308876: JFR: Deserialization of EventTypeInfo uses incorrect attribute names (P2) JDK-8303134: JFR: Missing stack trace during chunk rotation stress (P2) JDK-8298377: JfrVframeStream causes deadlocks in ZGC (P2) JDK-8312293: SIGSEGV in jfr.internal.event.EventWriter.putUncheckedByte after JDK-8312086 (P2) JDK-8309862: Unsafe list operations in JfrStringPool (P3) JDK-8307374: Add a JFR event for tracking RSS (P3) JDK-8244289: fatal error: Possible safepoint reached by thread that does not allow it (P3) JDK-8297874: get_dump_directory() in jfrEmergencyDump.cpp should pass correct length to jio_snprintf (P3) JDK-8312574: jdk/jdk/jfr/jvm/TestChunkIntegrity.java fails with timeout (P3) JDK-8309296: jdk/jfr/event/runtime/TestAgentEvent.java fails due to "missing" dynamic JavaAgent (P3) JDK-8311007: jdk/jfr/tool/TestView.java can't find event (P3) JDK-8303208: JFR: 'jfr print' displays incorrect timestamps (P3) JDK-8303077: JFR: Add example usage to jdk.jfr (P3) JDK-8302677: JFR: Cache label and contentType in EventType and ValueDescriptor (P3) JDK-8299031: JFR: Clean up jdk.management.jfr (P3) JDK-8309959: JFR: Display N/A for missing data amount (P3) JDK-8307298: JFR: Ensure jdk.jfr.internal.TypeLibrary is initialized only once (P3) JDK-8257967: JFR: Events for loaded agents (P3) JDK-8307738: JFR: EventStream.openRepository() drops events (P3) JDK-8302883: JFR: Improve periodic events (P3) JDK-8304844: JFR: Missing disk parameter in ActiveRecording event (P3) JDK-8302821: JFR: Periodic task thread spins after recording has stopped (P3) JDK-8303229: JFR: Preserve disk repository after exit (P3) JDK-8311040: JFR: RecordedThread::getOSThreadId() should return -1 if thread is virtual (P3) JDK-8303681: JFR: RemoteRecordingStream::setMaxAge() should accept null (P3) JDK-8308335: JFR: Remove @Experimental from Virtual Threads events (P3) JDK-8311245: JFR: Remove t.printStackTrace() in PeriodicEvents (P3) JDK-8306703: JFR: Summary views (P3) JDK-8303674: JFR: TypeLibrary class not thread safe (P3) JDK-8309928: JFR: View issues (P3) JDK-8297877: Risk for uninitialized memory in case of CHECK macro early return as part of field access (P3) JDK-8294401: Update jfr man page to include recently added features (P3) JDK-8273131: Update the java manpage markdown source for JFR filename expansion (P4) JDK-8288158: Add an anchor to each subcommand option on jfr html page (P4) JDK-8305944: assert(is_aligned(ref, HeapWordSize)) failed: invariant (P4) JDK-8299672: Enhance HeapDump JFR event (P4) JDK-8288783: Error messages are confusing when options conflict in -XX:StartFlightRecording (P4) JDK-8300042: Improve CPU related JFR events descriptions (P4) JDK-8309550: jdk.jfr.internal.Utils::formatDataAmount method should gracefully handle amounts equal to Long.MIN_VALUE (P4) JDK-8308935: jdk.management.jfr.RecordingInfo.toString() lacks test coverage (P4) JDK-8304375: jdk/jfr/api/consumer/filestream/TestOrdered.java failed with "Expected at least some events to be out of order! Reuse = false" (P4) JDK-8301380: jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java (P4) JDK-8304835: jdk/jfr/event/oldobject/TestArrayInformation.java fails with "Could not find event with class ... as (leak) object" (P4) JDK-8311536: JFR TestNativeMemoryUsageEvents fails in huge pages configuration (P4) JDK-8298526: JFR: Generate missing filename for time-bound recordings (P4) JDK-8301842: JFR: increase checkpoint event size for stacktrace and string pool (P4) JDK-8303261: JFR: jdk/jfr/api/consumer/streaming/TestJVMCrash.java doesn't retry (P4) JDK-8303135: JFR: Log periodic events using periodic tag (P4) JDK-8303622: JFR: Missing message with Objects.requireNonNull (P4) JDK-8298278: JFR: Turn MEMFLAGS into a type for use with the NativeMemoryUsage events (P4) JDK-8298276: JFR: Update NMT events to make use of common periodic timestamp feature (P4) JDK-8307156: native_thread not protected by TLH (P4) JDK-8305242: Remove non-invariant assert(EventThreadDump::is_enabled()) (P4) JDK-8300245: Replace NULL with nullptr in share/jfr/ (P4) JDK-8221633: StartFlightRecording: consider moving mention of multiple comma-separated parameters to the front (P4) JDK-8299520: TestPrintXML.java output error messages in case compare fails (P4) JDK-8299125: UnifiedOopRef in JFR leakprofiler should treat thread local oops correctly (P5) JDK-8303249: JFR: Incorrect description of dumponexit hotspot/jvmti: (P2) JDK-8309614: [BACKOUT] JDK-8307153 JVMTI GetThreadState on carrier should return STATE_WAITING (P2) JDK-8300051: assert(JvmtiEnvBase::environments_might_exist()) failed: to enter event controller, JVM TI environments must exist (P2) JDK-8300575: JVMTI support when using alternative virtual thread implementation (P2) JDK-8308978: regression with a deadlock involving FollowReferences (P2) JDK-8300913: ZGC: assert(to_addr != 0) failed: Should be forwarded (P3) JDK-8309462: [AIX] vmTestbase/nsk/jvmti/RunAgentThread/agentthr001/TestDescription.java crashing due to empty while loop (P3) JDK-8309612: [REDO] JDK-8307153 JVMTI GetThreadState on carrier should return STATE_WAITING (P3) JDK-8307331: Correctly update line maps when class redefine rewrites bytecodes (P3) JDK-8303563: GetCurrentThreadCpuTime and GetThreadCpuTime need further clarification for virtual threads (P3) JDK-8295976: GetThreadListStackTraces returns wrong state for blocked VirtualThread (P3) JDK-8311556: GetThreadLocalStorage not working for vthreads mounted during JVMTI attach (P3) JDK-8302779: HelidonAppTest.java fails with "assert(_cb == CodeCache::find_blob(pc())) failed: Must be the same" or SIGSEGV (P3) JDK-8307153: JVMTI GetThreadState on carrier should return STATE_WAITING (P3) JDK-8306843: JVMTI tag map extremely slow after JDK-8292741 (P3) JDK-8306278: jvmtiAgentList.cpp:253 assert(offset >= 0) failed: invariant occurs on AIX after JDK-8257967 (P3) JDK-8298059: Linked stack watermarks don't support nesting (P3) JDK-8306823: Native memory leak in SharedRuntime::notify_jvmti_unmount/mount. (P3) JDK-8297286: runtime/vthread tests crashing after JDK-8296324 (P3) JDK-8303086: SIGSEGV in JavaThread::is_interp_only_mode() (P4) JDK-8300696: [AIX] AttachReturnError fails (P4) JDK-8308400: add ForceEarlyReturn support for virtual threads (P4) JDK-8303908: Add missing check in VTMS_transition_disable_for_all() for suspend mode (P4) JDK-8308000: add PopFrame support for virtual threads (P4) JDK-8306034: add support of virtual threads to JVMTI StopThread (P4) JDK-8306027: Clarify JVMTI heap functions spec about virtual thread stack. (P4) JDK-8292741: Convert JvmtiTagMapTable to ResourceHashtable (P4) JDK-8308814: extend SetLocalXXX minimal support for virtual threads (P4) JDK-8307399: get rid of compatibility ThreadStart/ThreadEnd events for virtual threads (P4) JDK-8304303: implement VirtualThread class notifyJvmti methods as C2 intrinsics (P4) JDK-8307865: Invalid is_in_any_VTMS_transition() check in post_dynamic_code_generated_while_holding_locks (P4) JDK-8299414: JVMTI FollowReferences should support references from VirtualThread stack (P4) JDK-8307365: JvmtiStressModule hit SIGSEGV in JvmtiEventControllerPrivate::recompute_thread_enabled (P4) JDK-8298853: JvmtiVTMSTransitionDisabler should support disabling one virtual thread transitions (P4) JDK-8304448: Kitchensink failed: assert(!thread->is_in_any_VTMS_transition()) failed: class prepare events are not allowed in any VTMS transition (P4) JDK-8302615: make JVMTI thread cpu time functions optional for virtual threads (P4) JDK-8299240: rank of JvmtiVTMSTransition_lock can be safepoint (P4) JDK-8304444: Reappearance of NULL in jvmtiThreadState.cpp (P4) JDK-8298979: Remove duplicated serviceability/jvmti/thread/GetAllThreads/allthr01/allthr01.java (P4) JDK-8306028: separate ThreadStart/ThreadEnd events posting code in JVMTI VTMS transitions (P4) JDK-8307968: serviceability/jvmti/vthread/StopThreadTest/StopThreadTest.java timed out (P4) JDK-8228604: StackMapFrames are missing from redefined class bytes of retransformed classes (P4) JDK-8305520: ToggleNotifyJvmtiTest.java fails with release VMs (P4) JDK-8309602: update JVMTI history table for jdk 21 (P4) JDK-8277573: VmObjectAlloc is not generated by intrinsics methods which allocate objects (P4) JDK-8306538: Zero variant build failure after JDK-8257967 hotspot/other: (P3) JDK-8302067: [AIX] AIX build error on os_aix_ppc.cpp (P3) JDK-8303167: JEP 449: Deprecate the Windows 32-bit x86 Port for Removal (P3) JDK-8299022: Linux ppc64le and s390x build issues after JDK-8160404 (P4) JDK-8303949: gcc10 warning Linux ppc64le - note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 (P4) JDK-8297912: HotSpot Style Guide should permit alignas (Second Proposal Attempt) (P4) JDK-8302124: HotSpot Style Guide should permit noreturn attribute (P4) JDK-8274400: HotSpot Style Guide should permit use of alignof (P4) JDK-8307446: RISC-V: Improve performance of floating point to integer conversion (P5) JDK-8305112: RISC-V: Typo fix for RVC description hotspot/runtime: (P1) JDK-8303839: [BACKOUT] JDK-8302799 and JDK-8302189 (P1) JDK-8302905: arm32 Raspberry Pi OS build broken by JDK-8301494 (P1) JDK-8302678: validate_source fails after JDK-8293313 (P2) JDK-8300227: [macos_aarch64] assert(cpu_has("hw.optional.arm.FEAT_AES")) failed after JDK-8297092 (P2) JDK-8305478: [REDO] disable gtest/NMTGtests.java sub-tests failing due to JDK-8305414 (P2) JDK-8302777: CDS should not relocate heap if mapping fails (P2) JDK-8301876: Crash in DumpTimeClassInfo::add_verification_constraint (P2) JDK-8305417: disable gtest/NMTGtests.java sub-tests failing due to JDK-8305414 (P2) JDK-8305414: gtest/NMTGtests.java is failing various sub-tests (P2) JDK-8305387: JDK-8301995 breaks arm 32-bit (P2) JDK-8298371: monitors_on_stack extracts unprocessed oops (P2) JDK-8310656: RISC-V: __builtin___clear_cache can fail silently. (P2) JDK-8309637: runtime/handshake/HandshakeTimeoutTest.java fails with "has not cleared handshake op" and SIGILL (P2) JDK-8305625: Stress test crashes with SEGV in Deoptimization::deoptimize_frame_internal(JavaThread*, long*, Deoptimization::DeoptReason) (P2) JDK-8309171: Test vmTestbase/nsk/jvmti/scenarios/jni_interception/JI05/ji05t001/TestDescription.java fails after JDK-8308341 (P2) JDK-8304931: vm/concepts/methods/methods001/methods00101m1/methods00101m1 failures with already pending exception (P3) JDK-8302351: "assert(!JavaThread::current()->is_interp_only_mode() || !nm->method()->is_continuation_enter_intrinsic() || ContinuationEntry::is_interpreted_call(return_pc)) failed: interp_only_mode but not in enterSpecial interpreted entry" in fixup_callers_callsite (P3) JDK-8298321: 2 File Leak defect groups in 2 files (P3) JDK-8303549: [AIX] TestNativeStack.java is failing with exit value 1 (P3) JDK-8299683: [S390X] Problems with -XX:+VerifyStack (P3) JDK-8307423: [s390x] Represent Registers as values (P3) JDK-8309613: [Windows] hs_err files sometimes miss information about the code containing the error (P3) JDK-8293117: Add atomic bitset functions (P3) JDK-8294402: Add diagnostic logging to VMProps.checkDockerSupport (P3) JDK-8308285: Assert on -Xshare:dump when running with -Xlog:cds=trace (P3) JDK-8306929: Avoid CleanClassLoaderDataMetaspaces safepoints when previous versions are shared (P3) JDK-8302781: CDS archive heap not reproducible after JDK-8296344 (P3) JDK-8306476: CDS ArchiveHeapTestClass.java test asserts when vm_exit is called on VM thread (P3) JDK-8294677: chunklevel::MAX_CHUNK_WORD_SIZE too small for some applications (P3) JDK-8309228: Clarify EXPERIMENTAL flags comment in hotspot/share/runtime/globals.hpp (P3) JDK-8302066: Counter _number_of_nmethods_with_dependencies should be atomic. (P3) JDK-8278965: crash in SymbolTable::do_lookup (P3) JDK-8300266: Detect Virtualization on Linux aarch64 (P3) JDK-8298081: DiagnoseSyncOnValueBasedClasses doesn't report useful information for virtual threads (P3) JDK-8301992: Embed SymbolTable CHT node (P3) JDK-8301123: Enable Symbol refcounting underflow checks in PRODUCT (P3) JDK-8301661: Enhance os::pd_print_cpu_info on macOS and Windows (P3) JDK-8300645: Handle julong values in logging of GET_CONTAINER_INFO macros (P3) JDK-8303948: HsErrFileUtils.checkHsErrFileContent() fails to check the last pattern. (P3) JDK-8295951: intermittent cmp_baseline task failures with CDS files (P3) JDK-8295974: jni_FatalError and Xcheck:jni warnings should print the native stack when there are no Java frames (P3) JDK-8308341: JNI_GetCreatedJavaVMs returns a partially initialized JVM (P3) JDK-8309761: Leak class loader constraints (P3) JDK-8303215: Make thread stacks not use huge pages (P3) JDK-8300658: memory_and_swap_limit() reporting wrong values on systems with swapaccount=0 (P3) JDK-8307958: Metaspace verification is slow causing extreme class unloading times (P3) JDK-8306825: Monitor deflation might be accidentally disabled by zero intervals (P3) JDK-8303153: Native interpreter frame missing mirror (P3) JDK-8301641: NativeMemoryUsageTotal event uses reserved value for committed field (P3) JDK-8298298: NMT: count deltas are printed with 32-bit signed size (P3) JDK-8311092: Please disable runtime/jni/nativeStack/TestNativeStack.java on armhf (P3) JDK-8303475: potential null pointer dereference in filemap.cpp (P3) JDK-8288287: Remove expired flags in JDK 21 (P3) JDK-8305590: Remove nothrow exception specifications from operator new (P3) JDK-8292818: replace 96-bit representation for field metadata with variable-sized streams (P3) JDK-8292674: ReportJNIFatalError should print all java frames (P3) JDK-8309140: ResourceHashtable failed "assert(~(_allocation_t[0] | allocation_mask) == (uintptr_t)this) failed: lost resource object" (P3) JDK-8292635: Run ArchivedEnumTest.java in jdk tier testing (P3) JDK-8306428: RunThese30M.java crashed with assert(early->flag() == current->flag() || early->flag() == mtNone) (P3) JDK-8303276: Secondary assertion failure in AdapterHandlerLibrary::contains during crash reporting (P3) JDK-8301570: Test runtime/jni/nativeStack/ needs to detach the native thread (P3) JDK-8299699: Test runtime/cds/appcds/WrongClasspath.java fails after JDK-8299329 (P3) JDK-8292206: TestCgroupMetrics.java fails as getMemoryUsage() is lower than expected (P3) JDK-8303624: The java.lang.Thread.FieldHolder can be null for JNI attaching threads (P3) JDK-8301749: Tracking malloc pooled memory size (P3) JDK-8303841: Update the JNI spec GetVersion function to reflect the change to JNI_VERSION_20 (P4) JDK-8306289: 32-bit build failures after JDK-8303422 (P4) JDK-8305922: [aix,linux] Avoid comparing 'this' to nullptr (P4) JDK-8303082: [AIX] Missing C++ name demangling with XLClang++ (P4) JDK-8302043: [AIX] Safefetch fails for bad_addressN and bad_address32 (P4) JDK-8300295: [AIX] TestDaemonDestroy fails due to !is_primordial_thread assertion (P4) JDK-8306951: [BACKOUT] JDK-8305252 make_method_handle_intrinsic may call java code under a lock (P4) JDK-8303210: [linux, Windows] Make UseSystemMemoryBarrier available as product flag (P4) JDK-8306507: [linux] Print number of memory mappings in error reports (P4) JDK-8297092: [macos_aarch64] Add support for SHA feature detection (P4) JDK-8262895: [macos_aarch64] runtime/CompressedOops/CompressedClassPointers.java fails with 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr (P4) JDK-8308469: [PPC64] Implement alternative fast-locking scheme (P4) JDK-8302907: [PPC64] Use more constexpr in class Register (P4) JDK-8303805: [REDO] JDK-8302189 and JDK-8302799 (P4) JDK-8306950: [REDO] JDK-8305252 make_method_handle_intrinsic may call java code under a lock (P4) JDK-8298413: [s390] CPUInfoTest fails due to uppercase feature string (P4) JDK-8306855: [s390x] fix difference in abi sizes (P4) JDK-8302328: [s390x] Simplify asm_assert definition (P4) JDK-8301095: [s390x] TestDwarf.java fails (P4) JDK-8298472: AArch64: Detect Ampere-1 and Ampere-1A CPUs and set default options (P4) JDK-8294266: Add a way to pre-touch java thread stacks (P4) JDK-8304016: Add BitMap find_last suite of functions (P4) JDK-8304759: Add BitMap iterators (P4) JDK-8308090: Add container tests for on-the-fly resource quota updates (P4) JDK-8299274: Add elements to resolved_references consistently (P4) JDK-8306583: Add JVM crash check in CDSTestUtils.executeAndLog (P4) JDK-8298445: Add LeakSanitizer support in HotSpot (P4) JDK-8304996: Add missing HandleMarks (P4) JDK-8293547: Add relaxed add_and_fetch for macos aarch64 atomics (P4) JDK-8299275: Add some ClassLoaderData verification code (P4) JDK-8287873: Add test for using -XX:+AutoCreateSharedArchive with different JDK versions (P4) JDK-8307295: Add warning to not create new ACC flags (P4) JDK-8307653: Adjust delay time and gc log argument in TestAbortOnVMOperationTimeout (P4) JDK-8303575: adjust Xen handling on Linux aarch64 (P4) JDK-8301106: Allow archived Java strings to be moved by GC (P4) JDK-8307106: Allow concurrent GCs to walk CLDG without ClassLoaderDataGraph_lock (P4) JDK-8308910: Allow executeAndLog to accept running process (P4) JDK-8303548: Arguments::get_default_shared_archive_path() should cache the result for future use (P4) JDK-8279993: Assert that a shared class is not loaded more than once (P4) JDK-8299329: Assertion failure with fastdebug build when trying to use CDS without classpath (P4) JDK-8303047: avoid NULL after 8301661 (P4) JDK-8307567: Avoid relocating global roots to metaspaceObjs in CDS dump (P4) JDK-8299213: Bad cast in GrowableArrayWithAllocator<>::grow (P4) JDK-8302625: Bad copyright line after JDK-8302385 (P4) JDK-8303621: BitMap::iterate should support lambdas and other function objects (P4) JDK-8300981: Build failure on 32-bit platforms after JDK-8281213 (P4) JDK-8300463: Build failure on Windows 32 after JDK-8296401 (P4) JDK-8300169: Build failure with clang-15 (P4) JDK-8301853: C4819 warnings were reported in HotSpot on Windows (P4) JDK-8305757: Call Method::compute_has_loops_flag() when creating CDS archive (P4) JDK-8309170: CDS archive heap is always relocated for larger heap (P4) JDK-8306712: CDS DeterministicDump.java test fails with -XX:+UseStringDeduplication (P4) JDK-8301715: CDS should be disabled in exploded JDK (P4) JDK-8281941: Change CDS warning messages to use Unified Logging (P4) JDK-8307306: Change some ConstantPool::name_ref_at calls to uncached_name_ref_at (P4) JDK-8302218: CHeapBitMap::free frees with incorrect size (P4) JDK-8307935: Class space argument processing can be simplified (P4) JDK-8304069: ClassFileParser has ad-hoc hashtables (P4) JDK-8308073: ClassLoaderExt::append_boot_classpath should handle dynamic archive (P4) JDK-8298468: Clean up class_loader parameters (P4) JDK-8301005: Clean up Copy::conjoint_*_atomic on windows (P4) JDK-8302108: Clean up placeholder supername code (P4) JDK-8306460: Clear JVM_ACC_QUEUED flag on methods when dumping dynamic CDS archive (P4) JDK-8298048: Combine CDS archive heap into a single block (P4) JDK-8304743: Compile_lock and SystemDictionary updates (P4) JDK-8305404: Compile_lock not needed for InstanceKlass::implementor() (P4) JDK-8305405: Compile_lock not needed in Universe::genesis() (P4) JDK-8299387: CompressedClassPointers.java still fails on ppc with 'Narrow klass shift: 0' missing (P4) JDK-8296401: ConcurrentHashTable::bulk_delete might miss to delete some objects (P4) JDK-8291569: Consider removing JNI checks for signals SIGPIPE and SIGXFSZ (P4) JDK-8307810: Consistently use LockingMode instead of UseHeavyMonitors (P4) JDK-8300783: Consolidate byteswap implementations (P4) JDK-8299424: containers/docker/TestMemoryWithCgroupV1.java fails on SLES12 ppc64le when testing Memory and Swap Limit (P4) JDK-8307196: Dangling pointer warning for MetadataAllocationRequest (P4) JDK-8305320: DbgStrings and AsmRemarks are leaking (P4) JDK-8303151: DCmd framework cleanups (P4) JDK-8303150: DCmd framework unnecessarily creates a DCmd instance on registration (P4) JDK-8298524: Debug function to trace reachability of CDS archived heap objects (P4) JDK-8301050: Detect Xen Virtualization on Linux aarch64 (P4) JDK-8302102: Disable ASan for SafeFetch and os::print_hex_dump (P4) JDK-8306654: Disable NMT location_printing_cheap_dead_xx tests again (P4) JDK-8313316: Disable runtime/ErrorHandling/MachCodeFramesInErrorFile.java on ppc64le (P4) JDK-8292059: Do not inline InstanceKlass::allocate_instance() (P4) JDK-8304696: Duplicate class names in dynamicArchive tests can lead to test failure (P4) JDK-8307765: DynamicArchiveHeader contents are missing in CDS mapfile (P4) JDK-8303861: Error handling step timeouts should never be blocked by OnError and others (P4) JDK-8302070: Factor null-check into load_klass() calls (P4) JDK-8306057: False arguments calling dispatch_base for aarch64 (P4) JDK-8306304: Fix xlc17 clang warnings in ppc and aix code (P4) JDK-8301549: Fix comment about ClassCircularityError (P4) JDK-8309138: Fix container tests for jdks with symlinked conf dir (P4) JDK-8308396: Fix offset_of conversion warnings in runtime code (P4) JDK-8298636: Fix return value in WB_CountAliveClasses and WB_GetSymbolRefcount (P4) JDK-8301684: Fix test code to not get finalizer deprecation warnings (P4) JDK-8308288: Fix xlc17 clang warnings and build errors in hotspot (P4) JDK-8224980: FLAG_SET_ERGO silently ignores invalid values (P4) JDK-8300197: Freeze/thaw an interpreter frame using a single copy_to_chunk() call (P4) JDK-8305481: gtest is_first_C_frame failing on ARM (P4) JDK-8297302: gtest/AsyncLogGtest.java fails AsyncLogTest.stdoutOutput_vm (P4) JDK-8305994: Guarantee eventual async monitor deflation (P4) JDK-8301065: Handle control characters in java_lang_String::print (P4) JDK-8295344: Harden runtime/StackGuardPages/TestStackGuardPages.java (P4) JDK-8304736: Heap_lock is created twice (P4) JDK-8302117: IgnoreUnrecognizedVMOptions flag causes failure in ArchiveHeapTestClass (P4) JDK-8291555: Implement alternative fast-locking scheme (P4) JDK-8278411: Implement UseHeavyMonitors consistently, s390 port (P4) JDK-8308088: Improve class check in CollectedHeap::is_oop (P4) JDK-8303418: Improve parameter and variable names in BitMap (P4) JDK-8306059: improve the reliability of TestSerialGCWithCDS.java and ArchiveRelocationTest.java tests (P4) JDK-8306930: Incorrect assert in BitMap::count_one_bits (P4) JDK-8300682: InstanceKlassMiscStatus is a bad name (P4) JDK-8298908: Instrument Metaspace for ASan (P4) JDK-8296469: Instrument VMError::report with reentrant iteration step for register and stack printing (P4) JDK-8301371: Interpreter store barriers on x86_64 don't have disjoint temp registers (P4) JDK-8307521: Introduce check_oop infrastructure to check oops in the oop class (P4) JDK-8305936: JavaThread::create_system_thread_object has unused is_visible argument (P4) JDK-8302812: JDK-8302455 broke ClassLoaderStatsTest on 32-bit (P4) JDK-8304267: JDK-8303415 missed change in Zero Interpreter (P4) JDK-8304147: JVM crash during shutdown when dumping dynamic archive (P4) JDK-8221785: Let possibly_parallel_threads_do cover the same threads as threads_do (P4) JDK-8308407: libjvm library not reproducibly comparable between vendors (P4) JDK-8303973: Library detection in runtime/ErrorHandling/TestDwarf.java fails on ppc64le RHEL8.5 for libpthread-2.28.so (P4) JDK-8299326: LinkResolver::resolve_field resolved_klass cannot be null (P4) JDK-8229147: Linux os::create_thread() overcounts guardpage size with newer glibc (>=2.27) (P4) JDK-8305819: LogConfigurationTest intermittently fails on AArch64 (P4) JDK-8304828: Lots of constant static data not declared static const in cpu/x86 (P4) JDK-8306901: Macro offset_of confuses Eclipse CDT (P4) JDK-8302129: Make MetaspaceReclaimPolicy a diagnostic switch (P4) JDK-8305252: make_method_handle_intrinsic may call java code under a lock (P4) JDK-8302189: Mark assertion failures noreturn (P4) JDK-8303183: Memory leak in Arguments::init_shared_archive_paths (P4) JDK-8303181: Memory leak in ClassLoaderExt::setup_app_search_path (P4) JDK-8303070: Memory leak in DCmdArgument::parse_value (P4) JDK-8303068: Memory leak in DwarfFile::LineNumberProgram::run_line_number_program (P4) JDK-8303606: Memory leaks in Arguments::parse_each_vm_init_arg (P4) JDK-8303605: Memory leaks in Metaspace gtests (P4) JDK-8301187: Memory leaks in OopMapCache (P4) JDK-8309543: Micro-optimize x86 assembler UseCondCardMark (P4) JDK-8307315: Missing ResourceMark in CDS and JVMTI code (P4) JDK-8304541: Modules THROW_MSG_ should return nullptr instead of JNI_FALSE (P4) JDK-8255119: Monitor::wait takes signed integer as timeout (P4) JDK-8281715: Move "base CDS archive not loaded" tests to SharedArchiveFileOption.java (P4) JDK-8304687: Move add_to_hierarchy (P4) JDK-8306474: Move InstanceKlass read-only flags (P4) JDK-8306123: Move InstanceKlass writeable flags (P4) JDK-8301995: Move invokedynamic resolution information out of ConstantPoolCacheEntry (P4) JDK-8306310: Move is_shared Klass flag (P4) JDK-8306851: Move Method access flags (P4) JDK-8297657: name demangling intermittently fails (P4) JDK-8308655: Narrow types of ConstantPool and ConstMethod returns (P4) JDK-8302810: NMT gtests don't correctly check for marked ranges (P4) JDK-8302811: NMT.random_reallocs_vm fails if NMT is off (P4) JDK-8286876: NMT.test_unaliged_block_address_vm_assert fails if using clang toolchain (P4) JDK-8298293: NMT: os::realloc() should verify that flags do not change between reallocations (P4) JDK-8204550: NMT: RegionIterator does not need to keep _current_size (P4) JDK-8293313: NMT: Rework MallocLimit (P4) JDK-8302491: NoClassDefFoundError omits the original cause of an error (P4) JDK-8301564: Non-C-heap allocated ResourceHashtable keys and values must have trivial destructor (P4) JDK-8298469: Obsolete legacy parallel class loading workaround for non-parallel-capable class loaders (P4) JDK-8305247: On RISC-V generate_fixed_frame() sometimes generate a relativized locals value which is way too large (P4) JDK-8301088: oopDesc::print_on should consistently use a trailing newline (P4) JDK-8269736: Optimize CDS PatchEmbeddedPointers::do_bit() (P4) JDK-8300184: Optimize ResourceHashtableBase::iterate_all using _number_of_entries (P4) JDK-8151413: os::allocation_granularity/page_size and friends return signed values (P4) JDK-8264684: os::get_summary_cpu_info padded with spaces (P4) JDK-8305770: os::Linux::available_memory() should refer MemAvailable in /proc/meminfo (P4) JDK-8301402: os::print_location gets is_global_handle assert (P4) JDK-8303942: os::write should write completely (P4) JDK-8306965: osThread allocation failures should not abort the VM (P4) JDK-8300052: PdhDll::PdhCollectQueryData and PdhLookupPerfNameByIndex will never be NULL (P4) JDK-8302191: Performance degradation for float/double modulo on Linux (P4) JDK-8305670: Performance regression in LockSupport.unpark with lots of idle threads (P4) JDK-8305668: PPC: Non-Top Interpreted frames should be independent of ABI_ELFv2 (P4) JDK-8305171: PPC: Should use IMA::load_resolved_indy_entry() in TIG::generate_return_entry_for() (P4) JDK-8298600: Prerequisites for JDK-8296344: Remove dependency on G1 for writing the CDS archive heap (P4) JDK-8306510: Print number of threads and stack sizes in error reports (P4) JDK-8270865: Print process ID with -Xlog:os (P4) JDK-8298126: Print statistics for objects in CDS archive heap (P4) JDK-8301622: ProcessTools.java compilation gets ThreadDeath deprecation warning (P4) JDK-8298065: Provide more information in message of NoSuchFieldError (P4) JDK-8302798: Refactor -XX:+UseOSErrorReporting for noreturn crash reporting (P4) JDK-8298610: Refactor archiving of ConstantPool::resolved_references() (P4) JDK-8298612: Refactor archiving of java String objects (P4) JDK-8298601: Refactor archiving of java.lang.Module objects (P4) JDK-8302799: Refactor Debugging variable usage for noreturn crash reporting (P4) JDK-8307190: Refactor ref_at methods in Constant Pool (P4) JDK-8298730: Refactor subsystem_file_line_contents and add docs and tests (P4) JDK-8296158: Refactor the verification of CDS region checksum (P4) JDK-8299795: Relativize locals in interpreter frames (P4) JDK-8306687: Relax memory ordering constraints on metaspace atomic counters (P4) JDK-8256302: releasing oopStorage when deflating allows for faster deleting (P4) JDK-8302262: Remove -XX:SuppressErrorAt develop option (P4) JDK-8307067: remove broken EnableThreadSMRExtraValidityChecks option (P4) JDK-8301555: Remove constantPoolCacheKlass friend (P4) JDK-8302820: Remove costs for NMTPreInit when NMT is off (P4) JDK-8301098: Remove dead code FileMapInfo::stop_sharing_and_unmap() (P4) JDK-8301063: Remove dead code from GrowableArray (P4) JDK-8307553: Remove dead code MetaspaceClosure::push_method_entry (P4) JDK-8296344: Remove dependency on G1 for writing the CDS archive heap (P4) JDK-8307959: Remove explicit type casts from SerializeClosure::do_xxx() calls (P4) JDK-8305079: Remove finalize() from compiler/c2/Test719030 (P4) JDK-8305081: Remove finalize() from test/hotspot/jtreg/compiler/runtime/Test8168712 (P4) JDK-8305082: Remove finalize() from test/hotspot/jtreg/runtime/linkResolver/InterfaceObjectTest.java (P4) JDK-8305083: Remove finalize() from test/hotspot/jtreg/vmTestbase/nsk/share/ and /jpda that are used in serviceability/dcmd/framework tests (P4) JDK-8286775: Remove identical per-compiler definitions of unsigned integral jtypes (P4) JDK-8297914: Remove java_lang_Class::process_archived_mirror() (P4) JDK-8298475: Remove JVM_ACC_PROMOTED_FLAGS (P4) JDK-8298794: Remove JVM_ACC_PROMOTED_FLAGS breaks minimal build (P4) JDK-8300654: Remove JVMFlag::flag_error_str as it is unused (P4) JDK-8293292: Remove MallocMaxTestWords (P4) JDK-8300910: Remove metaprogramming/integralConstant.hpp (P4) JDK-8300264: Remove metaprogramming/isPointer.hpp (P4) JDK-8300260: Remove metaprogramming/isSame.hpp (P4) JDK-8300265: Remove metaprogramming/isSigned.hpp (P4) JDK-8308342: Remove MetaspaceClosure::Ref::keep_after_pushing() (P4) JDK-8306696: Remove MetaspaceReclaimPolicy=aggressive and obsolete MetaspaceReclaimPolicy (P4) JDK-8302385: Remove MetaspaceReclaimPolicy=none (P4) JDK-8303562: Remove obsolete comments in os::pd_attempt_reserve_memory_at (P4) JDK-8301117: Remove old_size param from ResizeableResourceHashtable::resize() (P4) JDK-8300830: Remove redundant assertion in src/hotspot/share/runtime/javaCalls.cpp (P4) JDK-8308236: Remove SystemDictionaryShared::clone_dumptime_tables() (P4) JDK-8305084: Remove the removal warnings for finalize() from test/hotspot/jtreg/serviceability/dcmd/gc/FinalizerInfoTest.java and RunFinalizationTest.java (P4) JDK-8307869: Remove unnecessary log statements from arm32 fastlocking code (P4) JDK-8306482: Remove unused Method AccessFlags (P4) JDK-8301164: Remove unused ResourceStack class (P4) JDK-8307571: Remove unused SomeConstants in WatcherThread class (P4) JDK-8301308: Remove version conditionalization for gcc/clang PRAGMA_DIAG_PUSH/POP (P4) JDK-8309111: Removing unused constructor of PerfLongCounter and PerfLongVariable (P4) JDK-8307806: Rename Atomic::fetch_and_add and friends (P4) JDK-8303900: Rename BitMap search functions (P4) JDK-8301171: Rename sanitizers/address.h to sanitizers/address.hpp (P4) JDK-8307236: Rendezvous GC threads under STS for monitor deflation (P4) JDK-8267935: Replace BasicHashtable and Hashtable (P4) JDK-8298241: Replace C-style casts with JavaThread::cast (P4) JDK-8292269: Replace FileMapInfo::fail_continue() with Unified Logging (P4) JDK-8301493: Replace NULL with nullptr in cpu/aarch64 (P4) JDK-8301494: Replace NULL with nullptr in cpu/arm (P4) JDK-8301495: Replace NULL with nullptr in cpu/ppc (P4) JDK-8301496: Replace NULL with nullptr in cpu/riscv (P4) JDK-8301497: Replace NULL with nullptr in cpu/s390 (P4) JDK-8301498: Replace NULL with nullptr in cpu/x86 (P4) JDK-8301499: Replace NULL with nullptr in cpu/zero (P4) JDK-8299837: Replace NULL with nullptr in hotspot code and tests (P4) JDK-8301477: Replace NULL with nullptr in os/aix (P4) JDK-8301478: Replace NULL with nullptr in os/bsd (P4) JDK-8301479: Replace NULL with nullptr in os/linux (P4) JDK-8301480: Replace NULL with nullptr in os/posix (P4) JDK-8301481: Replace NULL with nullptr in os/windows (P4) JDK-8301500: Replace NULL with nullptr in os_cpu/aix_ppc (P4) JDK-8301501: Replace NULL with nullptr in os_cpu/bsd_aarch64 (P4) JDK-8301502: Replace NULL with nullptr in os_cpu/bsd_x86 (P4) JDK-8301503: Replace NULL with nullptr in os_cpu/bsd_zero (P4) JDK-8301504: Replace NULL with nullptr in os_cpu/linux_aarch64 (P4) JDK-8301505: Replace NULL with nullptr in os_cpu/linux_arm (P4) JDK-8301506: Replace NULL with nullptr in os_cpu/linux_ppc (P4) JDK-8301507: Replace NULL with nullptr in os_cpu/linux_riscv (P4) JDK-8301508: Replace NULL with nullptr in os_cpu/linux_s390 (P4) JDK-8301509: Replace NULL with nullptr in os_cpu/linux_x86 (P4) JDK-8301511: Replace NULL with nullptr in os_cpu/linux_zero (P4) JDK-8301512: Replace NULL with nullptr in os_cpu/windows_aarch64 (P4) JDK-8301513: Replace NULL with nullptr in os_cpu/windows_x86 (P4) JDK-8300081: Replace NULL with nullptr in share/asm/ (P4) JDK-8300087: Replace NULL with nullptr in share/cds/ (P4) JDK-8300241: Replace NULL with nullptr in share/classfile/ (P4) JDK-8300244: Replace NULL with nullptr in share/interpreter/ (P4) JDK-8300222: Replace NULL with nullptr in share/logging (P4) JDK-8301070: Replace NULL with nullptr in share/memory/ (P4) JDK-8301072: Replace NULL with nullptr in share/oops/ (P4) JDK-8301076: Replace NULL with nullptr in share/prims/ (P4) JDK-8300651: Replace NULL with nullptr in share/runtime/ (P4) JDK-8301077: Replace NULL with nullptr in share/services/ (P4) JDK-8299973: Replace NULL with nullptr in share/utilities/ (P4) JDK-8309044: Replace NULL with nullptr, final sweep of hotspot code (P4) JDK-8286781: Replace the deprecated/obsolete gethostbyname and inet_addr calls (P4) JDK-8308764: Reporting errors from create_vm may crash (P4) JDK-8309258: RISC-V: Add riscv_hwprobe syscall (P4) JDK-8305008: RISC-V: Factor out immediate checking functions from assembler_riscv.inline.hpp (P4) JDK-8309405: RISC-V: is_deopt may produce unaligned memory read (P4) JDK-8301852: RISC-V: Optimize class atomic when order is memory_order_relaxed (P4) JDK-8302114: RISC-V: Several foreign jtreg tests fail with debug build after JDK-8301818 (P4) JDK-8308997: RISC-V: Sign extend when comparing 32-bit value with zero instead of testing the sign bit (P4) JDK-8298128: runtime/ErrorHandling/TestSigInfoInHsErrFile.java fails to find pattern with slowdebug (P4) JDK-8307783: runtime/reflect/ReflectOutOfMemoryError.java timed out (P4) JDK-8305416: runtime/Thread/TestAlwaysPreTouchStacks.java failed with "Did not find expected NMT output" (P4) JDK-8306459: s390x: Replace NULL to nullptr (P4) JDK-8302795: Shared archive failed on old version class with jsr bytecode (P4) JDK-8298470: Short cut java.lang.Object super class loading (P4) JDK-8274166: Some CDS tests ignore -Dtest.cds.runtime.options (P4) JDK-8308034: Some CDS tests need to use @requires vm.flagless (P4) JDK-8305236: Some LoadLoad barriers in the interpreter are unnecessary after JDK-8220051 (P4) JDK-8304723: Statically allocate global mutexes (P4) JDK-8304820: Statically allocate ObjectSynchronizer mutexes (P4) JDK-8303051: Stop saving 5 chunks in each ChunkPool (P4) JDK-8307068: store a JavaThread* in the java.lang.Thread object after the JavaThread* is added to the main ThreadsList (P4) JDK-8306006: strace001.java fails due to unknown methods on stack (P4) JDK-8307926: Support byte-sized atomic bitset operations (P4) JDK-8299254: Support dealing with standard assert macro (P4) JDK-8306672: support offset in dll_address_to_library_name on AIX (P4) JDK-8305085: Suppress removal warning for finalize() from test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineFinalizer.java (P4) JDK-8305080: Suppress the 'removal' warning for finalize() from test/hotspot/jtreg/compiler/jvmci/common/testcases that used in compiler/jvmci/compilerToVM/ tests (P4) JDK-8241613: Suspicious calls to MacroAssembler::null_check(Register, offset) (P4) JDK-8305500: SystemDictionary::find_placeholder/find_class declared but not used (P4) JDK-8300526: Test runtime/jni/IsVirtualThread/IsVirtualThread.java should exercise alternative virtual thread implementation (P4) JDK-8299777: Test runtime/NMT/BaselineWithParameter.java timed out (P4) JDK-8299494: Test vmTestbase/nsk/stress/except/except011.java failed: ExceptionInInitializerError: target class not found (P4) JDK-8305480: test/hotspot/jtreg/runtime/NMT/VirtualAllocCommitMerge.java failing on 32 bit arm (P4) JDK-8308891: TestCDSVMCrash.java needs @requires vm.cds (P4) JDK-8286510: Tests under dynamicArchive/methodHandles should check for loading of lambda proxy classes (P4) JDK-8306883: Thread stacksize is reported with wrong units in os::create_thread logging (P4) JDK-8305425: Thread.isAlive0 doesn't need to call into the VM (P4) JDK-8301244: Tidy up compiler specific warnings files (P4) JDK-8302109: Trivial fixes to btree tests (P4) JDK-8307103: Two TestMetaspaceAllocationMT tests fail after JDK-8306696 (P4) JDK-8298448: UndefinedBehaviorSanitizer (P4) JDK-8304738: UnregisteredClassesTable_lock never created (P4) JDK-8281213: Unsafe uses of long and size_t in MemReporterBase::diff_in_current_scale (P4) JDK-8303495: Unused path parameter in ClassLoader::add_to_app_classpath_entries(JavaThread* current, char* path, ...) (P4) JDK-8304884: Update Bytecodes data to be mostly compile time constants (P4) JDK-8297887: Update Siphash (P4) JDK-8308594: Use atomic bitset function for PackageEntry::_defined_by_cds_in_class_path (P4) JDK-8307533: Use atomic bitset functions for metadata flags (P4) JDK-8303422: Use common functions to exit the VM for -Xshare:dump and CDS errors (P4) JDK-8304815: Use NMT for more precise hs_err location printing (P4) JDK-8298852: Use of uninitialized memory in MetadataFactory::free_metadata (P4) JDK-8297539: Use PrimitiveConversions::cast for local uses of the int<->float union conversion trick (P4) JDK-8297936: Use reachabilityFence to manage liveness in ClassUnload tests (P4) JDK-8300054: Use static_assert in basic_types_init (P4) JDK-8302455: VM.classloader_stats memory size values are wrong (P4) JDK-8281946: VM.native_memory should report size of shareable memory (P4) JDK-8297977: vmTestbase/nsk/stress/except/except012.java fails with unexpected Exception (P4) JDK-8300317: vmTestbase/nsk/stress/strace/strace* tests fail with "ERROR: wrong lengths of stack traces" (P4) JDK-8288912: vmTestbase/nsk/stress/strace/strace002.java fails with Unexpected method name: currentCarrierThread (P4) JDK-8298596: vmTestbase/nsk/sysdict/vm/stress/chain/chain008/chain008.java fails with "NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom" (P4) JDK-8299343: Windows: Invalid thread_native_entry declaration (P4) JDK-8305421: Work around JDK-8305420 in CDSJDITest.java (P4) JDK-8305959: x86: Improve itable_stub (P5) JDK-8302354: InstanceKlass init state/thread should be atomic (P5) JDK-8300267: Remove duplicated setter/getter for do_not_unlock (P5) JDK-8301337: Remove unused os::_polling_page (P5) JDK-8302776: RISC-V: Fix typo CSR_INSTERT to CSR_INSTRET hotspot/svc: (P2) JDK-8308986: Disable svc tests failing with virtual thread factory (P3) JDK-8304438: jcmd JVMTI.agent_load should obey EnableDynamicAgentLoading (P3) JDK-8306275: JEP 451: Prepare to Disallow the Dynamic Loading of Agents (P3) JDK-8301170: perfMemory_windows.cpp add free_security_attr to early returns (P4) JDK-8307369: Add execution of all svc tests in CI (P4) JDK-8307308: Add serviceability_ttf_virtual group to exclude jvmti tests developed for virtual threads (P4) JDK-8304725: AsyncGetCallTrace can cause SIGBUS on M1 (P4) JDK-8302320: AsyncGetCallTrace obtains too few frames in sanity test (P4) JDK-8310380: Handle problems in core-related tests on macOS when codesign tool does not work (P4) JDK-8299518: HotSpotVirtualMachine shared code across different platforms (P4) JDK-8303102: jcmd: ManagementAgent.status truncates the text longer than O_BUFLEN (P4) JDK-8307428: jstat tests doesn't tolerate dash in the O column (P4) JDK-8303169: Remove Windows specific workaround from libdt (P4) JDK-8299470: sun/jvm/hotspot/SALauncher.java handling of negative rmiport args (P4) JDK-8307448: Test RedefineSharedClassJFR fail due to wrong assumption hotspot/svc-agent: (P2) JDK-8303921: serviceability/sa/UniqueVtableTest.java timed out (P4) JDK-8303489: Add a test to verify classes in vmStruct have unique vtables (P4) JDK-8305490: CLHSDB "dumpclass" command produces classes with invalid field descriptors (P4) JDK-8300032: DwarfParser resource leak (P4) JDK-8298073: gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java causes test task timeout on macosx (P4) JDK-8307480: Improve SA "transported core" documentation for windows (P4) JDK-8307955: Prefer to PTRACE_GETREGSET instead of PTRACE_GETREGS in method 'ps_proc.c::process_get_lwp_regs' (P4) JDK-8306858: Remove some remnants of CMS from SA agent (P4) JDK-8300024: Replace use of JNI_COMMIT mode with mode 0 (P4) JDK-8301659: Resolve initialization reordering issues on Windows for libawt and libsaproc (P4) JDK-8305771: SA ClassWriter.java fails to skip overpass methods (P4) JDK-8299657: sun/tools/jhsdb/SAGetoptTest.java fails after 8299470 (P4) JDK-8303527: update for deprecated sprintf for jdk.hotspot.agent (P5) JDK-8298343: "Could not confirm if TargetJDK is hardened." warning for SA tests on macosx-aarch64-debug (P5) JDK-8303267: Prefer ArrayList to LinkedList in ConcurrentLocksPrinter hotspot/test: (P1) JDK-8303421: [BACKOUT] 8303133: Update ProcessTools.startProcess(...) to exit early if process exit before linePredicate is printed. (P3) JDK-8306946: jdk/test/lib/process/ProcessToolsStartProcessTest.java fails with "wrong number of lines in OutputAnalyzer output" (P4) JDK-8300139: [AIX] Use pthreads to avoid JNI_createVM call from primordial thread (P4) JDK-8303486: [REDO] Update ProcessTools.startProcess(...) to exit early if process exit before linePredicate is printed. (P4) JDK-8303703: Add support of execution tests using virtual thread factory jtreg plugin (P4) JDK-8307370: Add tier1 testing with thread factory in CI (P4) JDK-8301200: Don't scale timeout stress with timeout factor (P4) JDK-8307962: Exclude gc/g1/TestSkipRebuildRemsetPhase.java fails with virtual test thread factory (P4) JDK-8308223: failure handler missed jcmd.vm.info command (P4) JDK-8302226: failure_handler native.core should wait for coredump to finish (P4) JDK-8308977: gtest:codestrings fails on riscv (P4) JDK-8303822: gtestMain should give more helpful output (P4) JDK-8299635: Hotspot update for deprecated sprintf in Xcode 14 (P4) JDK-8310187: Improve Generational ZGC jtreg testing (P4) JDK-8307307: Improve ProcessTools.java to don't try to run Virtual wrapper for incompatible processes (P4) JDK-8308116: jdk.test.lib.compiler.InMemoryJavaCompiler.compile does not close files (P4) JDK-8303697: ProcessTools doesn't print last line of process output (P4) JDK-8307486: ProcessTools.java should wait until vthread is completed before checking exceptions (P4) JDK-8309334: ProcessTools.main() does not properly set thread names when using the virtual thread wrapper (P4) JDK-8233725: ProcessTools.startProcess() has output issues when using an OutputAnalyzer at the same time (P4) JDK-8303264: Refactor nsk/stress/strace to extract shared and remove redundant code (P4) JDK-8299378: sprintf is deprecated in Xcode 14 (P4) JDK-8304294: Update JRuby test runner to start process in the current directory (P4) JDK-8303133: Update ProcessTools.startProcess(...) to exit early if process exit before linePredicate is printed. (P4) JDK-8282651: ZGC: vmTestbase/gc/ArrayJuggle/ tests fails intermittently with exit code 97 infrastructure: (P4) JDK-8295884: Implement IDE support for Eclipse (P4) JDK-8308475: Make the thread dump files generated by jcmd Thread.dump_to_file jtreg failure handler action easily accessible infrastructure/build: (P1) JDK-8307860: [BACKOUT] JDK-8307194 Add make target for optionally building a complete set of all JDK and hotspot libjvm static libraries (P2) JDK-8299693: Change to Xcode12.4+1.1 devkit for building on macOS at Oracle (P2) JDK-8306543: GHA: MSVC installation is failing (P2) JDK-8299757: Update JCov version to 3.0.14 (P3) JDK-8308585: AC_REQUIRE: `PLATFORM_EXTRACT_TARGET_AND_BUILD' was expanded before it was required (P3) JDK-8297851: Add devkit for RISC-V (P3) JDK-8303476: Add the runtime version in the release file of a JDK image (P3) JDK-8300550: BASIC_JVM_LIBS is set for buildjdk even if this is incorrect (P3) JDK-8299789: Compilation of gtest causes build to fail if runtime libraries are in different dirs (P3) JDK-8300120: Configure should support different defaults for CI/dev build environments (P3) JDK-8304171: Fix layout of JCov instrumented bundle on Mac OS (P3) JDK-8306658: GHA: MSVC installation could be optional since it might already be pre-installed (P3) JDK-8290918: Initial nroff manpage generation for JDK 21 (P3) JDK-8298047: Remove all non-significant trailing whitespace from properties files (P3) JDK-8307349: Support xlc17 clang toolchain on AIX (P3) JDK-8303355: The Depend plugin does fully recompile when primitive type changes (P3) JDK-8300805: Update autoconf build-aux files with latest from 2022-09-17 (P3) JDK-8301267: Update of config.guess broke build on WSL (P3) JDK-8304896: Update to use jtreg 7.2 (P3) JDK-8299918: Update Xcode11.3.1-MacOSX10.15 devkit at Oracle (P3) JDK-8304871: Use default visibility for static library builds (P4) JDK-8302155: [AIX] NUM_LCPU is not required variable (P4) JDK-8285850: [AIX] unreachable code in basic_tools.m4 -> BASIC_CHECK_TAR (P4) JDK-8304434: [AIX] Update minimum xlclang version (P4) JDK-8294403: [REDO] make test should report only on executed tests (P4) JDK-8298038: [s390] Configure script detects num_cores +1 (P4) JDK-8303010: Add /DEBUG to LDFLAGS for MSVC with ASan (P4) JDK-8300997: Add curl support to createJMHBundle.sh (P4) JDK-8304353: Add lib-test tier1 testing in GHA (P4) JDK-8307194: Add make target for optionally building a complete set of all JDK and hotspot libjvm static libraries (P4) JDK-8301753: AppendFile/WriteFile has differences between make 3.81 and 4+ (P4) JDK-8300254: ASan build does not correctly propagate ASAN_OPTIONS (P4) JDK-8300592: ASan build does not correctly propagate options to some test launchers (P4) JDK-8308283: Build failure with GCC12 & GCC13 (P4) JDK-8307732: build-test-lib is broken (P4) JDK-8303922: build-test-lib target is broken (P4) JDK-8296153: Bump minimum boot jdk to JDK 20 (P4) JDK-8300099: Configuration fails to auto-detect build user through $USER in dockers (P4) JDK-8304030: Configure call fails on AIX when using --with-gtest option. (P4) JDK-8305174: disable dtrace for s390x builds (P4) JDK-8302879: doc/building.md update link to jtreg builds (P4) JDK-8304930: Enable Link Time Optimization as an option for Visual C++ (P4) JDK-8146132: Excessive output from make test-image (P4) JDK-8304867: Explicitly disable dtrace for ppc builds (P4) JDK-8302599: Extend ASan support to Microsoft Visual C++ (P4) JDK-8303691: Fedora based devkit build should load more packages from archive location (P4) JDK-8308086: GHA: x86_32 host configuration failing with unmet dependencies (P4) JDK-8307573: Implementation of JEP 449: Deprecate the Windows 32-bit x86 Port for Removal (P4) JDK-8301393: Include cdb in the Windows devkit (P4) JDK-8303016: Invalid escapes in grep patterns (P4) JDK-8304134: jib bootstrapper fails to quote filename when checking download filetype (P4) JDK-8304893: Link Time Optimization with gcc can be faster (P4) JDK-8301129: Link to debuginfo files should only be made after stripping (P4) JDK-8308969: make test-prebuilt doesn't return the correct exit code (P4) JDK-8299330: Minor improvements in MSYS2 Workflow handling (P4) JDK-8299146: No copyright statement on ArtifactResolverException.java (P4) JDK-8303131: pandoc.exe mangles all processed html files (P4) JDK-8310259: Pin msys2/setup-msys2 github action to a specific commit (P4) JDK-8303020: Remove carriage return in pandoc version string (P4) JDK-8301717: Remove obsolete jib profiles (P4) JDK-8298424: Remove redundant FOUND_CORES variable in build-performance.m4 (P4) JDK-8309501: Remove workaround in bin/idea.sh for non standard JVMCI file layout (P4) JDK-8296478: Rework 8282948 and 8282700 to use the new autoconf UTIL_ARG_WITH (P4) JDK-8307520: set minimum supported CPU architecture to Power8 on AIX (P4) JDK-8300068: UBSan CFLAGS/LDFLAGS not passed when building ADLC (P4) JDK-8298190: Update --release 20 symbol information for JDK 20 build 27 (P4) JDK-8300400: Update --release 20 symbol information for JDK 20 build 32 (P4) JDK-8309747: Update --release 21 symbol information for JDK 21 build 27 (P4) JDK-8301097: Update GHA XCode to 12.5.1 (P4) JDK-8309934: Update GitHub Actions to use JDK 17 for building jtreg (P4) JDK-8300806: Update googletest to v1.13.0 (P4) JDK-8303412: Update linux_x64-to-linux_aarch64 cross compilation devkit at Oracle (P4) JDK-8289735: UTIL_LOOKUP_PROGS fails on pathes with space (P4) JDK-8306976: UTIL_REQUIRE_SPECIAL warning on grep (P4) JDK-8303760: Visual Studio should use the primary variant in the IDE (P4) JDK-8307063: When cross-compiling with hsdis/binutils, buildjdk creation fails (P5) JDK-8304364: [AIX] Build erroneously determines build disk is non-local when using GNU-utils df on AIX (P5) JDK-8305721: add `make compile-commands` artifacts to .gitignore infrastructure/release_eng: (P1) JDK-8312985: Remove EA from the JDK 21 version string with first RC promotion on August 10, 2023 install: (P3) JDK-8213059: Java .deb package implementation is incomplete install/install: (P4) JDK-8296383: javapath/java.exe strips embedded double quotes from command line arguments other-libs/other: (P4) JDK-8304161: Add TypeKind.from to derive from TypeDescriptor.OfField (P4) JDK-8304937: BufferedFieldBuilder.Model missing writeTo(DirectClassBuilder) (P4) JDK-8304031: Classfile API cannot encode Primitive Class as Condy (P4) JDK-8304502: Classfile API class hierarchy makes assumptions when class is not resolved (P4) JDK-8306457: Classfile API components implementations should not be exposed (P4) JDK-8304837: Classfile API throws IOOBE for MethodParameters attribute without parameter names (P4) JDK-8304425: ClassHierarchyResolver from Reflection (P4) JDK-8294982: Implementation of Classfile API performance/hotspot: (P4) JDK-8301092: Add benchmark for CRC32 (P5) JDK-8298809: Clean up vm/compiler/InterfaceCalls JMH performance/libraries: (P4) JDK-8303401: Add a Vector API equalsIgnoreCase micro benchmark (P4) JDK-8307483: New micros for j.u.c.LockSupport release-team: (P3) JDK-8300937: Update nroff pages in JDK 21 before RC security-libs: (P3) JDK-8303354: addCertificatesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return (P4) JDK-8303576: addIdentitiesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return (P4) JDK-8308872: enhance logging and some exception in krb5/Config.java (P4) JDK-8298710: Fix typos in test/jdk/sun/security/tools/jarsigner/ (P4) JDK-8309225: Fix xlc17 clang 15 warnings in security and servicability (P4) JDK-8290626: keytool manpage contains a special character (P4) JDK-8308465: Reduce memory accesses in AArch64 MD5 intrinsic (P4) JDK-8307555: Reduce memory reads in x86 MD5 intrinsic (P4) JDK-8306033: Resolve multiple definition of 'throwIOException' and friends when statically linking with JDK native libraries (P4) JDK-8305846: Support compilation in Proc test utility security-libs/java.security: (P3) JDK-8304760: Add 2 Microsoft TLS roots (P3) JDK-8245654: Add Certigna Root CA (P3) JDK-8307134: Add GTS root CAs (P3) JDK-8305975: Add TWCA Global Root CA (P3) JDK-8310549: avoid potential leaks in KeystoreImpl.m related to JNU_CHECK_EXCEPTION early returns (P3) JDK-8305310: Calculate PublicKey from PrivateKey (P3) JDK-8282201: Consider removal of expiry check in VerifyCACerts.java test (P3) JDK-8180266: Convert sun/security/provider/KeyStore/DKSTest.sh to Java Jtreg Test (P3) JDK-8296343: CPVE thrown on missing content-length in OCSP response (P3) JDK-8300399: EdDSA does not verify when there is no message (P3) JDK-8309740: Expand timeout windows for tests in JDK-8179502 (P3) JDK-8298127: HSS/LMS Signature Verification (P3) JDK-8299994: java/security/Policy/Root/Root.java fails when home directory is read-only (P3) JDK-8303465: KeyStore of type KeychainStore, provider Apple does not show all trusted certificates (P3) JDK-8156889: ListKeychainStore.sh fails in some virtualized environments (P3) JDK-8295894: Remove SECOM certificate that is expiring in September 2023 (P3) JDK-8302696: Revert API signature changes made in JDK-8285504 and JDK-8285263 (P3) JDK-8300939: sun/security/provider/certpath/OCSP/OCSPNoContentLength.java fails due to network errors (P3) JDK-8292704: sun/security/tools/jarsigner/compatibility/Compatibility.java use wrong key size for EC (P3) JDK-8302182: Update Public Suffix List to 88467c9 (P4) JDK-8299746: Accept unknown signatureAlgorithm in PKCS7 SignerInfo (P4) JDK-8300259: Add test coverage for processing of pending block files in signed JARs (P4) JDK-8301788: AlgorithmId should keep lowercase characters from 3rd party providers (P4) JDK-8301793: AlgorithmId should not encode a missing parameters field as NULL unless hardcoded (P4) JDK-8179502: Enhance OCSP, CRL and Certificate Fetch Timeouts (P4) JDK-8300272: Improve readability of the test JarWithOneNonDisabledDigestAlg (P4) JDK-8302623: jarsigner - use BufferedOutputStream to improve performance while creating the signed jar (P4) JDK-8278349: JarSigner javadoc example uses SHA-1 (P4) JDK-8300416: java.security.MessageDigestSpi clone can result in thread-unsafe clones (P4) JDK-8305169: java/security/cert/CertPathValidator/OCSP/GetAndPostTests.java -- test server didn't start in timely manner (P4) JDK-8286907: keytool should warn about weak PBE algorithms (P4) JDK-8297955: LDAP CertStore should use LdapName and not String for DNs (P4) JDK-8295087: Manual Test to Automated Test Conversion (P4) JDK-8296400: pointCrlIssuers might be null in DistributionPointFetcher::verifyURL (P4) JDK-8294735: RSASSA-PSS RFC link incorrectly formatted (P4) JDK-8309088: security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails (P4) JDK-8294527: Some java.security.debug options missing from security docs (P4) JDK-8155191: Specify that SecureRandom.nextBytes(byte[]) throws NullPointerException when byte array is null (P4) JDK-8294526: sun/security/provider/SubjectCodeSource.java no longer referenced (P4) JDK-8307794: Test for HSS/LMS Signature Verification (P4) JDK-8308156: VerifyCACerts.java misses blank in error output (P4) JDK-8301299: Wrong class spec on sun.security.util.Pem (P4) JDK-8308010: X509Key and PKCS8Key allows garbage bytes at the end (P4) JDK-8300140: ZipFile.isSignatureRelated returns true for files in META-INF subdirectories (P5) JDK-8305963: Typo in java.security.Security.getProperty (P5) JDK-8305794: Unused interface sun.security.util.PermissionFactory can be removed security-libs/javax.crypto: (P2) JDK-8311902: Concurrency regression in the PBKDF2 key impl of SunJCE provider (P2) JDK-8303607: SunMSCAPI provider leaks memory and keys (P3) JDK-8305091: Change ChaCha20 cipher init behavior to match AES-GCM (P3) JDK-8308711: Develop additional Tests for KEM implementation (P3) JDK-8301034: JEP 452: Key Encapsulation Mechanism API (P3) JDK-8297878: KEM: Implementation (P3) JDK-8297972: Poly1305 Endianness on ByteBuffer not enforced (P3) JDK-8302225: SunJCE Provider doesn't validate key sizes when using 'constrained' transforms for AES/KW and AES/KWP (P4) JDK-8288050: Add support of SHA-512/224 and SHA-512/256 to the PBKDF2 and PBES2 impls in SunJCE provider (P4) JDK-8308118: Avoid multiarray allocations in AESCrypt.makeSessionKey (P4) JDK-8178806: Better exception logging in crypto code (P4) JDK-8298249: Excessive memory allocation in CipherInputStream AEAD decryption (P4) JDK-8298865: Excessive memory allocation in CipherOutputStream AEAD decryption (P4) JDK-8168469: Memory leak in JceSecurity (P4) JDK-8301274: update for deprecated sprintf for security components security-libs/javax.crypto:pkcs11: (P2) JDK-8307185: pkcs11 native libraries make JNI calls into java code while holding GC lock (P2) JDK-8309569: sun/security/pkcs11/Signature/TestRSAKeyLength.java fails after JDK-8301553 (P3) JDK-8297885: misc sun/security/pkcs11 tests timed out (P3) JDK-8301154: SunPKCS11 KeyStore deleteEntry results in dangling PrivateKey entries (P4) JDK-8305336: java.security.debug=sunpkcs11 breaks PKCS#11 configuration with slotListIndex (P4) JDK-8295425: Match the default priv exp length between SunPKCS11 and other JDK providers (P4) JDK-8301553: Support Password-Based Cryptography in SunPKCS11 (P4) JDK-8309132: Update PKCS11 guide for the new PBE support (P5) JDK-8297505: Declare fields in some sun.security.pkcs11 classes as final security-libs/javax.net.ssl: (P1) JDK-8301189: validate-source fails after JDK-8298873 (P3) JDK-8249826: 5 javax/net/ssl/SSLEngine tests use @ignore w/o bug-id (P3) JDK-8298381: Improve handling of session tickets for multiple SSLContexts (P3) JDK-8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit (P3) JDK-8182621: JSSE should reject empty TLS plaintexts (P3) JDK-8297798: Timeout with DTLSOverDatagram test template (P4) JDK-8298867: Basics.java fails with SSL handshake exception (P4) JDK-8294983: SSLEngine throws ClassCastException during handshake (P4) JDK-8235297: sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java fails intermittent (P4) JDK-8298872: Update CheckStatus.java for changes to TLS implementation (P4) JDK-8298869: Update ConnectionTest.java for changes to TLS implementation (P4) JDK-8298868: Update EngineCloseOnAlert.java for changes to TLS implementation (P4) JDK-8298873: Update IllegalRecordVersion.java for changes to TLS implementation (P4) JDK-8306014: Update javax.net.ssl TLS tests to use SSLContextTemplate or SSLEngineTemplate (P4) JDK-8306015: Update sun.security.ssl TLS tests to use SSLContextTemplate or SSLEngineTemplate (P4) JDK-8298874: Update TestAllSuites.java for TLS v1.2 and 1.3 (P4) JDK-8301381: Verify DTLS 1.0 cannot be negotiated (P4) JDK-8301379: Verify TLS_ECDH_* cipher suites cannot be negotiated security-libs/javax.smartcardio: (P4) JDK-8304845: Update PCSC-Lite for Suse Linux to 1.9.9 and fix incomplete license wording security-libs/javax.xml.crypto: (P3) JDK-8301260: Add system property to toggle XML Signature secure validation mode (P3) JDK-8305972: Update XML Security for Java to 3.0.2 (P4) JDK-8307077: Convert CRLF to LF in java.xml.crypto security-libs/jdk.security: (P4) JDK-8303410: Remove ContentSigner APIs and jarsigner -altsigner and -altsignerpath options (P4) JDK-8306772: Remove sun.security.x509.CertException, sun.security.x509.CertParseError (P4) JDK-8303928: Update jarsigner man page after JDK-8303410 (P4) JDK-8301167: Update VerifySignedJar to actually exercise and test verification security-libs/org.ietf.jgss: (P3) JDK-8303809: Dispose context in SPNEGO NegotiatorImpl (P4) JDK-8303442: Clean up w2k_lsa_auth linker parameters (P4) JDK-8304264: Debug messages always show up for NativeGSS (P4) JDK-8301760: Fix possible leak in SpNegoContext dispose (P4) JDK-8304136: Match allocation and free in sspi.cpp specification: (P4) JDK-8311382: 7.3 Missing indentation in grammar for OrdinaryCompilationUnit specification/language: (P3) JDK-8273943: JEP 430: String Templates (Preview) (P3) JDK-8302326: JEP 445: Unnamed Classes and Instance Main Methods (Preview) (P4) JDK-8312082: 12.1.4: Typo in non-normative text explaining candidate main methods (P4) JDK-8306305: 4.5.1: Definition of "provably distinct" refers to the "upper bound" of a type variable (P4) JDK-8305701: 6.3.2: Incomplete specification of flow scoping (P4) JDK-8309372: 6.5.6.1: Specify resolution of enum names in switches (P4) JDK-8309105: 6.7: Clarify that an unnamed top-level class does not have a fully qualified or canonical name (P4) JDK-8288228: 8.1.4: Mention Record as a direct superclass type (P4) JDK-8298456: Incorrectly escaped html (P4) JDK-8300541: JEP 440: Record Patterns (P4) JDK-8300542: JEP 441: Pattern Matching for switch (P4) JDK-8294349: JEP 443: Unnamed Patterns and Variables (Preview) (P4) JDK-8300544: JLS Changes for Pattern Matching for switch (P4) JDK-8300546: JLS Changes for Record Patterns (P4) JDK-8285944: JLS Changes for String Templates (Preview) (P4) JDK-8308111: JLS changes for Unnamed Classes and Instance main Methods (Preview) (P4) JDK-8302345: JLS Changes for Unnamed patterns and variables (Preview) (P4) JDK-8309859: Make editorial changes to spec change document for JEPs 440&441 (P4) JDK-8311565: Remove spec change docs for JEPs 440 and 441 from the closed repo (P4) JDK-8310200: Update the index page for specs specification/vm: (P2) JDK-8300585: 4.10.1.9.putfield: verification rules allow early write to superclass field (P4) JDK-8296152: 4.1: Allow v65.0 class files for Java SE 21 (P4) JDK-8308113: JVMS Changes for Unnamed Classes and Instance main Methods (Preview) tools: (P4) JDK-8301207: (jdeps) Deprecate jdeps -profile option (P4) JDK-8308544: Fix compilation regression from JDK-8306983 on musl libc (P4) JDK-8250596: Update remaining manpage references from "OS X" to "macOS" tools/javac: (P1) JDK-8299045: tools/doclint/BadPackageCommentTest.java fails after JDK-8298943 (P2) JDK-8310907: Add missing file (P2) JDK-8304443: bootcycle builds fail after JDK-8015831 (P2) JDK-8312814: Compiler crash when template processor type is a captured wildcard (P2) JDK-8311038: Incorrect exhaustivity computation (P2) JDK-8309568: javac crashes attempting to -Xprint on a class file of an unnamed class (P2) JDK-8305688: jdk build --with-memory-size=1024 broken by JDK-8305100 (P2) JDK-8305672: Surprising definite assignment error after JDK-8043179 (P3) JDK-7016187: `javac -h` could generate conflict .h for inner class and class name with '_' (P3) JDK-8305225: A service broken error despite annotation processor generating it if directives listed (P3) JDK-8296010: AssertionError in annotationTargetType (P3) JDK-8301025: ClassCastException in switch with generic record (P3) JDK-8200610: Compiling fails with java.nio.file.ReadOnlyFileSystemException (P3) JDK-8312163: Crash in dominance check when compiling unnamed patterns (P3) JDK-8291154: Create a non static nested class without enclosing class throws VerifyError (P3) JDK-8311825: Duplicate qualified enum constants not detected (P3) JDK-8310133: Effectivelly final condition not enforced in guards for binding variables from the same case (P3) JDK-8302865: Illegal bytecode for break from if with instanceof pattern matching condition (P3) JDK-8285932: Implementation of JEP 430 String Templates (Preview) (P3) JDK-8306112: Implementation of JEP 445: Unnamed Classes and Instance Main Methods (Preview) (P3) JDK-8310861: Improve location reporting for javac serial lint warnings (P3) JDK-8307814: In the case of two methods with Record Patterns, the second one contains a line number from the first method (P3) JDK-8302202: Incorrect desugaring of null-allowed nested patterns (P3) JDK-8312093: Incorrect javadoc comment text (P3) JDK-8309336: Incorrect switch in enum not reported properly (P3) JDK-8296420: javac has long lines in its command-line help (P3) JDK-8304671: javac regression: Compilation with --release 8 fails on underscore in enum identifiers (P3) JDK-8305671: javac rejects semicolons in compilation units with no imports (P3) JDK-8219810: javac throws NullPointerException (P3) JDK-8302514: Misleading error generated when empty class file encountered (P3) JDK-8310314: Misplaced "unnamed classes are a preview feature and are disabled by default" error (P3) JDK-8310061: Note if implicit annotation processing is being used (P3) JDK-8301374: NullPointerException in MemberEnter.checkReceiver (P3) JDK-8309467: Pattern dominance should be adjusted (P3) JDK-8310128: Switch with unnamed patterns erroneously non-exhaustive (P3) JDK-8291966: SwitchBootstrap.typeSwitch could be faster (P3) JDK-8207017: Type annotations on anonymous classes in initializer blocks not written to class file (P3) JDK-8208470: Type annotations on inner type that is an array component (P4) JDK-7167356: (javac) investigate failing tests in JavacParserTest (P4) JDK-8305100: [REDO] Clean up JavadocTokenizer (P4) JDK-8308245: Add -proc:full to describe current default annotation processing policy (P4) JDK-8068925: Add @Override in javax.tools classes (P4) JDK-8305004: add @spec tags to langtools modules (P4) JDK-8015831: Add lint check for calling overridable methods from a constructor (P4) JDK-8296151: Add source 21 and target 21 to javac (P4) JDK-8304537: Ant-based langtools build fails after JDK-8015831 Add lint check for calling overridable methods from a constructor (P4) JDK-8309134: Augment test/langtools/tools/javac/versions/Versions.java for JDK 21 language changes (P4) JDK-8306860: Avoid unnecessary allocation in List.map() when list is empty (P4) JDK-8043251: Bogus javac error: required: no arguments, found: no arguments (P4) JDK-8295019: Cannot call a method with a parameter of a local class declared in a lambda (P4) JDK-8303526: Changing "arbitrary" Name.compareTo() ordering breaks the regression suite (P4) JDK-8303755: Clean up around JavacElements.getAllMembers (P4) JDK-8309594: Cleanup naming in JavacParser related to unnamed classes (P4) JDK-8180387: com.sun.source.util.JavacTask should have a protected constructor. (P4) JDK-8301455: comments in TestTypeAnnotations still refer to resolved JDK-8068737 (P4) JDK-8305582: Compiler crash when compiling record patterns with var (P4) JDK-8300543: Compiler Implementation for Pattern Matching for switch (P4) JDK-8300545: Compiler Implementation for Record Patterns (P4) JDK-8302344: Compiler Implementation for Unnamed patterns and variables (Preview) (P4) JDK-8308727: Compiler should accept final unnamed variables in try-with-resources (P4) JDK-8308309: Compiler should accept mixed masked and unmasked variables in lambda parameters (P4) JDK-8307482: Compiler should accept var _ in nested patterns in switch case (P4) JDK-8303623: Compiler should disallow non-standard UTF-8 string encodings (P4) JDK-8308312: Compiler should fail when a local variable declaration does not include an Identifier and does not have an initializer (P4) JDK-8221580: Confusing diagnostic for assigning a static final field in a constructor (P4) JDK-8305673: Convert DocCommentParser to use enhanced switch (P4) JDK-8293519: deprecation warnings should be emitted for uses of annotation methods inside other annotations (P4) JDK-8301580: Error recovery does not clear returnResult (P4) JDK-7176515: ExceptionInInitializerError for an enum with multiple switch statements (P4) JDK-8299760: ExceptionInInitializerError for an enum with multiple switch statements, follow-up (P4) JDK-8307123: Fix deprecation warnings in DPrinter (P4) JDK-8311034: Fix typo in javac man page (P4) JDK-8306952: improve generic signature of internal DCInlineTag class (P4) JDK-8307444: java.lang.AssertionError when using unnamed patterns (P4) JDK-8296656: java.lang.NoClassDefFoundError exception on running fully legitimate code (P4) JDK-8292275: javac does not emit SYNTHETIC and MANDATED flags for parameters by default (P4) JDK-8026369: javac potentially ambiguous overload warning needs an improved scheme (P4) JDK-8172106: javac throws exception when compiling source file of size 1.5G (P4) JDK-8296322: javac: use methods to manage parser mode flags (P4) JDK-8303539: javadoc typos in Attr (P4) JDK-8043179: Lambda expression can mutate final field (P4) JDK-8287885: Local classes cause ClassLoader error if the type names are similar but not same (P4) JDK-8307563: make most fields final in `JavacTrees` (P4) JDK-8298943: Missing escapes for single quote marks in compiler.properties (P4) JDK-8303881: Mixed, minor cleanup in jdk.compiler (P4) JDK-8303784: no-@Target annotations should be applicable to type parameter declarations (P4) JDK-8309054: Parsing of erroneous patterns succeeds (P4) JDK-8313291: Pattern matching in switch results in VerifyError after successful compilation (P4) JDK-7033677: potential cast error in MemberEnter (P4) JDK-8304883: Record Deconstruction causes bytecode error (P4) JDK-8303078: Reduce allocations when pretty printing JCTree during compilation (P4) JDK-8303882: Refactor some iterators in jdk.compiler (P4) JDK-8304420: Regression ~11% with Javac-Generates on all platforms in b14 (P4) JDK-8310067: Restore javac manpage updates (P4) JDK-8277501: Revisit PathFileObject.getCharContent and friends (P4) JDK-8304694: Runtime exception thrown when break stmt is missing (P4) JDK-8163229: several regression tests have a main method that is never executed (P4) JDK-8303820: Simplify type metadata (P4) JDK-8302685: Some javac unit tests aren't reliably closing open files (P4) JDK-8305504: stutter typo in java.compiler files (P4) JDK-8155259: Suspicious buffer allocation in com.sun.tools.javac.file.BaseFileManager (P4) JDK-8297158: Suspicious collection method call in Types.isSameTypeVisitor (P4) JDK-8184444: The compiler error "variable not initialized in the default constructor" is not apt in case of static final variables (P4) JDK-8144891: ToolBox should use java.nio.file.Path internally, instead of java.io.File (P4) JDK-8014021: TreeMaker.Params behaves inconsistently when the owning method has the same number of parameters as the number of parameter types requested (P4) JDK-8309093: Underscore with brackets (P4) JDK-8288619: Unexpected parsing for @see (P4) JDK-8307954: Update string template regression tests to be robust on release updates (P4) JDK-8304036: Use CommandLine class from shared module (P4) JDK-8309870: Using -proc:full should be considered requesting explicit annotation processing (P4) JDK-8301858: Verification error when compiling switch with record patterns (P4) JDK-6557145: Warn about calling abstract methods in constructors (P5) JDK-8029301: Confusing error message for array creation method reference (P5) JDK-8027682: javac wrongly accepts semicolons in package and import decls (P5) JDK-8064931: tools/javac/scope/DupUnsharedTest.java needs to be updated to add the bug id tools/javadoc(tool): (P1) JDK-8305098: [Backout] JDK-8303912 Clean up JavadocTokenizer (P3) JDK-8309534: @JEP(number=430, title="String Templates") should use default status (P3) JDK-8301201: Allow \n@ inside inline tags using inlineContent (P3) JDK-8300914: Allow `@` as an escape in documentation comments (P3) JDK-8309595: Allow javadoc to process unnamed classes (P3) JDK-8304878: ConcurrentModificationException in javadoc tool (P3) JDK-8305407: ExternalSpecsWriter should ignore white-space differences in spec titles (P3) JDK-8311264: JavaDoc index comparator is not transitive (P3) JDK-8299718: JavaDoc: Buttons to copy specific documentation URL are not accessible (P3) JDK-8309471: Limit key characters in static index pages (P3) JDK-8299896: Reduce enum values of HtmlLinkInfo.Kind (P3) JDK-8307377: Remove use of `tagName` from TagletWriterImpl.linkSeeReferenceOutput (P3) JDK-8309957: Rename JDK-8309595 test to conform (P3) JDK-8286470: Support searching for sections in class/package javadoc (P3) JDK-8312098: Update man page for javadoc (P4) JDK-8304689: Add hidden option to disable external spec page (P4) JDK-8303123: Add line break opportunity to single type parameters (P4) JDK-8301813: Bad caret position in error message (P4) JDK-8301810: Bug in doctree DocCommentTester.compress (P4) JDK-8304433: cleanup sentence breaker code in DocTreeMaker (P4) JDK-8305591: Cleanup use of `newline` flag in DocCommentParser (P4) JDK-8301618: Compare elements and type mirrors properly (P4) JDK-8292593: Document CSS themes for JavaDoc (P4) JDK-8303540: Eliminate unnecessary reference to javac internal class (P4) JDK-8292157: Incorrect error: "block element not allowed within inline element " (P4) JDK-8302324: Inheritance tree does not show correct type parameters/arguments (P4) JDK-8297437: javadoc cannot link to old docs (with old style anchors) (P4) JDK-8306058: Javadoc reports an error on sealed generic interfaces (P4) JDK-8305710: Line breaks in search tags cause invalid JSON in index file (P4) JDK-8301636: Minor cleanup in CommentHelper and DocPretty (P4) JDK-8305620: Missing `break` in DocCommentParser `inlineWord()` (P4) JDK-8306285: Missing file in search test (P4) JDK-8309150: Need to escape " inside attribute values (P4) JDK-8304146: Refactor VisibleMemberTable (LocalMemberTable) (P4) JDK-8300517: Refactor VisibleMemberTable (method members) (P4) JDK-8286311: remove boilerplate from use of runTests (P4) JDK-8306578: Report error if no label given in @see and {@link} when no default is available (P4) JDK-8307652: sealed class hierarchy graph doesn't distinguish non-sealed classes (P4) JDK-8300204: Sealed-class hierarchy graph missing nodes (P4) JDK-8303895: Simplify and clean up LinkFactory code (P4) JDK-8303349: Simplify link format for generic types in index pages (P4) JDK-8308015: Syntax of "import static" is incorrect in com.sun.source.tree.ImportTree.java (P4) JDK-8299224: TestReporterStreams.java has bad indentation for legal header (P4) JDK-8305094: typo (missing *) in doc comment (P4) JDK-8302161: Upgrade jQuery UI to version 1.13.2 (P4) JDK-8305958: Use links instead of buttons for auto-generated header links tools/jlink: (P2) JDK-8308347: [s390x] build broken after JDK-8304913 (P2) JDK-8308270: ARM32 build broken after JDK-8304913 (P2) JDK-8310105: LoongArch64 builds are broken after JDK-8304913 (P2) JDK-8310019: MIPS builds are broken after JDK-8304913 (P2) JDK-8308246: PPC64le build broken after JDK-8304913 (P2) JDK-8305990: Stripping debug info of ASM 9.5 fails (P3) JDK-8302337: JDK crashes if lib/modules contains non-zero byte containing ATTRIBUTE_END (P3) JDK-8304367: jlink --include-locales=* attempts to parse non .class resource files with classfile reader (P4) JDK-8293667: Align jlink's --compress option with jmod's --compress option (P4) JDK-8294972: Convert jdk.jlink internal plugins to use the Classfile API (P4) JDK-8304898: Fix Copyright Headers for JLink Source Files (P4) JDK-8294971: jdk.jlink jdk.tools.jimage.JImageTask is using ASM to verify classes (P4) JDK-8304691: Remove jlink --post-process-path option (P4) JDK-8306038: SystemModulesPlugin generates code that doesn't pop when return value not used (P4) JDK-8304913: Use OperatingSystem, Architecture, and Version in jlink (P4) JDK-8302325: Wrong comment in java.base/share/native/libjimage/imageFile.hpp (P5) JDK-8299835: (jrtfs) Unnecessary null check in JrtPath.getAttributes (P5) JDK-8303266: Prefer ArrayList to LinkedList in JImageTask tools/jpackage: (P3) JDK-8294806: jpackaged-app ignores splash screen from jar file (P4) JDK-8300111: Add rpath for common lib locations for jpackageapplauncher (P4) JDK-8303227: JniObjWithEnv should be NullablePointer compliant (P4) JDK-8298735: Some tools/jpackage/windows/* tests fails with jtreg test timeout (P4) JDK-8299779: Test tools/jpackage/share/jdk/jpackage/tests/MainClassTest.java timed out (P4) JDK-8298995: tools/jpackage/share/AddLauncherTest.java#id1 failed "AddLauncherTest.test; checks=53" (P4) JDK-8299278: tools/jpackage/share/AddLauncherTest.java#id1 failed AddLauncherTest.bug8230933 (P4) JDK-8304063: tools/jpackage/share/AppLauncherEnvTest.java fails when checking LD_LIBRARY_PATH (P4) JDK-8304914: Use OperatingSystem, Architecture, and Version in jpackage tools/jshell: (P3) JDK-8306983: Do not invoke external programs when switch terminal to raw mode on selected platforms (P3) JDK-8308943: jdk.internal.le build fails on AIX (P3) JDK-8304498: JShell does not switch to raw mode when there is no /bin/test (P3) JDK-8311647: Memory leak in Java_jdk_internal_org_jline_terminal_impl_jna_linux_CLibraryImpl_ttyname_1r (P3) JDK-8297587: Upgrade JLine to 3.22.0 (P4) JDK-8296789: -completion in jshell fails to expose synthetic bridge methods (P4) JDK-8305714: Add an extra test for JDK-8292755 (P4) JDK-8306560: Add TOOLING.jsh load file (P4) JDK-8294974: Convert jdk.jshell/jdk.jshell.execution.LocalExecutionControl to use the Classfile API to instrument classes (P4) JDK-8299829: In jshell, the output of "0".repeat(49999)+"2" ends with a '0' (P4) JDK-8302837: Kernel32.cpp array memory release invokes undefined behaviour (P4) JDK-8296454: System.console() shouldn't return null in jshell (P4) JDK-8309235: Unnamed Variables (_) can't be used in JShell (P4) JDK-8308988: Update JShell manpage to include TOOLING description tools/launcher: (P2) JDK-8308410: broken compilation of test\jdk\tools\launcher\exeJliLaunchTest.c (P3) JDK-8309670: java -help output for --module-path / -p is incomplete (P4) JDK-8308408: Build failure with -Werror=maybe-uninitialized in libjli/java.c with GCC8 (P4) JDK-8305950: Have -XshowSettings option display tzdata version (P4) JDK-8307163: JLONG_FORMAT_SPECIFIER should be updated on Windows (P4) JDK-8303669: SelectVersion indexes past the end of the argv array (P5) JDK-8302667: Improve message format when failing to load symbols or libraries xml/javax.xml.stream: (P4) JDK-8299502: Usage of constructors of primitive wrapper classes should be avoided in javax.xml API docs xml/javax.xml.validation: (P3) JDK-8298087: XML Schema Validation reports an required attribute twice via ErrorHandler xml/jaxp: (P3) JDK-8303530: Redefine JAXP Configuration File (P4) JDK-8301269: Update Commons BCEL to Version 6.7.0