> Extracting duplicate method references to static field reduce proxy class
> spinning and loading. In this case 2 less classes loaded when using
> `findAny()` on each type of stream.
Claes Redestad has updated the pull request incrementally with one additional
commit since the last
> Extracting duplicate method references to static field reduce proxy class
> spinning and loading. In this case 2 less classes loaded when using
> `findAny()` on each type of stream.
Claes Redestad has updated the pull request incrementally with one additional
commit since the last
Simple refactoring to extract identical, simple lambda expressions. Improve
code clarity and reduce classes generated.
-
Commit messages:
- Simplify
- Refactor ProxyMethod list creation
Changes: https://git.openjdk.org/jdk/pull/19760/files
Webrev: https://webrevs.openjdk.org/?re
On Sat, 15 Jun 2024 13:27:41 GMT, Shaojin Wen wrote:
>> The current versions of FloatToDecimal and DoubleToDecimal allocate
>> additional objects. Reducing these allocations can improve the performance
>> of Float/Double.toString and AbstractStringBuilder's append(float/double).
>>
>> This pat
On Thu, 13 Jun 2024 02:06:42 GMT, Shaojin Wen wrote:
>> After PR https://github.com/openjdk/jdk/pull/16245, C2 optimizes stores into
>> primitive arrays by combining values into larger stores.
>>
>> This PR rewrites the code of appendNull and append(boolean) methods so that
>> these two meth
On Thu, 6 Jun 2024 11:41:05 GMT, Chen Liang wrote:
>> Adam Sotona has updated the pull request incrementally with two additional
>> commits since the last revision:
>>
>> - reverted static initialization of ConstantPoolBuilder and CP entries
>> - fixed naming conventions
>
> src/java.base/sha
On Wed, 12 Jun 2024 22:00:45 GMT, Chen Liang wrote:
>> Please review this patch that fixes a critical issue that breaks some Proxy
>> usages.
>>
>> Since the problematic patch from before cannot be backed out, this patch
>> aims to emulate the old behavior before. A diff between before the
>>
On Mon, 10 Jun 2024 04:08:41 GMT, Chen Liang wrote:
>> Please review this patch that fixes a critical issue that breaks some Proxy
>> usages.
>>
>> CONSTANT_Class and CONSTANT_MethodType must fail resolution for inaccessible
>> package-private types per JVMS 5.4.3.1 and 5.4.3.5, yet such types
On Wed, 12 Jun 2024 13:38:21 GMT, Shaojin Wen wrote:
> In the AbstractStringBuilder#appendNull method, is it possible to not check
> the bounds based on the information from ensureCapacityInternal?
Perhaps you'd need something like a `Preconditions.checkIndex` in or before the
4-char `StringUT
On Tue, 11 Jun 2024 11:35:28 GMT, Shaojin Wen wrote:
>> After PR https://github.com/openjdk/jdk/pull/16245, C2 optimizes stores into
>> primitive arrays by combining values into larger stores.
>>
>> This PR rewrites the code of appendNull and append(boolean) methods so that
>> these two meth
On Tue, 11 Jun 2024 11:35:28 GMT, Shaojin Wen wrote:
>> After PR https://github.com/openjdk/jdk/pull/16245, C2 optimizes stores into
>> primitive arrays by combining values into larger stores.
>>
>> This PR rewrites the code of appendNull and append(boolean) methods so that
>> these two meth
On Tue, 11 Jun 2024 11:35:28 GMT, Shaojin Wen wrote:
>> After PR https://github.com/openjdk/jdk/pull/16245, C2 optimizes stores into
>> primitive arrays by combining values into larger stores.
>>
>> This PR rewrites the code of appendNull and append(boolean) methods so that
>> these two meth
On Tue, 11 Jun 2024 11:35:28 GMT, Shaojin Wen wrote:
>> After PR https://github.com/openjdk/jdk/pull/16245, C2 optimizes stores into
>> primitive arrays by combining values into larger stores.
>>
>> This PR rewrites the code of appendNull and append(boolean) methods so that
>> these two meth
On Mon, 10 Jun 2024 12:12:58 GMT, Shaojin Wen wrote:
> After PR https://github.com/openjdk/jdk/pull/16245, C2 optimizes stores into
> primitive arrays by combining values into larger stores.
>
> This PR rewrites the code of appendNull and append(boolean) methods so that
> these two methods c
On Mon, 10 Jun 2024 04:08:41 GMT, Chen Liang wrote:
>> Please review this patch that fixes a critical issue that breaks some Proxy
>> usages.
>>
>> CONSTANT_Class and CONSTANT_MethodType must fail resolution for inaccessible
>> package-private types per JVMS 5.4.3.1 and 5.4.3.5, yet such types
On Mon, 10 Jun 2024 04:08:41 GMT, Chen Liang wrote:
>> Please review this patch that fixes a critical issue that breaks some Proxy
>> usages.
>>
>> CONSTANT_Class and CONSTANT_MethodType must fail resolution for inaccessible
>> package-private types per JVMS 5.4.3.1 and 5.4.3.5, yet such types
On Fri, 7 Jun 2024 18:58:36 GMT, Claes Redestad wrote:
>> This PR refactors type matching in BootstrapMethodInvoker and adds a few
>> types, seeking to improve bootstrap overheads of some ConstantBootstraps and
>> in particular the ProxyGenerator condys generated f
e ErrorTest Error Unit
> Change
> ProxyGenBench.generateAndProxy100 10 26,827 ± 8,954 26,855 ± 7,531 ms/op
> 1,00x (p = 0,991 )
> * = significant
Claes Redestad has updated the pull request incrementally with one additional
commit since the last revision:
Copy-past
On Mon, 10 Jun 2024 08:30:59 GMT, Claes Redestad wrote:
> Trivially removing the a leftover, unused `ClassValue` from
> `java.lang.invoke.VarHandle`
This pull request has now been integrated.
Changeset: 7b43a8cd
Author: Claes Redestad
URL:
https://git.openjdk.org/jdk/
On Mon, 10 Jun 2024 08:57:23 GMT, Maurizio Cimadamore
wrote:
> Good catch!
Thanks!
-
PR Comment: https://git.openjdk.org/jdk/pull/19620#issuecomment-2157910277
Trivially removing the a leftover, unused `ClassValue` from
`java.lang.invoke.VarHandle`
-
Commit messages:
- 8333824: Unused ClassValue in VarHandles
Changes: https://git.openjdk.org/jdk/pull/19620/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19620&range=00
Issue: ht
ter.
>
> Shaojin Wen has updated the pull request incrementally with one additional
> commit since the last revision:
>
> Update src/java.base/share/classes/jdk/internal/util/HexDigits.java
>
> Co-authored-by: Claes Redestad
Great, go ahead and /integrate again and I&
On Fri, 7 Jun 2024 18:58:36 GMT, Claes Redestad wrote:
>> This PR refactors type matching in BootstrapMethodInvoker and adds a few
>> types, seeking to improve bootstrap overheads of some ConstantBootstraps and
>> in particular the ProxyGenerator condys generated f
ter.
>
> Shaojin Wen has updated the pull request incrementally with one additional
> commit since the last revision:
>
> Update src/java.base/share/classes/jdk/internal/util/HexDigits.java
>
> Co-authored-by: Claes Redestad
Thanks. I hate to nitpick, but is it
On Sun, 9 Jun 2024 22:45:26 GMT, Shaojin Wen wrote:
>> After PR #16245, C2 optimizes stores into primitive arrays by combining
>> values into larger stores. In the UUID.toString method,
>> ByteArrayLittleEndian can be removed, making the code more elegant and
>> faster.
>
> Shaojin Wen has u
On Sun, 9 Jun 2024 07:22:39 GMT, Shaojin Wen wrote:
>> After PR #16245, C2 optimizes stores into primitive arrays by combining
>> values into larger stores. In the UUID.toString method,
>> ByteArrayLittleEndian can be removed, making the code more elegant and
>> faster.
>
> Shaojin Wen has u
On Fri, 7 Jun 2024 19:22:43 GMT, Chen Liang wrote:
>> It's not the intent of this PR to exhaustively enumerate all methods in
>> `ConstantBootstraps`, primarily those shown to be bootstrap sensitive in
>> some app. I've so far never seen a use of `primitiveClass` (and I admit
>> being ignorant
On Fri, 7 Jun 2024 13:46:22 GMT, Jorn Vernee wrote:
> As an aside: I suppose we pre-generate all the linkers that get spun up for
> these `invokeExact`calls already. But, we might still get a little bit of
> mileage out of switching to `invokeBasic`, which bypasses the linkers
> altogether. Wi
e ErrorTest Error Unit
> Change
> ProxyGenBench.generateAndProxy100 10 26,827 ± 8,954 26,855 ± 7,531 ms/op
> 1,00x (p = 0,991 )
> * = significant
Claes Redestad has updated the pull request incrementally with one additional
commit since the last revi
On Fri, 7 Jun 2024 18:38:52 GMT, ExE Boss wrote:
>> src/java.base/share/classes/java/lang/invoke/BootstrapMethodInvoker.java
>> line 289:
>>
>>> 287: * bootstrap method.
>>> 288: */
>>> 289: private static final MethodType CONDY_GET_STATIC_FINAL_MT =
>>> MethodType.methodType(Obj
On Fri, 7 Jun 2024 13:08:24 GMT, Claes Redestad wrote:
>> Trivially move a few private static finals to their respective source type
>> to avoid eagerly loading a few small classes.
>
> Claes Redestad has updated the pull request incrementally with one additional
>
On Fri, 7 Jun 2024 08:21:58 GMT, Claes Redestad wrote:
> Trivially move a few private static finals to their respective source type to
> avoid eagerly loading a few small classes.
This pull request has now been integrated.
Changeset: d744059b
Author: Claes Redestad
URL:
On Fri, 7 Jun 2024 13:56:24 GMT, Chen Liang wrote:
>> In java.base, especially in bytecode generators, we have many different
>> methods converting known valid Class and MethodType into ClassDesc and
>> MethodTypeDesc. These conversions should be consolidated into the same
>> utility method fo
> Trivially move a few private static finals to their respective source type to
> avoid eagerly loading a few small classes.
Claes Redestad has updated the pull request incrementally with one additional
commit since the last revision:
Update src/java.base/share/classes/jav
> Trivially move a few private static finals to their respective source type to
> avoid eagerly loading a few small classes.
Claes Redestad has updated the pull request incrementally with two additional
commits since the last revision:
- revert typo
- Copyright
-
C
This PR refactors type matching in BootstrapMethodInvoker and adds a few types,
seeking to improve bootstrap overheads of some ConstantBootstraps and in
particular the ProxyGenerator condys generated for e.g. annotation proxies
since [JDK-8332457](https://bugs.openjdk.org/browse/JDK-8332457)
I'
On Wed, 5 Jun 2024 13:45:46 GMT, Per Minborg wrote:
>> As a note, If we would have access to the contemplated `StableValue` and
>> `hash` was declared even as an _instance variable_ `StableValue` in
>> a regular class, then it would be trusted and would be eligible for constant
>> folding due
On Wed, 5 Jun 2024 12:39:13 GMT, Chen Liang wrote:
>> Adam Sotona has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> An assortment of potential improvements
>>
>> Co-authored-by: Claes Redestad
Trivially move a few private static finals to their respective source type to
avoid eagerly loading a few small classes.
-
Commit messages:
- 8333774: Avoid eagerly loading various EmptySpliterator classes
Changes: https://git.openjdk.org/jdk/pull/19591/files
Webrev: https://webr
On Thu, 6 Jun 2024 19:12:35 GMT, Chen Liang wrote:
>> src/java.base/share/classes/java/lang/runtime/SwitchBootstraps.java line 469:
>>
>>> 467: // o instanceof Wrapped(float)
>>> 468: cb.aload(SELECTOR_OBJ);
>>> 469:
On Thu, 6 Jun 2024 18:35:01 GMT, Chen Liang wrote:
> In java.base, especially in bytecode generators, we have many different
> methods converting known valid Class and MethodType into ClassDesc and
> MethodTypeDesc. These conversions should be consolidated into the same
> utility method for th
t; commit since the last revision:
>
> An assortment of potential improvements
>
> Co-authored-by: Claes Redestad
Looks good. Generation of proxy classes gets a nice boost this way. The condy
bsm calls that may happen later takes a small hit which we can improve in a
fol
On Mon, 3 Jun 2024 11:09:31 GMT, Adam Sotona wrote:
>> [JDK-8294961](https://bugs.openjdk.org/browse/JDK-8294961) changed to use
>> classfile API for reflection proxy-generation. Actual implementation of
>> `ProxyGenerator` is focused on performance, however it causes JDK bootstrap
>> regressi
On Mon, 3 Jun 2024 10:11:34 GMT, Adam Sotona wrote:
>> [JDK-8294961](https://bugs.openjdk.org/browse/JDK-8294961) changed to use
>> classfile API for reflection proxy-generation. Actual implementation of
>> `ProxyGenerator` is focused on performance, however it causes JDK bootstrap
>> regressi
On Thu, 30 May 2024 12:50:36 GMT, Claes Redestad wrote:
> Extracting duplicate method references to static field reduce proxy class
> spinning and loading. In this case 2 less classes loaded when using
> `findAny()` on each type of stream.
Vicente filed a bug on javac to investi
On Thu, 30 May 2024 13:04:46 GMT, Chen Liang wrote:
> Should we extract them to private static utility methods for potential
> laziness support in the future?
Ideally we shouldn't have to do any of this. I thought such method references
were already de-duplicated in javac - at least within the
Extracting duplicate method references to static field reduce proxy class
spinning and loading. In this case 2 less classes loaded when using `findAny()`
on each type of stream.
-
Commit messages:
- De-duplicate identical lambdas in FindOps
Changes: https://git.openjdk.org/jdk/pul
On Thu, 30 May 2024 10:02:25 GMT, Alan Bateman wrote:
> Would it be possible to provide more context/background here? This is not
> code that is used during startup. Is there benchmark data to share for first
> use of java.io.IO ?
I think this was brought to the fore by https://openjdk.org/jep
On Wed, 29 May 2024 09:18:51 GMT, Pavel Rappo wrote:
>> The non-constant test was added because that very bailout caused a crash.
>> The other test is actually less interesting since it'll likely be covered
>> indirectly by regular use. But as we are hiding these away this gets ever
>> more ob
On Wed, 29 May 2024 22:25:09 GMT, Naoto Sato wrote:
>> Yes, `break` guarantees that the search completes one way or another once
>> the module name has been matched. This is not how it used to be done.
>
> Right. Since `findAny` is after the module name matching, there is at most 1
> match. In
On Wed, 29 May 2024 19:51:36 GMT, Naoto Sato wrote:
> There is an initialization code in `Console` class that searches for the
> Console implementations. Refactoring the init code not to use lambda/stream
> would reduce the (initial) number of loaded classes by about 100 for
> java.base implem
On Wed, 29 May 2024 07:17:38 GMT, Adam Sotona wrote:
>> [JDK-8294961](https://bugs.openjdk.org/browse/JDK-8294961) changed to use
>> classfile API for reflection proxy-generation. Actual implementation of
>> `ProxyGenerator` is focused on performance, however it causes JDK bootstrap
>> regress
On Mon, 27 May 2024 20:55:29 GMT, Pavel Rappo wrote:
>> Please review this PR, which supersedes a now withdrawn
>> https://github.com/openjdk/jdk/pull/14831.
>>
>> This PR replaces `ArraysSupport.vectorizedHashCode` with a set of more
>> user-friendly methods. Here's a summary:
>>
>> - Made t
On Wed, 29 May 2024 03:16:02 GMT, Chen Liang wrote:
>> In fact, if I change it to `2`, the following tests will fail:
>>
>> - `jdk/jdk/classfile/Utf8EntryTest.java`
>> - `jdk/java/util/zip/ZipCoding.java`
>> - `jdk/java/text/Format/MessageFormat/MessageRegression.java`
>
> Indeed, the actu
On Tue, 28 May 2024 19:13:30 GMT, Jorn Vernee wrote:
>> Pavel Rappo has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Fix incorrect utf16 hashCode adaptation
>
> src/java.base/share/classes/jdk/internal/util/ArraysSupport.java line 275:
>
On Tue, 28 May 2024 19:19:51 GMT, Jorn Vernee wrote:
>> Pavel Rappo has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Fix incorrect utf16 hashCode adaptation
>
> test/hotspot/jtreg/compiler/intrinsics/TestArraysHashCode.java line 88:
>
>>
On Fri, 24 May 2024 08:24:15 GMT, Adam Sotona wrote:
>> Hi,
>> During performance optimization work on Class-File API as JDK lambda
>> generator we found some static initialization killers.
>> One of them is `java.lang.classfile.Attributes` with tens of static fields
>> initialized with individ
On Mon, 20 May 2024 10:52:27 GMT, Claes Redestad wrote:
> We can fold the call to `Objects.checkIndex` into the code generated in
> generateTypeSwitchSkeleton instead of doing so by filtering the MH argument.
> This loads 9 less classes (of which 8 generated LFs and Species clas
On Thu, 23 May 2024 11:09:14 GMT, Claes Redestad wrote:
>> We can fold the call to `Objects.checkIndex` into the code generated in
>> generateTypeSwitchSkeleton instead of doing so by filtering the MH argument.
>> This loads 9 less classes (of which 8 generated LFs and S
On Thu, 23 May 2024 09:46:51 GMT, Jan Lahoda wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Add type switch to HelloClasslist
>
> src/java.base/share/classes/java/lang/runtime
used `findStatic`
> calls to a holder. All in all this means a reduction by 22M cycles to
> bootstrap a trivial switch expression on my M1.
Claes Redestad has updated the pull request incrementally with one additional
commit since the last revision:
Remove unused im
On Wed, 22 May 2024 07:49:27 GMT, Jaikiran Pai wrote:
>> Can I please get a review of this test-only change for addressing
>> https://bugs.openjdk.org/browse/JDK-8332490?
>>
>> The jmh test opens a `InflaterInputStream`, reads the stream contents, but
>> then doesn't close the stream. This can
On Wed, 22 May 2024 07:20:04 GMT, Alan Bateman wrote:
>> Can I please get a review of this test-only change for addressing
>> https://bugs.openjdk.org/browse/JDK-8332490?
>>
>> The jmh test opens a `InflaterInputStream`, reads the stream contents, but
>> then doesn't close the stream. This can
On Wed, 22 May 2024 05:16:42 GMT, Jaikiran Pai wrote:
> Can I please get a review of this test-only change for addressing
> https://bugs.openjdk.org/browse/JDK-8332490?
>
> The jmh test opens a `InflaterInputStream`, reads the stream contents, but
> then doesn't close the stream. This can lead
On Tue, 21 May 2024 09:01:32 GMT, Claes Redestad wrote:
>> We can fold the call to `Objects.checkIndex` into the code generated in
>> generateTypeSwitchSkeleton instead of doing so by filtering the MH argument.
>> This loads 9 less classes (of which 8 generated LFs and S
On Tue, 21 May 2024 09:01:32 GMT, Claes Redestad wrote:
>> We can fold the call to `Objects.checkIndex` into the code generated in
>> generateTypeSwitchSkeleton instead of doing so by filtering the MH argument.
>> This loads 9 less classes (of which 8 generated LFs and S
used `findStatic`
> calls to a holder. All in all this means a reduction by 22M cycles to
> bootstrap a trivial switch expression on my M1.
Claes Redestad has updated the pull request incrementally with one additional
commit since the last revision:
Add type switch to HelloClas
used `findStatic`
> calls to a holder. All in all this means a reduction by 22M cycles to
> bootstrap a trivial switch expression on my M1.
Claes Redestad has updated the pull request incrementally with one additional
commit since the last revision:
Revert bf68b1d, tidy up
---
On Tue, 21 May 2024 00:16:51 GMT, Chen Liang wrote:
>> We can fold the call to `Objects.checkIndex` into the code generated in
>> generateTypeSwitchSkeleton instead of doing so by filtering the MH argument.
>> This loads 9 less classes (of which 8 generated LFs and Species classes) on
>> a min
On Mon, 20 May 2024 18:06:32 GMT, Chen Liang wrote:
>> We can fold the call to `Objects.checkIndex` into the code generated in
>> generateTypeSwitchSkeleton instead of doing so by filtering the MH argument.
>> This loads 9 less classes (of which 8 generated LFs and Species classes) on
>> a min
On Mon, 20 May 2024 10:52:27 GMT, Claes Redestad wrote:
> We can fold the call to `Objects.checkIndex` into the code generated in
> generateTypeSwitchSkeleton instead of doing so by filtering the MH argument.
> This loads 9 less classes (of which 8 generated LFs and Species clas
We can fold the call to `Objects.checkIndex` into the code generated in
generateTypeSwitchSkeleton instead of doing so by filtering the MH argument.
This loads 9 less classes (of which 8 generated LFs and Species classes) on a
minimal test, while being neutral on a throughput sanity test:
Name
On Mon, 6 May 2024 14:39:08 GMT, Claes Redestad wrote:
> This PR suggests refactoring the implementation classes of java.lang.constant
> into a new package jdk.internal.constant to enable sharing some trusted
> static factory methods with users elsewhere in java.base
On Wed, 15 May 2024 11:17:42 GMT, Claes Redestad wrote:
>> This PR suggests refactoring the implementation classes of
>> java.lang.constant into a new package jdk.internal.constant to enable
>> sharing some trusted static factory methods with users elsewhere in
>
On Wed, 15 May 2024 11:17:42 GMT, Claes Redestad wrote:
>> This PR suggests refactoring the implementation classes of
>> java.lang.constant into a new package jdk.internal.constant to enable
>> sharing some trusted static factory methods with users elsewhere in
>
Change
> ClassDescFactories.ReferenceOnly.ofNested 6 209,853 ± 132,525 22,017 ±
> 0,573 ns/op 9,53x (p = 0,000*)
> * = significant
>
>
> The optimizations could be split out and PRd independently, but I think they
> are simple enough to include in this refactoring.
Claes Redest
Change
> ClassDescFactories.ReferenceOnly.ofNested 6 209,853 ± 132,525 22,017 ±
> 0,573 ns/op 9,53x (p = 0,000*)
> * = significant
>
>
> The optimizations could be split out and PRd independently, but I think they
> are simple enough to include in this refactoring.
Claes Redesta
On Wed, 15 May 2024 09:51:13 GMT, Adam Sotona wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Use sb.repeat, consolidate
>
> src/java.base/share/classes/java/lang/constant/Clas
Change
> ClassDescFactories.ReferenceOnly.ofNested 6 209,853 ± 132,525 22,017 ±
> 0,573 ns/op 9,53x (p = 0,000*)
> * = significant
>
>
> The optimizations could be split out and PRd independently, but I think they
> are simple enough to include in this refactoring.
Claes Rede
Change
> ClassDescFactories.ReferenceOnly.ofNested 6 209,853 ± 132,525 22,017 ±
> 0,573 ns/op 9,53x (p = 0,000*)
> * = significant
>
>
> The optimizations could be split out and PRd independently, but I think they
> are simple enough to include in this refactoring.
Cl
On Tue, 14 May 2024 20:20:59 GMT, Chen Liang wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Add microbenchmark for ClassDesc methods + a few optimizations
>
> src/java.base/sh
On Tue, 14 May 2024 17:25:37 GMT, Claes Redestad wrote:
>> This PR suggests refactoring the implementation classes of
>> java.lang.constant into a new package jdk.internal.constant to enable
>> sharing some trusted static factory methods with users elsewhere in
>
Change
> ClassDescFactories.ReferenceOnly.ofNested 6 209,853 ± 132,525 22,017 ±
> 0,573 ns/op 9,53x (p = 0,000*)
> * = significant
>
>
> The optimizations could be split out and PRd independently, but I think they
> are simple enough to include in this refactoring.
Claes Re
Change
> ClassDescFactories.ReferenceOnly.ofNested 6 209,853 ± 132,525 22,017 ±
> 0,573 ns/op 9,53x (p = 0,000*)
> * = significant
>
>
> The optimizations could be split out and PRd independently, but I think they
> are simple enough to include in this refactoring.
Claes
On Fri, 10 May 2024 08:50:07 GMT, Claes Redestad wrote:
>> This PR suggests refactoring the implementation classes of
>> java.lang.constant into a new package jdk.internal.constant to enable
>> sharing some trusted static factory methods with users elsewhere in
>
On Mon, 6 May 2024 18:24:25 GMT, Adam Sotona wrote:
>> Hi,
>> During performance optimization work on Class-File API as JDK lambda
>> generator we found some static initialization killers.
>> One of them is `java.lang.classfile.Attributes` with tens of static fields
>> initialized with individu
On Fri, 10 May 2024 04:55:21 GMT, Chen Liang wrote:
>> GenerateJLIClassesHelper has been making wrong assumptions about Invoker's
>> LambdaForm method type parameters. Since they are distinct from those of
>> Linkers, they are now tracked and generated separately. It seems that no
>> proper in
Change
> ClassDescFactories.ReferenceOnly.ofNested 6 209,853 ± 132,525 22,017 ±
> 0,573 ns/op 9,53x (p = 0,000*)
> * = significant
>
>
> The optimizations could be split out and PRd independently, but I think they
> are simple enough to include in this refactoring.
Claes Redes
On Thu, 9 May 2024 13:34:16 GMT, Claes Redestad wrote:
>> A rather large startup regression was introduced in 23-b13 from
>> [JDK-8309622](https://bugs.openjdk.org/browse/JDK-8309622). Some of that has
>> been dealt with as enhancements such as
>> [JDK-8330802](https:/
On Wed, 8 May 2024 14:53:05 GMT, Claes Redestad wrote:
> A rather large startup regression was introduced in 23-b13 from
> [JDK-8309622](https://bugs.openjdk.org/browse/JDK-8309622). Some of that has
> been dealt with as enhancements such as
> [JDK-8330802](https://bugs.openjdk.or
On Thu, 9 May 2024 21:15:31 GMT, Chen Liang wrote:
>> A peek into TypeKind during the research for #19105 reveals that TypeKind
>> has a few issues:
>> 1. Name mismatch for `newarraycode` and `fromNewArrayCode`: Renamed both to
>> use "newarray code"
>> 2. `fromDescriptor` can throw IOOBE if th
On Thu, 9 May 2024 12:29:40 GMT, Adam Sotona wrote:
>> I actually am not sure of the reason; it is indeed a tableswitch in
>> bytecode. @cl4es might know it better?
>
> Generally I agree with the API changes and with the
> `descriptor.isPrimitive()` test before requesting a descriptor string.
>
is particular case
> since the amount of added bootstrapping overhead is dependent on which locale
> the system runs under, which complicates testing and comparisons due to
> relatively large differences in paths taken on different systems.
Claes Redestad has updated the pull request
On Wed, 8 May 2024 18:32:42 GMT, Chen Liang wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Remove redundant constructor
>
> src/java.base/share/classes/jdk/internal/util/Reference
On Wed, 8 May 2024 20:24:52 GMT, Chen Liang wrote:
> This patch allows us to merge parsing logic for invoke, constant, and
> classfile in the future, all in jdk.internal.
Thanks for reviewing! Yes, that's the idea.
-
PR Comment: https://git.openjdk.org/jdk/pull/19105#issuecomment-
On Wed, 8 May 2024 19:06:35 GMT, ExE Boss wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Refactor to further avoid re-validating arguments
>
> src/java.base/share
Change
> ClassDescFactories.ReferenceOnly.ofNested 6 209,853 ± 132,525 22,017 ±
> 0,573 ns/op 9,53x (p = 0,000*)
> * = significant
>
>
> The optimizations could be split out and PRd independently, but I think they
> are simple enough to include in this refactoring.
Claes Redestad
On Wed, 8 May 2024 17:57:22 GMT, Naoto Sato wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Remove redundant constructor
>
> src/java.base/share/classes/sun/util/locale/Bas
On Wed, 8 May 2024 17:23:25 GMT, Alan Bateman wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Extract singleton for interning BaseLocale
>
> src/java.base/share/classes/j
is particular case
> since the amount of added bootstrapping overhead is dependent on which locale
> the system runs under, which complicates testing and comparisons due to
> relatively large differences in paths taken on different systems.
Claes Redestad has updated the pull request
301 - 400 of 995 matches
Mail list logo