During an application's training run, it's possible to inject classes into the
built-in platform/app class loaders with reflection calls.
- Before [JDK-8348426](https://bugs.openjdk.org/browse/JDK-8348426), only the
names of these classes were recorded in the AOT config file. When the AOT cache
> The synchronized scope was reduced from whole methods to sections that need
> hash map access control. The tier1 and jaxp tests are OK. The score of the
> specjvm2008:xml.transform improved a little bit. On the Xeon 8480+ reported
> scores are:
> original: 1vCPU - 148.4, 112vCPU - 12743.4, 224
The recent patch #23866 violated a long standing contract that calling
`ClassValue::remove()` from `ClassValue::computeValue()` should be no-op and
exit normally. This behavior caters to a very niche case (why do you remove if
you know you are currently computing this item?), but is tested and i
> The synchronized scope was reduced from whole methods to sections that need
> hash map access control. The tier1 and jaxp tests are OK. The score of the
> specjvm2008:xml.transform improved a little bit. On the Xeon 8480+ reported
> scores are:
> original: 1vCPU - 148.4, 112vCPU - 12743.4, 224
On Wed, 12 Mar 2025 06:50:08 GMT, Jaikiran Pai wrote:
>> Can I please get a review of this change which proposes to fix an issue
>> `java.util.zip.ZipFile` which would cause failures when multiple instances
>> of `ZipFile` using non-UTF8 `Charset` were operating against the same
>> underlying
On Thu, 13 Mar 2025 13:34:51 GMT, Dmitry Chuyko wrote:
> Please review a tiny fix in the ForkJoinPool. Since JDK 9 (JDK-8134852 [1])
> in one case when TC subfield in ctl field is decremented, the applied masking
> (UMASK, upper bits) may not preserve neighbor RC subfield sometimes. In JDKs
>
On Fri, 7 Mar 2025 23:17:53 GMT, Kim Barrett wrote:
> Please review this revision of a previously puzzling comment intending to
> provide the rationale for a bit of non-obvious code.
Changes requested by bchristi (Reviewer).
-
PR Review: https://git.openjdk.org/jdk/pull/23952#pullr
On Wed, 12 Mar 2025 19:57:23 GMT, Kim Barrett wrote:
>> src/java.base/share/classes/jdk/internal/ref/CleanerImpl.java line 142:
>>
>>> 140: // while there are registered cleanables for other
>>> objects.
>>> 141: // If the application cleans all remaining cleanab
Add public identifiers to the JDK built-in Catalog; Replace the incorrect
Schema 1.1 DTD files (note the Public Identifier at line 2) with the correct
Shema 1.0 DTDs.
-
Commit messages:
- 8351969: Add Public Identifiers to the JDK built-in Catalog
Changes: https://git.openjdk.org/
> Implement JEP 502.
>
> The PR passes tier1-tier3 tests.
Per Minborg has updated the pull request incrementally with one additional
commit since the last revision:
Clean up exception messages and fix comments
-
Changes:
- all: https://git.openjdk.org/jdk/pull/23972/files
-
On Mon, 3 Mar 2025 16:41:18 GMT, Hannes Wallnöfer wrote:
> Please review an enhancement to make `DocCommentParser` normalize whitespace
> inside `` elements. The normalization is conceptually simple and and
> intended to be minimally invasive. Before parsing, `DocCommentParser` checks
> whethe
On Wed, 5 Mar 2025 18:07:11 GMT, Jonathan Gibbons wrote:
>> Please review an enhancement to make `DocCommentParser` normalize whitespace
>> inside `` elements. The normalization is conceptually simple and and
>> intended to be minimally invasive. Before parsing, `DocCommentParser` checks
>> wh
> (Copied from https://bugs.openjdk.org/browse/JDK-8319447)
>
> The problems addressed by this CR/PR are that ScheduledThreadPoolExecutor is
> both ill-suited for many (if not most) of its applications, and is a
> performance bottleneck (as seen especially in Loom and CompletableFuture
> usages
On Thu, 13 Mar 2025 09:45:22 GMT, Per Minborg wrote:
>> src/java.base/share/classes/jdk/internal/lang/stable/StableValueImpl.java
>> line 128:
>>
>>> 126: final T newValue = supplier.get();
>>> 127: // The mutex is reentrant so we need to check if the value
>>> was actu
On Tue, 11 Mar 2025 07:48:40 GMT, Per Minborg wrote:
>> src/java.base/share/classes/java/util/ImmutableCollections.java line 772:
>>
>>> 770:
>>> 771: @jdk.internal.ValueBased
>>> 772: static final class StableList extends AbstractImmutableList {
>>
>> Is there significant reuse gained
On Fri, 7 Mar 2025 13:17:29 GMT, Emanuel Peter wrote:
>>> As for possible solutions. In all Regression 1-3 cases, it seems the issue
>>> is scalar cmove. So actually in all cases a possible solution is using
>>> branching code (i.e. `cmp+mov`). So to me, these are the follow-up RFE's:
>>>
>>>
On Thu, 13 Mar 2025 14:17:29 GMT, Alan Bateman wrote:
>> Doug Lea has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Use SharedSecrets for ThreadLocalRandomProbe; other tweaks
>
> src/java.base/share/classes/java/util/concurrent/atomic/Stri
On Tue, 9 Jul 2024 12:07:37 GMT, Galder Zamarreño wrote:
> This patch intrinsifies `Math.max(long, long)` and `Math.min(long, long)` in
> order to help improve vectorization performance.
>
> Currently vectorization does not kick in for loops containing either of these
> calls because of the fo
On Sat, 8 Mar 2025 00:28:15 GMT, Henry Jen wrote:
> JDK-8349989: jlink can use String.replace instead of String.replaceAll
This pull request has now been integrated.
Changeset: 0ff1c083
Author:Henry Jen
URL:
https://git.openjdk.org/jdk/commit/0ff1c0832e7d2ca70f344e933d86a5d16fdcabe0
On Thu, 13 Mar 2025 05:46:44 GMT, Quan Anh Mai wrote:
>> Hi,
>>
>> This patch improves the performance of a typical `Arena::allocate` in
>> several ways:
>>
>> - Delay the creation of the NativeMemorySegmentImpl. This avoids the merge
>> of the instance with the one obtained from the call in
On Thu, 13 Mar 2025 15:22:43 GMT, Per Minborg wrote:
>> Implement JEP 502.
>>
>> The PR passes tier1-tier3 tests.
>
> Per Minborg has updated the pull request with a new target base due to a
> merge or a rebase. The pull request now contains 246 commits:
>
> - Merge branch 'master' into imple
On Thu, 13 Mar 2025 15:22:43 GMT, Per Minborg wrote:
>> Implement JEP 502.
>>
>> The PR passes tier1-tier3 tests.
>
> Per Minborg has updated the pull request with a new target base due to a
> merge or a rebase. The pull request now contains 246 commits:
>
> - Merge branch 'master' into imple
On Thu, 13 Mar 2025 15:52:37 GMT, Maurizio Cimadamore
wrote:
>> Per Minborg has updated the pull request with a new target base due to a
>> merge or a rebase. The pull request now contains 246 commits:
>>
>> - Merge branch 'master' into implement-jep502
>> - Clean up exception messages and f
On Thu, 13 Mar 2025 15:48:25 GMT, Maurizio Cimadamore
wrote:
>> Per Minborg has updated the pull request with a new target base due to a
>> merge or a rebase. The pull request now contains 246 commits:
>>
>> - Merge branch 'master' into implement-jep502
>> - Clean up exception messages and f
On Thu, 13 Mar 2025 15:22:43 GMT, Per Minborg wrote:
>> Implement JEP 502.
>>
>> The PR passes tier1-tier3 tests.
>
> Per Minborg has updated the pull request with a new target base due to a
> merge or a rebase. The pull request now contains 246 commits:
>
> - Merge branch 'master' into imple
On Thu, 13 Mar 2025 15:22:43 GMT, Per Minborg wrote:
>> Implement JEP 502.
>>
>> The PR passes tier1-tier3 tests.
>
> Per Minborg has updated the pull request with a new target base due to a
> merge or a rebase. The pull request now contains 246 commits:
>
> - Merge branch 'master' into imple
> As we advance, converting older JDK code to use the relatively new FFM API
> requires system calls that can provide `errno` and the likes to explicitly
> allocate a `MemorySegment` to capture potential error states. This can lead
> to negative performance implications if not designed carefully
> Implement JEP 502.
>
> The PR passes tier1-tier3 tests.
Per Minborg has updated the pull request with a new target base due to a merge
or a rebase. The pull request now contains 246 commits:
- Merge branch 'master' into implement-jep502
- Clean up exception messages and fix comments
- Rena
Please review a tiny fix in the ForkJoinPool. Since JDK 9 (JDK-8134852 [1]) in
one case when TC subfield in ctl field is decremented, the applied masking
(UMASK, upper bits) may not preserve neighbor RC subfield sometimes. In JDKs
prior to 19 FJP may stop executing tasks, which requires a long r
On Thu, 13 Mar 2025 13:07:29 GMT, Thomas Schatzl wrote:
>> Hi all,
>>
>> please review this change that implements (currently Draft) JEP: G1:
>> Improve Application Throughput with a More Efficient Write-Barrier.
>>
>> The reason for posting this early is that this is a large change, and the
On Tue, 11 Mar 2025 20:29:20 GMT, Doug Lea wrote:
>> (Copied from https://bugs.openjdk.org/browse/JDK-8319447)
>>
>> The problems addressed by this CR/PR are that ScheduledThreadPoolExecutor is
>> both ill-suited for many (if not most) of its applications, and is a
>> performance bottleneck (a
On Tue, 11 Mar 2025 20:29:20 GMT, Doug Lea wrote:
>> (Copied from https://bugs.openjdk.org/browse/JDK-8319447)
>>
>> The problems addressed by this CR/PR are that ScheduledThreadPoolExecutor is
>> both ill-suited for many (if not most) of its applications, and is a
>> performance bottleneck (a
On Fri, 7 Mar 2025 06:19:03 GMT, Galder Zamarreño wrote:
>> This patch intrinsifies `Math.max(long, long)` and `Math.min(long, long)` in
>> order to help improve vectorization performance.
>>
>> Currently vectorization does not kick in for loops containing either of
>> these calls because of t
On Mon, 11 Nov 2024 09:51:35 GMT, Julian Waters wrote:
>> After 8339120, gcc began catching many different instances of unused code in
>> the Windows specific codebase. Some of these seem to be bugs. I've taken the
>> effort to mark out all the relevant globals and locals that trigger the
>> u
> Hi all,
>
> please review this change that implements (currently Draft) JEP: G1:
> Improve Application Throughput with a More Efficient Write-Barrier.
>
> The reason for posting this early is that this is a large change, and the JEP
> process is already taking very long with no end in sight
> Implement JEP 502.
>
> The PR passes tier1-tier3 tests.
Per Minborg has updated the pull request incrementally with one additional
commit since the last revision:
Rename field
-
Changes:
- all: https://git.openjdk.org/jdk/pull/23972/files
- new: https://git.openjdk.org/jdk
> Implement JEP 502.
>
> The PR passes tier1-tier3 tests.
Per Minborg has updated the pull request incrementally with one additional
commit since the last revision:
Rename method and fix comment
-
Changes:
- all: https://git.openjdk.org/jdk/pull/23972/files
- new: https://gi
> Implement JEP 502.
>
> The PR passes tier1-tier3 tests.
Per Minborg has updated the pull request incrementally with one additional
commit since the last revision:
Rework reenterant logic
-
Changes:
- all: https://git.openjdk.org/jdk/pull/23972/files
- new: https://git.open
Implement JEP 502.
The PR passes tier1-tier3 tests.
-
Commit messages:
- Use acquire semantics for reading rather than volatile semantics
- Add missing null check
- Simplify handling of sentinel, wrap, and unwrap
- Fix JavaDoc issues
- Fix members in StableEnumFunction
- Addres
On Thu, 13 Mar 2025 05:46:44 GMT, Quan Anh Mai wrote:
>> Hi,
>>
>> This patch improves the performance of a typical `Arena::allocate` in
>> several ways:
>>
>> - Delay the creation of the NativeMemorySegmentImpl. This avoids the merge
>> of the instance with the one obtained from the call in
On Mon, 10 Mar 2025 18:11:23 GMT, Per Minborg wrote:
> Implement JEP 502.
>
> The PR passes tier1-tier3 tests.
Here are the current benchmarks for Mac M1:
Benchmark Mode Cnt Score Error Units
StableFunctionBenchmark.function avgt 10 4.0
On Tue, 11 Mar 2025 18:08:47 GMT, Johannes Graham wrote:
>> This allows reuse of `AbstractImmutableList` with list iterators, sub lists
>> and more.
>
> Using the regular AbstractList as a base would also get you implementations
> of those.
`AbstractList` has non-final fields, which makes it n
On Mon, 10 Mar 2025 18:11:23 GMT, Per Minborg wrote:
> Implement JEP 502.
>
> The PR passes tier1-tier3 tests.
src/java.base/share/classes/java/util/ImmutableCollections.java line 772:
> 770:
> 771: @jdk.internal.ValueBased
> 772: static final class StableList extends AbstractImmutabl
On Tue, 11 Mar 2025 01:20:16 GMT, Johannes Graham wrote:
>> Implement JEP 502.
>>
>> The PR passes tier1-tier3 tests.
>
> src/java.base/share/classes/java/util/ImmutableCollections.java line 772:
>
>> 770:
>> 771: @jdk.internal.ValueBased
>> 772: static final class StableList extends A
On Wed, 12 Mar 2025 14:14:59 GMT, Per Minborg wrote:
>> You can probably use `acquire` only for the first `get` as it is in the fast
>> path. For other I guess `volatile` is fine.
>
> Yeah. Maybe that could strike a balance.
On an M1 Mac:
Volatile:
StableValueBenchmark.stableavgt 1
On Mon, 10 Mar 2025 18:11:23 GMT, Per Minborg wrote:
> Implement JEP 502.
>
> The PR passes tier1-tier3 tests.
src/jdk.unsupported/share/classes/sun/misc/Unsafe.java line 983:
> 981:
> 982: @ForceInline
> 983: private static void assertNotTrusted(Field f) {
I don't think this can be
On Tue, 11 Mar 2025 08:44:51 GMT, Per Minborg wrote:
>> What if instead you had a `@Stable` array of Object of the appropriate size,
>> and populated each cell with a StableValue if the corresponding index was in
>> the set, otherwise used a sentinel value. Then on the lookup, if it was the
>>
On Tue, 11 Mar 2025 13:22:20 GMT, Luca Kellermann wrote:
>> Implement JEP 502.
>>
>> The PR passes tier1-tier3 tests.
>
> src/java.base/share/classes/java/lang/StableValue.java line 344:
>
>> 342: * {@linkplain java.lang.ref##reachability reachable} stable values
>> will hold their set
>> 343
On Tue, 11 Mar 2025 00:40:31 GMT, Johannes Graham wrote:
>> Indeed, a bit set predicate can be used to check input validity if it is
>> necessary - I think for enums, using a `StableFunction.ofEnum` dedicated API
>> might be better just because `StableValue` can access
>> `Class.getEnumConstan
On Wed, 12 Mar 2025 13:28:12 GMT, Maurizio Cimadamore
wrote:
>> What would be the difference between `@Stable StableValueImpl[] backing`
>> and `@Stable Object[] backing`?
>
> It's true that the storage can be flatter here -- that said, this can also be
> done as a later refactoring. One advan
On Mon, 10 Mar 2025 23:42:06 GMT, Chen Liang wrote:
>> src/java.base/share/classes/jdk/internal/lang/stable/StableEnumFunction.java
>> line 112:
>>
>>> 110: final Class enumType =
>>> (Class)inputs.iterator().next().getClass();
>>> 111: return (Function) new StableEnumFunction(
On Wed, 12 Mar 2025 08:09:04 GMT, Per Minborg wrote:
>> If you have an `@Stable Object[]`, then the elements are also considered
>> `@Stable`. Then you can do something like:
>>
>> ReentrantLock[] locks;
>>
>> T get(int idx) {
>> Object x = backing[idx];
>> if (x == nul
On Tue, 11 Mar 2025 16:15:10 GMT, Quan Anh Mai wrote:
>> Can you please elaborate a bit more on your proposal @merykitty?
>
> If you have an `@Stable Object[]`, then the elements are also considered
> `@Stable`. Then you can do something like:
>
> ReentrantLock[] locks;
>
> T get(int i
On Tue, 11 Mar 2025 07:50:38 GMT, Quan Anh Mai wrote:
>> Implement JEP 502.
>>
>> The PR passes tier1-tier3 tests.
>
> src/java.base/share/classes/java/util/ImmutableCollections.java line 777:
>
>> 775: private final IntFunction mapper;
>> 776: @Stable
>> 777: private fi
On Mon, 10 Mar 2025 18:11:23 GMT, Per Minborg wrote:
> Implement JEP 502.
>
> The PR passes tier1-tier3 tests.
src/java.base/share/classes/java/util/ImmutableCollections.java line 777:
> 775: private final IntFunction mapper;
> 776: @Stable
> 777: private final StableVa
On Wed, 12 Mar 2025 08:16:50 GMT, Per Minborg wrote:
>> The nulling out is only safe if the write to the value is visible when a
>> nulled-out function is visible. I think SV can ensure this, but an
>> implementation can easily go wrong trying to do this. (Also `orElseSet` does
>> not NPE if t
On Mon, 10 Mar 2025 18:11:23 GMT, Per Minborg wrote:
> Implement JEP 502.
>
> The PR passes tier1-tier3 tests.
src/java.base/share/classes/java/lang/StableValue.java line 79:
> 77: *logger.trySet(Logger.create(Component.class));
> 78: *}
> 79: * return logger.orT
On Mon, 10 Mar 2025 19:45:53 GMT, Chen Liang wrote:
>> Implement JEP 502.
>>
>> The PR passes tier1-tier3 tests.
>
> src/hotspot/share/ci/ciField.cpp line 255:
>
>> 253: static bool trust_final_non_static_fields_of_type(Symbol* signature) {
>> 254: return signature == vmSymbols::java_lang_Sta
On Mon, 10 Mar 2025 18:11:23 GMT, Per Minborg wrote:
> Implement JEP 502.
>
> The PR passes tier1-tier3 tests.
FYI we don't usually drop the benchmark scores in the PR description; we
usually leave them in comments to indicate which revision the bench results
apply to.
src/hotspot/share/ci/c
On Wed, 12 Mar 2025 18:22:57 GMT, Eirik Bjørsnøs wrote:
>>> This seems mostly used to determine which ZipCoder to pick. Could we fold
>>> this into the method, calling it zipCoderForPos and make it just return the
>>> ZipCoder, like we had in Source?
>>
>> I intentionally removed the `zipCoder
On Thu, 13 Mar 2025 01:21:54 GMT, Archie Cobbs wrote:
> This PR fixes minor Javadoc typos in a few `java.base` classes. Extra curly
> braces have been sneaking in.
LGTM
-
PR Review: https://git.openjdk.org/jdk/pull/24022#pullrequestreview-2681298904
On Wed, 12 Mar 2025 11:15:29 GMT, Maurizio Cimadamore
wrote:
>> Quan Anh Mai has updated the pull request with a new target base due to a
>> merge or a rebase. The incremental webrev excludes the unrelated changes
>> brought in by the merge/rebase. The pull request contains nine additional
>>
62 matches
Mail list logo