On Thu, 8 Aug 2024 06:57:28 GMT, Jatin Bhateja wrote:
> Hi All,
>
> As per the discussion on panama-dev mailing list[1], patch adds the support
> for following new two vector permutation APIs.
>
>
> Declaration:-
> Vector.selectFrom(Vector v1, Vector v2)
>
>
> Semantics:-
> Using in
On Mon, 19 Aug 2024 05:06:32 GMT, Chen Liang wrote:
>> regionMatches uses vectorizedMismatch for comparison. The length of
>> `Ljava/lang/Object;` is 18. In the code without intrinsic, it will exit
>> after two long comparisons. If there is vector128 optimization, it will exit
>> after one com
On Mon, 19 Aug 2024 04:43:24 GMT, Jaikiran Pai wrote:
> tier1 testing with these changes against latest master branch completed
> without issues. I'll go ahead and sponsor this.
Thanks for the testing and sponsor.
-
PR Comment: https://git.openjdk.org/jdk/pull/19905#issuecomment-2
On Fri, 26 Jul 2024 06:29:05 GMT, SendaoYan wrote:
>> Hi all,
>> Test `test/jdk/java/lang/invoke/lambda/LogGeneratedClassesTest.java` fails
>> on rpm build mock environment. The `df -h` command return fail `df: cannot
>> read table of mounted file systems: No such file or directory` on the rpm
On Fri, 16 Aug 2024 18:17:15 GMT, Claes Redestad wrote:
>> MethodTypeDescFactories has some illegal MethodTypeDesc, and throwing
>> exceptions will affect the performance comparison of normal scenarios.
>
> Not intentionally - which one is illegal? Or are you thinking about the dots?
> Those ar
On Fri, 16 Aug 2024 17:06:38 GMT, Shaojin Wen wrote:
>> test/micro/org/openjdk/bench/java/lang/classfile/MethodTypeDescBench.java
>> line 23:
>>
>>> 21: * questions.
>>> 22: */
>>> 23: package org.openjdk.bench.java.lang.classfile;
>>
>> Wrong package as the code being tested is in java.lang
On Fri, 16 Aug 2024 08:53:38 GMT, Shaojin Wen wrote:
> The current implementation of ofDescriptor puts return type and parameter
> types together in an ArrayList, and then splits them into return type and
> array of parameter types. This ArrayList creation is unnecessary, considering
> most de
On Sun, 18 Aug 2024 23:48:39 GMT, Claes Redestad wrote:
>> All calls to ofDescriptor during the startup process come from here, which
>> cannot be avoided in a simple way.
>>
>>
>> at
>> java.base/jdk.internal.constant.MethodTypeDescImpl.ofDescriptor(MethodTypeDescImpl.java:142)
>>
On Sat, 17 Aug 2024 12:04:20 GMT, ExE Boss wrote:
>> The current implementation of ofDescriptor puts return type and parameter
>> types together in an ArrayList, and then splits them into return type and
>> array of parameter types. This ArrayList creation is unnecessary,
>> considering most d
On Sun, 18 Aug 2024 23:04:33 GMT, Shaojin Wen wrote:
>> Right, which is why we need to balance these microbenchmark speed-ups
>> against any added static footprint and other factors. Going through fewer
>> but less specialized methods can reduce runtime footprint and lead to
>> quicker warmup,
On Sun, 18 Aug 2024 21:36:07 GMT, Shaojin Wen wrote:
>> Using ConstantDescs.MTD_void can also solve the bootstrap cycle, good idea,
>> I have fixed it
>
> I think it is worthwhile to optimize the bootstrap scenario with less cost
> for other scenarios.
Right, which is why we need to balance th
On Sun, 18 Aug 2024 22:33:53 GMT, Claes Redestad wrote:
>> I think it is worthwhile to optimize the bootstrap scenario with less cost
>> for other scenarios.
>
> Right, which is why we need to balance these microbenchmark speed-ups against
> any added static footprint and other factors. Going t
On Sun, 18 Aug 2024 21:32:46 GMT, Shaojin Wen wrote:
>> src/java.base/share/classes/jdk/internal/constant/MethodTypeDescImpl.java
>> line 137:
>>
>>> 135: var returnType = resolveClassDesc(descriptor, rightBracket +
>>> 1, retTypeLength);
>>> 136: if (length == 3 && returnType
On Fri, 16 Aug 2024 23:16:46 GMT, Shaojin Wen wrote:
>> src/java.base/share/classes/jdk/internal/constant/MethodTypeDescImpl.java
>> line 125:
>>
>>> 123: int paramCount = 0;
>>> 124: for (int cur = start; cur < end; ) {
>>> 125: int len = ConstantUtils.skipOverField
On Sat, 17 Aug 2024 12:25:58 GMT, Shaojin Wen wrote:
>> src/java.base/share/classes/jdk/internal/constant/MethodTypeDescImpl.java
>> line 113:
>>
>>> 111: || (rightBracket = (descriptor.charAt(1) == ')' ? 1 :
>>> descriptor.lastIndexOf(')'))) <= 0
>>> 112: || (l
On Sat, 17 Aug 2024 12:38:15 GMT, Chen Liang wrote:
>> I have tested that `()A` will report an error. If length == 1, rely on
>> Wrapper.forBasicType to detect illegal input.
>
> We just exposed an internal exception behavior to public. Might add in
> wrapper.forBasicType that this IAE is part
On Mon, 19 Aug 2024 00:46:13 GMT, Chen Liang wrote:
>> src/java.base/share/classes/jdk/internal/constant/ConstantUtils.java line
>> 296:
>>
>>> 294: // objectDesc appears a lot during the bootstrap process, so
>>> optimize it
>>> 295: String objectDesc = "Ljava/lang/Object;";
>
On Mon, 19 Aug 2024 02:04:19 GMT, Chen Liang wrote:
>> Also `Double` `Module` `Number` `Record` `Thread` `System` are susceptible
>> to taking more time in `regionMatches`.
>
> I think you can have the current patch RFR (ready for review) without this
> deduplication given my concerns. We can a
On Mon, 19 Aug 2024 04:12:56 GMT, Shaojin Wen wrote:
>> I think you can have the current patch RFR (ready for review) without this
>> deduplication given my concerns. We can add deduplication of frequent
>> descriptors in another patch after confirming it is a net positive.
>
> regionMatches us
On Sat, 17 Aug 2024 12:16:03 GMT, Chen Liang wrote:
>> The current implementation of ofDescriptor puts return type and parameter
>> types together in an ArrayList, and then splits them into return type and
>> array of parameter types. This ArrayList creation is unnecessary,
>> considering most
On Sun, 18 Aug 2024 21:27:44 GMT, Claes Redestad wrote:
>> The current implementation of ofDescriptor puts return type and parameter
>> types together in an ArrayList, and then splits them into return type and
>> array of parameter types. This ArrayList creation is unnecessary,
>> considering
On Mon, 19 Aug 2024 00:20:40 GMT, Chen Liang wrote:
>> The current implementation of ofDescriptor puts return type and parameter
>> types together in an ArrayList, and then splits them into return type and
>> array of parameter types. This ArrayList creation is unnecessary,
>> considering most
On Sun, 18 Aug 2024 00:15:57 GMT, Chen Liang wrote:
>> The following are the performance numbers on multiple platforms. When the
>> number of parameters is > 8, the performance will regress by about 33%. When
>> the number of parameters is <= 8, the performance will be significantly
>> improve
On Fri, 16 Aug 2024 08:53:38 GMT, Shaojin Wen wrote:
> The current implementation of ofDescriptor puts return type and parameter
> types together in an ArrayList, and then splits them into return type and
> array of parameter types. This ArrayList creation is unnecessary, considering
> most de
On Sat, 17 Aug 2024 16:27:50 GMT, Shaojin Wen wrote:
>> The current implementation of ofDescriptor puts return type and parameter
>> types together in an ArrayList, and then splits them into return type and
>> array of parameter types. This ArrayList creation is unnecessary,
>> considering mos
On Sat, 17 Aug 2024 00:56:22 GMT, Claes Redestad wrote:
> Under the assumption that low arity methods greatly outnumber high arity
> ones, some cost here would be acceptable. But let's try to avoid it while
> keeping things simple.
>
> An option would be to split the code into a fast-path that
On Sat, 17 Aug 2024 00:39:35 GMT, Shaojin Wen wrote:
> 1. In the scenario without parameters, the performance is regressed.
You might be able to regain (some of) this by adding a check for `start == end`
at the top of even before calling `paramTypes`
> 3. When the number of parameters is >8, t
On Fri, 16 Aug 2024 08:53:38 GMT, Shaojin Wen wrote:
> The current implementation of ofDescriptor puts return type and parameter
> types together in an ArrayList, and then splits them into return type and
> array of parameter types. This ArrayList creation is unnecessary, considering
> most de
On Fri, 16 Aug 2024 08:53:38 GMT, Shaojin Wen wrote:
> The current implementation of ofDescriptor puts return type and parameter
> types together in an ArrayList, and then splits them into return type and
> array of parameter types. This ArrayList creation is unnecessary, considering
> most de
The current implementation of ofDescriptor puts return type and parameter types
together in an ArrayList, and then splits them into return type and array of
parameter types. This ArrayList creation is unnecessary, considering most
descriptors only have few parameter types.
By splitting return t
On Wed, 26 Jun 2024 12:15:33 GMT, SendaoYan wrote:
> Hi all,
> Test `test/jdk/java/lang/invoke/lambda/LogGeneratedClassesTest.java` fails on
> rpm build mock environment. The `df -h` command return fail `df: cannot read
> table of mounted file systems: No such file or directory` on the rpm buil
On Fri, 26 Jul 2024 06:29:05 GMT, SendaoYan wrote:
>> Hi all,
>> Test `test/jdk/java/lang/invoke/lambda/LogGeneratedClassesTest.java` fails
>> on rpm build mock environment. The `df -h` command return fail `df: cannot
>> read table of mounted file systems: No such file or directory` on the rpm
On Fri, 26 Apr 2024 22:27:21 GMT, Chen Liang wrote:
>> Please review this patch that:
>> 1. Implemented `forEach` to optimize for 1 or 2 element collections.
>> 2. Implemented `spliterator` to optimize for a single element.
>>
>> The default implementations for multiple-element immutable collect
33 matches
Mail list logo