Re: RFR: 8265783: Create a separate library for x86 Intel SVML assembly intrinsics [v2]

2021-05-03 Thread Paul Sandoz
On Wed, 28 Apr 2021 21:11:26 GMT, Sandhya Viswanathan wrote: >> Intel Short Vector Math Library (SVML) based intrinsics in native x86 >> assembly provide optimized implementation for Vector API transcendental and >> trigonometric methods. >> These methods are built into a separate library

Re: RFR: 8265783: Create a separate library for x86 Intel SVML assembly intrinsics [v2]

2021-05-03 Thread Paul Sandoz
On Wed, 28 Apr 2021 21:11:26 GMT, Sandhya Viswanathan wrote: >> Intel Short Vector Math Library (SVML) based intrinsics in native x86 >> assembly provide optimized implementation for Vector API transcendental and >> trigonometric methods. >> These methods are built into a separate library

Re: RFR: 8266054: VectorAPI rotate operation optimization [v3]

2021-05-03 Thread Paul Sandoz
On Mon, 3 May 2021 06:51:29 GMT, Jatin Bhateja wrote: >> Current VectorAPI Java side implementation expresses rotateLeft and >> rotateRight operation using following operations:- >> >> vec1 = lanewise(VectorOperators.LSHL, n) >> vec2 = lanewise(VectorOperators.LSHR, n) >> res =

Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v3]

2021-04-30 Thread Paul Sandoz
On Fri, 30 Apr 2021 17:44:38 GMT, Paul Sandoz wrote: > > @PaulSandoz would it be possible for you to run this through your testing? > > Started, will report back when done. Tier 1 to 3 tests all pass on build profiles linux-x64 linux-aarch64 macosx-x64 windows-x64

Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v3]

2021-04-30 Thread Paul Sandoz
On Fri, 30 Apr 2021 02:31:07 GMT, Paul Sandoz wrote: >> Sandhya Viswanathan has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Review comments: blendmask etc > > Marked as reviewed by psandoz (Reviewer). >

Re: RFR: 8265518: C1: Intrinsic support for Preconditions.checkIndex [v6]

2021-04-30 Thread Paul Sandoz
On Fri, 30 Apr 2021 02:19:30 GMT, Yi Yang wrote: >> The JDK codebase re-created many variants of checkIndex(`grep -I -r >> 'cehckIndex' jdk/`). A notable variant is java.nio.Buffer.checkIndex, which >> annotated with @IntrinsicCandidate and it only has a corresponding C1 >> intrinsic version.

Re: RFR: 8266054: VectorAPI rotate operation optimization [v2]

2021-04-30 Thread Paul Sandoz
On Fri, 30 Apr 2021 12:59:34 GMT, Jatin Bhateja wrote: >> Current VectorAPI Java side implementation expresses rotateLeft and >> rotateRight operation using following operations:- >> >> vec1 = lanewise(VectorOperators.LSHL, n) >> vec2 = lanewise(VectorOperators.LSHR, n) >> res =

Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v3]

2021-04-29 Thread Paul Sandoz
On Fri, 30 Apr 2021 01:58:27 GMT, Sandhya Viswanathan wrote: >> All the slice and unslice variants that take more than one argument can >> benefit from already intrinsic methods on similar lines as slice(origin) and >> unslice(origin). >> >> Changes include: >> * Rewrite Vector API

Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v2]

2021-04-29 Thread Paul Sandoz
On Thu, 29 Apr 2021 23:36:22 GMT, Sandhya Viswanathan wrote: >> test/jdk/jdk/incubator/vector/AbstractVectorConversionTest.java line 51: >> >>> 49: } >>> 50: >>> 51: static final int INVOC_COUNT = >>> Integer.getInteger("jdk.incubator.vector.test.loop-iterations", 100); >> >> Why

Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v2]

2021-04-29 Thread Paul Sandoz
On Fri, 30 Apr 2021 00:17:24 GMT, Sandhya Viswanathan wrote: >> All the slice and unslice variants that take more than one argument can >> benefit from already intrinsic methods on similar lines as slice(origin) and >> unslice(origin). >> >> Changes include: >> * Rewrite Vector API

Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations

2021-04-29 Thread Paul Sandoz
On Thu, 29 Apr 2021 21:29:03 GMT, Sandhya Viswanathan wrote: > All the slice and unslice variants that take more than one argument can > benefit from already intrinsic methods on similar lines as slice(origin) and > unslice(origin). > > Changes include: > * Rewrite Vector API slice/unslice

Re: RFR: 8264774: Implementation of Foreign Function and Memory API (Incubator)

2021-04-27 Thread Paul Sandoz
On Mon, 26 Apr 2021 17:10:13 GMT, Maurizio Cimadamore wrote: > This PR contains the API and implementation changes for JEP-412 [1]. A more > detailed description of such changes, to avoid repetitions during the review > process, is included as a separate comment. > > [1] -

Re: RFR: 8264774: Implementation of Foreign Function and Memory API (Incubator)

2021-04-27 Thread Paul Sandoz
On Mon, 26 Apr 2021 17:10:13 GMT, Maurizio Cimadamore wrote: > This PR contains the API and implementation changes for JEP-412 [1]. A more > detailed description of such changes, to avoid repetitions during the review > process, is included as a separate comment. > > [1] -

Re: RFR: 8266054: VectorAPI rotate operation optimization

2021-04-27 Thread Paul Sandoz
On Tue, 27 Apr 2021 17:56:04 GMT, Jatin Bhateja wrote: > Current VectorAPI Java side implementation expresses rotateLeft and > rotateRight operation using following operations:- > > vec1 = lanewise(VectorOperators.LSHL, n) > vec2 = lanewise(VectorOperators.LSHR, n) > res =

Re: RFR: 8265079: Implement VarHandle invoker caching [v3]

2021-04-14 Thread Paul Sandoz
On Wed, 14 Apr 2021 11:38:15 GMT, Jorn Vernee wrote: >> This patch implements 2 leftover TODOs for implementing var handle invoker >> MH caching (lambda forms for those were already shared/cached). >> >> This piggybacks on the existing mechanism for method handle invoker caching. >> >>

Re: RFR: 8264976: Minor numeric bug in AbstractSplittableWithBrineGenerator.makeSplitsSpliterator

2021-04-14 Thread Paul Sandoz
On Fri, 9 Apr 2021 09:41:19 GMT, Aleksey Shipilev wrote: > SonarCloud reports: > Cast one of the operands of this subtraction operation to a "long". > > Here: > > Spliterator makeSplitsSpliterator(long index, > long fence, SplittableGenerator source) { > ... >

Re: RFR: 8265135: Reduce work initializing VarForms [v3]

2021-04-14 Thread Paul Sandoz
On Wed, 14 Apr 2021 11:31:55 GMT, Claes Redestad wrote: >> No, since VarHandles are not publicly extensible, the exception should not >> occur unless something has gone very wrong (the correspondence between >> access mode and implementing method is broken). > > Unfortunately the change to

Re: RFR: 8265135: Reduce work initializing VarForms

2021-04-13 Thread Paul Sandoz
On Wed, 14 Apr 2021 00:35:38 GMT, Claes Redestad wrote: >> src/java.base/share/classes/java/lang/invoke/VarForm.java line 130: >> >>> 128: } catch (NoSuchMethodException | IllegalAccessException e) { >>> 129: throw new UnsupportedOperationException(); >>> 130: } >>

Re: RFR: 8265135: Reduce work initializing VarForms

2021-04-13 Thread Paul Sandoz
On Tue, 13 Apr 2021 18:11:37 GMT, Claes Redestad wrote: > This patch reduces work done initializing VarForms - mostly observed when > loading each VarHandle implementation class. > > - Lazily resolve MemberNames. > - Streamline MethodType creation. This reduces the number of MethodTypes >

Re: RFR: 8265079: Implement VarHandle invoker caching [v2]

2021-04-13 Thread Paul Sandoz
On Tue, 13 Apr 2021 12:25:20 GMT, Jorn Vernee wrote: >> This patch implements 2 leftover TODOs for implementing var handle invoker >> MH caching (lambda forms for those were already shared/cached). >> >> This piggybacks on the existing mechanism for method handle invoker caching. >> >>

Re: RFR: 8265029: Preserve SIZED characteristics on slice operations (skip, limit) [v2]

2021-04-12 Thread Paul Sandoz
On Sun, 11 Apr 2021 07:14:07 GMT, Tagir F. Valeev wrote: >> With the introduction of `toList()`, preserving the SIZED characteristics in >> more cases becomes more important. This patch preserves SIZED on `skip()` >> and `limit()` operations, so now every combination of >>

Re: RFR: 8265029: Preserve SIZED characteristics on slice operations (skip, limit) [v2]

2021-04-12 Thread Paul Sandoz
On Sun, 11 Apr 2021 07:14:07 GMT, Tagir F. Valeev wrote: >> With the introduction of `toList()`, preserving the SIZED characteristics in >> more cases becomes more important. This patch preserves SIZED on `skip()` >> and `limit()` operations, so now every combination of >>

Re: RFR: 8264610: Number.{byteValue, shortValue} spec should use @implSpec

2021-04-01 Thread Paul Sandoz
On Thu, 1 Apr 2021 18:12:43 GMT, Joe Darcy wrote: > Please review this small code change and its accompanying CSR: > > https://bugs.openjdk.java.net/browse/JDK-8264610 Marked as reviewed by psandoz (Reviewer). - PR: https://git.openjdk.java.net/jdk/pull/3314

Re: RFR: 8264288: Performance issue with MethodHandle.asCollector

2021-04-01 Thread Paul Sandoz
On Thu, 1 Apr 2021 13:25:05 GMT, Jorn Vernee wrote: > This patch speeds up MethodHandle.asCollector handles where the array type is > not Object[], as well as speeding up all collectors where the arity is > greater than 10. > > The old code is creating a collector handle by combining a set of

Re: RFR: 8264109: Add vectorized implementation for VectorMask.andNot() [v2]

2021-04-01 Thread Paul Sandoz
On Thu, 1 Apr 2021 03:39:43 GMT, Xiaohong Gong wrote: >> Currently "VectorMask.andNot()" is not vectorized: >> public VectorMask andNot(VectorMask m) { >> // FIXME: Generate good code here. >> return bOp(m, (i, a, b) -> a && !b); >> } >> This can be implemented with`

Re: RFR: 8264109: Add vectorized implementation for VectorMask.andNot()

2021-03-31 Thread Paul Sandoz
On Fri, 26 Mar 2021 01:50:33 GMT, Xiaohong Gong wrote: > Currently "VectorMask.andNot()" is not vectorized: > public VectorMask andNot(VectorMask m) { > // FIXME: Generate good code here. > return bOp(m, (i, a, b) -> a && !b); > } > This can be implemented with`

Re: Proposal for Decimal64 and Decimal128 value-based classes

2021-03-30 Thread Paul Sandoz
> On Mar 30, 2021, at 4:05 PM, Raffaello Giulietti > wrote: > > Hi Paul, > > > On 2021-03-30 22:54, Paul Sandoz wrote: >>> On Mar 30, 2021, at 1:03 PM, Brian Goetz wrote: >>> >>> Overall, I'd be happy to see Decimal types that are

Re: Proposal for Decimal64 and Decimal128 value-based classes

2021-03-30 Thread Paul Sandoz
> On Mar 30, 2021, at 1:03 PM, Brian Goetz wrote: > > Overall, I'd be happy to see Decimal types that are aimed at "reasonable > precision" in addition to the infinite precision that BD offers. (After > Valhalla, of course.) > Yes, me too. Raffaello, as an experiment you could develop

Re: Getting back into indy...need a better argument collector!

2021-03-26 Thread Paul Sandoz
Hi Charlie, Thanks for the details. I quickly logged: https://bugs.openjdk.java.net/browse/JDK-8264288 I don’t have time to dive into the details right now. Perhaps next week, or hopefully someone else can. Paul. > On Mar 25, 2021, at 9:25 PM, Charles Oliver Nutter > wrote: > > JRuby

Re: RFR: 8248862: Implement Enhanced Pseudo-Random Number Generators

2021-03-15 Thread Paul Sandoz
On Fri, 26 Feb 2021 13:15:28 GMT, Rémi Forax wrote: >> Looking for some final code reviews. > > I still don't like the fact that the factory uses reflection but i don't see > how to do better This is now looking very nicely structured. The only thing i am unsure are the details around

Re: RFR: 8248862: Implement Enhanced Pseudo-Random Number Generators

2021-03-15 Thread Paul Sandoz
On Fri, 26 Feb 2021 13:15:28 GMT, Rémi Forax wrote: >> Looking for some final code reviews. > > I still don't like the fact that the factory uses reflection but i don't see > how to do better This is now looking very nicely structured. The only thing i am unsure are the details around

Re: RFR: 8262989: Vectorize VectorShuffle checkIndexes, wrapIndexes and laneIsValid methods

2021-03-04 Thread Paul Sandoz
On Thu, 4 Mar 2021 18:45:27 GMT, Sandhya Viswanathan wrote: >> Looks good, a nice incremental improvement. >> >> I suppose `checkIndexes` and `wrapIndexes` could call `laneIsValid`, and >> then call `anyFalse` on the resulting mask. Dunno if that would affect the >> generated code. > >

Re: RFR: 8262989: Vectorize VectorShuffle checkIndexes, wrapIndexes and laneIsValid methods

2021-03-04 Thread Paul Sandoz
On Wed, 3 Mar 2021 22:32:48 GMT, Sandhya Viswanathan wrote: > The hot path of VectorShuffle checkIndexes, wrapIndexes and laneIsValid > methods can be implemented using Vector API methods. > > For the attached jmh TestSlice.java, performance improves as below. > > Before: > Benchmark

Re: RFR: 8262096: Vector API fails to work due to VectorShape initialization exception [v7]

2021-03-02 Thread Paul Sandoz
On Tue, 2 Mar 2021 02:11:08 GMT, Jie Fu wrote: >> Hi all, >> >> Vector API fails to work when: >> - case 1: MaxVectorSize is set to <=8, or >> - case 2: C2 is disabled >> >> The reason is that {max/preferred} VectorShape initialization fails in both >> cases. >> And the root cause is that

Re: RFR: 8262096: Vector API fails to work due to VectorShape initialization exception

2021-03-02 Thread Paul Sandoz
On Thu, 25 Feb 2021 09:31:01 GMT, Jie Fu wrote: > Hi all, > > Vector API fails to work when: > - case 1: MaxVectorSize is set to <=8, or > - case 2: C2 is disabled > > The reason is that {max/preferred} VectorShape initialization fails in both > cases. > And the root cause is that

Re: RFR: 8260869: Test java/foreign/TestHandshake.java fails intermittently [v2]

2021-03-01 Thread Paul Sandoz
On Mon, 1 Mar 2021 19:30:00 GMT, Maurizio Cimadamore wrote: >> This simple fix reduces the amount of concurrency on the foreign memory >> TestHandshake test. As this test spins a new accessor thread for each >> available processors, on machines which feature an high number of available >>

Re: RFR: 8262096: Vector API fails to work due to VectorShape initialization exception [v5]

2021-03-01 Thread Paul Sandoz
On Sun, 28 Feb 2021 13:31:38 GMT, Jie Fu wrote: >> `@requires vm.compiler2.enabled` had been added. >> Thanks. > > @PaulSandoz , are you also OK with the latest version? > Thanks. @DamonFool I think Vladimir is correct in the layering, in this respect i think we can make things a littler

Re: RFR: 8260869: Test java/foreign/TestHandshake.java fails intermittently

2021-02-26 Thread Paul Sandoz
On Fri, 26 Feb 2021 14:25:09 GMT, Maurizio Cimadamore wrote: > This simple fix reduces the amount of concurrency on the foreign memory > TestHandshake test. As this test spins a new accessor thread for each > available processors, on machines which feature an high number of available >

Re: RFR: 8262096: Vector API fails to work due to VectorShape initialization exception [v4]

2021-02-25 Thread Paul Sandoz
On Fri, 26 Feb 2021 02:38:00 GMT, Jie Fu wrote: >> Hi all, >> >> Vector API fails to work when: >> - case 1: MaxVectorSize is set to <=8, or >> - case 2: C2 is disabled >> >> The reason is that {max/preferred} VectorShape initialization fails in both >> cases. >> And the root cause is that

Re: RFR: 8262096: Vector API fails to work due to VectorShape initialization exception [v3]

2021-02-25 Thread Paul Sandoz
On Fri, 26 Feb 2021 02:16:02 GMT, Jie Fu wrote: >> Thanks, was the test `VectorShapeInitTest` passing prior to the fix of the >> numerator? >> Perhaps we should be testing more directly on >> `VectorShape.S_Max_BIT.vectorBitSize()` and `VectorShape.preferredShape` ? >> Also, perhaps we can

Re: RFR: 8262096: Vector API fails to work due to VectorShape initialization exception [v2]

2021-02-25 Thread Paul Sandoz
On Thu, 25 Feb 2021 23:48:37 GMT, Jie Fu wrote: >> src/hotspot/share/prims/vectorSupport.cpp line 368: >> >>> 366: if (java_lang_Class::is_primitive(mirror)) { >>> 367: BasicType bt = java_lang_Class::primitive_type(mirror); >>> 368: int min_lane_count = 64 / type2aelembytes(bt); >>

Re: RFR: 8262096: Vector API fails to work due to VectorShape initialization exception

2021-02-25 Thread Paul Sandoz
On Thu, 25 Feb 2021 09:31:01 GMT, Jie Fu wrote: > Hi all, > > Vector API fails to work when: > - case 1: MaxVectorSize is set to <=8, or > - case 2: C2 is disabled > > The reason is that {max/preferred} VectorShape initialization fails in both > cases. > And the root cause is that

Re: RFR: 8252399: Update mapMulti documentation to use type test pattern instead of instanceof once JEP 375 exits preview [v7]

2021-02-24 Thread Paul Sandoz
On Fri, 12 Feb 2021 20:27:00 GMT, Patrick Concannon wrote: >> Hi, >> >> Could someone please review my changeset for JDK-8252399: 'Update mapMulti >> documentation to use type test pattern instead of instanceof once JEP 375 >> exits preview' ? >> >> This change updates the example code

Integrated: 8261975: Missing "classpath exception" in VectorSupport.java

2021-02-22 Thread Paul Sandoz
On Mon, 22 Feb 2021 21:57:00 GMT, Paul Sandoz wrote: > Add missing classpath exception paragraph This pull request has now been integrated. Changeset: 0217d699 Author: Paul Sandoz URL: https://git.openjdk.java.net/jdk/commit/0217d699 Stats: 4 lines in 1 file changed: 2 ins; 0

RFR: 8261975: Missing "classpath exception" in VectorSupport.java

2021-02-22 Thread Paul Sandoz
Add missing classpath exception paragraph - Commit messages: - 8261975: Missing "classpath exception" in VectorSupport.java Changes: https://git.openjdk.java.net/jdk/pull/2678/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk=2678=00 Issue:

Re: RFR: 8259925: [Vector API] Unreasonable IndexOutOfBoundsException message when length < vlen

2021-01-26 Thread Paul Sandoz
On Tue, 26 Jan 2021 13:24:57 GMT, Jie Fu wrote: >> The intrinsic enables C2 to more reliably elide bounds checks. I don't know >> the exact details but at a high-level it transforms signed values into >> unsigned values (and therefore the signed comparisons become unsigned >> comparisons),

Re: RFR: 8259925: [Vector API] Unreasonable IndexOutOfBoundsException message when length < vlen

2021-01-21 Thread Paul Sandoz
On Thu, 21 Jan 2021 09:35:01 GMT, Jie Fu wrote: >> Unfortunately it is still problematic because you have replaced the >> intrinsic check (that performed by `Object.checksIndex`, or more >> specifically >>

Re: RFR: 8259925: [Vector API] Unreasonable IndexOutOfBoundsException message when length < vlen

2021-01-20 Thread Paul Sandoz
On Wed, 20 Jan 2021 09:33:43 GMT, Jie Fu wrote: >> That change may cause performance issues. I would recommend leaving as is >> for now even through the error message is not great. Bounds checking is >> quite sensitive and WIP. Notice that we also have an option to call >>

Re: RFR: 8259925: [Vector API] Unreasonable IndexOutOfBoundsException message when length < vlen

2021-01-19 Thread Paul Sandoz
On Mon, 18 Jan 2021 13:32:24 GMT, Jie Fu wrote: > Hi all, > > For this reproducer: > > import jdk.incubator.vector.ByteVector; > import jdk.incubator.vector.VectorSpecies; > > public class Test { > static final VectorSpecies SPECIES_128 = ByteVector.SPECIES_128; > static byte[] a =

Re: [jdk16] RFR: 8259213: Vector conversion with part > 0 is not getting intrinsic implementation [v2]

2021-01-05 Thread Paul Sandoz
On Tue, 5 Jan 2021 15:51:08 GMT, Paul Sandoz wrote: >> Sandhya Viswanathan has updated the pull request incrementally with one >> additional commit since the last revision: >> >> update copyright year > > Looks good. Can you please update the copyright year bef

Re: [jdk16] RFR: 8259213: Vector conversion with part > 0 is not getting intrinsic implementation

2021-01-05 Thread Paul Sandoz
On Tue, 5 Jan 2021 01:03:55 GMT, Sandhya Viswanathan wrote: > Vector conversion with part > 0 is implemented using slice(origin, vector) > instead of slice(origin). > The slice(origin) has intrinsic implementation whereas slice(origin, vector) > doesn’t. > Slice(origin) is written using

Re: RFR: 8258422: Cleanup unnecessary null comparison before instanceof check in java.base [v3]

2020-12-17 Thread Paul Sandoz
> On Dec 16, 2020, at 1:47 AM, Chris Hegarty wrote: > > On Wed, 16 Dec 2020 09:20:09 GMT, Andrey Turbanov > wrote: > >>> 8258422: Cleanup unnecessary null comparison before instanceof check in >>> java.base >> >> Andrey Turbanov has updated the pull request incrementally with one >>

Re: RFR: 8258422: Cleanup unnecessary null comparison before instanceof check in java.base [v3]

2020-12-17 Thread Paul Sandoz
> On Dec 16, 2020, at 1:47 AM, Chris Hegarty wrote: > > On Wed, 16 Dec 2020 09:20:09 GMT, Andrey Turbanov > wrote: > >>> 8258422: Cleanup unnecessary null comparison before instanceof check in >>> java.base >> >> Andrey Turbanov has updated the pull request incrementally with one >>

Re: [jdk16] RFR: 8258140: Update @jls tags in java.base for renamed/renumbered sections

2020-12-15 Thread Paul Sandoz
On Sat, 12 Dec 2020 18:40:16 GMT, Joe Darcy wrote: > Given upcoming changes in the JLS terminology around the term "type", various > sections were renamed: > > > https://download.java.net/java/early_access/jdk16/docs/specs/class-terminology-jls.html > > The @jls tags in the java.base

Re: [jdk16] RFR: 8257596: Clarify trusted final fields for record classes [v2]

2020-12-11 Thread Paul Sandoz
On Fri, 11 Dec 2020 19:29:09 GMT, Mandy Chung wrote: >> This is a follow-up on JDK-8255342 that removes non-specified JVM checks on >> classes with RecordComponents attributes. >> >> See the discussion at >> https://mail.openjdk.java.net/pipermail/amber-spec-experts/2020-December/002670.html

Re: RFR: 8247373: ArraysSupport.newLength doc, test, and exception message [v2]

2020-12-08 Thread Paul Sandoz
On Tue, 8 Dec 2020 06:14:35 GMT, Stuart Marks wrote: >> This rewrites the doc of ArraysSupport.newLength, adds detail to the >> exception message, and adds a test. In addition to some renaming and a bit >> of refactoring of the actual code, I also made two changes of substance to >> the code:

Integrated: 8257537: [vector] Cleanup redundant bitwise cases on floating point vectors

2020-12-01 Thread Paul Sandoz
On Tue, 1 Dec 2020 20:36:48 GMT, Paul Sandoz wrote: > Float/DoubleVector implementations contain redundant cases for bitwise > operations. Such bitwise operations will fail on such FP vectors before the > case is reached. This pull request has now been integrated. Changeset: cfd070

RFR: 8257537: [vector] Cleanup redundant bitwise cases on floating point vectors

2020-12-01 Thread Paul Sandoz
Float/DoubleVector implementations contain redundant cases for bitwise operations. Such bitwise operations will fail on such FP vectors before the case is reached. - Commit messages: - 8257537: [vector] Cleanup redundant bitwise cases on floating point vectors Changes:

Re: RFR: 8257164: Share LambdaForms for VH linkers/invokers.

2020-11-30 Thread Paul Sandoz
On Thu, 26 Nov 2020 13:13:43 GMT, Vladimir Ivanov wrote: > Introduce sharing of `LambdaForms` for `VarHandle` linkers and invokers. > It reduces the number of LambdaForms needed at runtime. > > Testing: tier1-4 Marked as reviewed by psandoz (Reviewer). - PR:

Re: RFR: 8257189: Handle concurrent updates of MH.form better

2020-11-30 Thread Paul Sandoz
On Thu, 26 Nov 2020 21:23:16 GMT, Vladimir Ivanov wrote: > Concurrent updates may lead to redundant LambdaForms created and unnecessary > class loading when those are compiled. > > Most notably, it severely affects MethodHandle customization: when a > MethodHandle is called from multiple

Re: RFR: 8180352: Add Stream.toList() method [v4]

2020-11-25 Thread Paul Sandoz
On Tue, 24 Nov 2020 07:10:14 GMT, Stuart Marks wrote: >> This change introduces a new terminal operation on Stream. This looks like a >> convenience method for Stream.collect(Collectors.toList()) or >> Stream.collect(Collectors.toUnmodifiableList()), but it's not. Having this >> method

Re: RFR: 8256585: Remove in-place conversion vector operators from Vector API [v2]

2020-11-19 Thread Paul Sandoz
On Thu, 19 Nov 2020 19:47:15 GMT, Sandhya Viswanathan wrote: >> Remove partially implemented in-place conversion vector operators from >> Vector API: >>ofNarrowing, ofWidening, INPLACE_XXX > > Sandhya Viswanathan has updated the pull request incrementally with one > additional commit

Re: RFR: 8256585: Remove in-place conversion vector operators from Vector API

2020-11-19 Thread Paul Sandoz
On Thu, 19 Nov 2020 03:26:20 GMT, Sandhya Viswanathan wrote: > Remove partially implemented in-place conversion vector operators from Vector > API: >ofNarrowing, ofWidening, INPLACE_XXX The documentation `Vector.convert` and `Vector.convertShape` needs to be updated to remove

Integrated: 8256581: Refactor vector conversion tests

2020-11-19 Thread Paul Sandoz
On Thu, 19 Nov 2020 01:07:12 GMT, Paul Sandoz wrote: > Refactor the vector conversions tests to improve performance and reduce > explicit test methods (using data providers). This pull request has now been integrated. Changeset: 580f22cc Author: Paul Sandoz URL:

RFR: 8256581: Refactor vector conversion tests

2020-11-18 Thread Paul Sandoz
Refactor the vector conversions tests to improve performance and reduce explicit test methods (using data providers). - Commit messages: - 8256581: Refactor vector conversion tests Changes: https://git.openjdk.java.net/jdk/pull/1302/files Webrev:

Re: RFR: 8230501: Class data support for hidden classes [v4]

2020-11-18 Thread Paul Sandoz
On Wed, 18 Nov 2020 00:50:22 GMT, Mandy Chung wrote: >> Provide the `Lookup::defineHiddenClassWithClassData` API that allows live >> objects >> be shared between a hidden class and other classes. A hidden class can load >> these live objects as dynamically-computed constants via this API. >>

Re: RFR: 8256152: tests fail because of ambiguous method resolution [v2]

2020-11-18 Thread Paul Sandoz
On Tue, 17 Nov 2020 23:34:23 GMT, Stuart Marks wrote: >> Added a cast in the right place, thanks to @jonathan-gibbons. > > Stuart Marks has updated the pull request incrementally with one additional > commit since the last revision: > > cast to double instead of Object Marked as reviewed by

Re: RFR: 8248862: Implement Enhanced Pseudo-Random Number Generators [v3]

2020-11-17 Thread Paul Sandoz
On Tue, 17 Nov 2020 22:21:18 GMT, Jim Laskey wrote: >> This PR is to introduce a new random number API for the JDK. The primary API >> is found in RandomGenerator and RandomGeneratorFactory. Further description >> can be found in the JEP https://openjdk.java.net/jeps/356 . > > Jim Laskey has

Re: RFR: 8248862: Implement Enhanced Pseudo-Random Number Generators [v3]

2020-11-17 Thread Paul Sandoz
On Tue, 17 Nov 2020 22:21:18 GMT, Jim Laskey wrote: >> This PR is to introduce a new random number API for the JDK. The primary API >> is found in RandomGenerator and RandomGeneratorFactory. Further description >> can be found in the JEP https://openjdk.java.net/jeps/356 . > > Jim Laskey has

Re: RFR: 8248862: Implement Enhanced Pseudo-Random Number Generators [v3]

2020-11-17 Thread Paul Sandoz
On Tue, 17 Nov 2020 22:21:18 GMT, Jim Laskey wrote: >> This PR is to introduce a new random number API for the JDK. The primary API >> is found in RandomGenerator and RandomGeneratorFactory. Further description >> can be found in the JEP https://openjdk.java.net/jeps/356 . > > Jim Laskey has

Re: RFR: 8256152: tests fail because of ambiguous method resolution

2020-11-17 Thread Paul Sandoz
On Tue, 17 Nov 2020 20:01:37 GMT, Stuart Marks wrote: > Added a cast in the right place, thanks to @jonathan-gibbons. test/jdk/java/util/stream/boottest/java.base/java/util/stream/DoubleNodeTest.java line 69: > 67: assertEquals(list.size(), array.length); > 68: for (int i = 0;

Re: RFR: 8180352: Add Stream.toList() method

2020-11-05 Thread Paul Sandoz
On Fri, 6 Nov 2020 02:50:29 GMT, Stuart Marks wrote: >> test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/ToListOpTest.java >> line 73: >> >>> 71: } >>> 72: >>> 73: @Test(dataProvider = "withNull:StreamTestData", >>> dataProviderClass = StreamTestDataProvider.class)

Re: RFR: 8180352: Add Stream.toList() method

2020-11-05 Thread Paul Sandoz
On Tue, 3 Nov 2020 01:33:32 GMT, Stuart Marks wrote: > This change introduces a new terminal operation on Stream. This looks like a > convenience method for Stream.collect(Collectors.toList()) or > Stream.collect(Collectors.toUnmodifiableList()), but it's not. Having this > method directly on

Re: RFR: 8254354: Add a withInvokeExactBehavior() VarHandle combinator [v11]

2020-10-30 Thread Paul Sandoz
On Fri, 30 Oct 2020 16:17:06 GMT, Jorn Vernee wrote: >> Hi, >> >> This patch adds an asExact() combinator to VarHandle, that will return a new >> VarHandle that performs exact type checks, similar to >> MethodHandle::invokeExact, to help developers catch inexact VarHandle usage, >> which can

Re: RFR: 8254354: Add an asExact() VarHandle combinator [v9]

2020-10-30 Thread Paul Sandoz
On Thu, 29 Oct 2020 18:14:05 GMT, Jorn Vernee wrote: >> Hi, >> >> This patch adds an asExact() combinator to VarHandle, that will return a new >> VarHandle that performs exact type checks, similar to >> MethodHandle::invokeExact, to help developers catch inexact VarHandle usage, >> which can

Re: RFR: 8254354: Add an asExact() VarHandle combinator [v2]

2020-10-26 Thread Paul Sandoz
On Mon, 26 Oct 2020 16:13:59 GMT, Paul Sandoz wrote: >> I've updated the javadoc, and added two benchmarks that show the existing >> discrepancy between an exact and a generic use of a VarHandle, as well as >> showing that an exact VarHandle is as fast as a generic VarHandl

Re: RFR: 8254354: Add an asExact() VarHandle combinator [v2]

2020-10-26 Thread Paul Sandoz
On Mon, 26 Oct 2020 13:37:58 GMT, Jorn Vernee wrote: >> @PaulSandoz I've implemented your suggestion, by moving the `exact` flag to >> VarHandle itself. FWIW, the VH::accessModeType method took an AccessMode >> value as an argument, and the AccessDescriptor only stored the ordinal, so I >>

Re: RFR: 8254354: Add an asExact() VarHandle combinator [v2]

2020-10-23 Thread Paul Sandoz
On Fri, 23 Oct 2020 18:06:51 GMT, Jorn Vernee wrote: >> Hi, >> >> This patch adds an asExact() combinator to VarHandle, that will return a new >> VarHandle that performs exact type checks, similar to >> MethodHandle::invokeExact, to help developers catch inexact VarHandle usage, >> which can

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v9]

2020-10-22 Thread Paul Sandoz
On Thu, 22 Oct 2020 14:26:37 GMT, Maurizio Cimadamore wrote: >> src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractNativeScope.java >> line 120: >> >>> 118: } >>> 119: } >>> 120: throw new AssertionError("Cannot get here!"); >> >>

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v7]

2020-10-22 Thread Paul Sandoz
On Thu, 22 Oct 2020 13:30:13 GMT, Maurizio Cimadamore wrote: >> src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java >> line 126: >> >>> 124: * >>> 125: * @param symbol downcall symbol. >>> 126: * @param type the method type. >> >> s/method

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v7]

2020-10-22 Thread Paul Sandoz
On Thu, 22 Oct 2020 14:31:12 GMT, Jorn Vernee wrote: >> src/java.base/share/classes/java/lang/invoke/NativeMethodHandle.java line 36: >> >>> 34: import static java.lang.invoke.MethodHandleStatics.newInternalError; >>> 35: >>> 36: /** TODO */ >> >> Is the TODO to make this class public later

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v9]

2020-10-22 Thread Paul Sandoz
On Thu, 22 Oct 2020 14:26:37 GMT, Maurizio Cimadamore wrote: >> src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractNativeScope.java >> line 120: >> >>> 118: } >>> 119: } >>> 120: throw new AssertionError("Cannot get here!"); >> >>

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v9]

2020-10-22 Thread Paul Sandoz
On Thu, 22 Oct 2020 14:26:37 GMT, Maurizio Cimadamore wrote: >> src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractNativeScope.java >> line 120: >> >>> 118: } >>> 119: } >>> 120: throw new AssertionError("Cannot get here!"); >> >>

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v7]

2020-10-22 Thread Paul Sandoz
On Thu, 22 Oct 2020 14:31:12 GMT, Jorn Vernee wrote: >> src/java.base/share/classes/java/lang/invoke/NativeMethodHandle.java line 36: >> >>> 34: import static java.lang.invoke.MethodHandleStatics.newInternalError; >>> 35: >>> 36: /** TODO */ >> >> Is the TODO to make this class public later

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v7]

2020-10-22 Thread Paul Sandoz
On Thu, 22 Oct 2020 14:31:12 GMT, Jorn Vernee wrote: >> src/java.base/share/classes/java/lang/invoke/NativeMethodHandle.java line 36: >> >>> 34: import static java.lang.invoke.MethodHandleStatics.newInternalError; >>> 35: >>> 36: /** TODO */ >> >> Is the TODO to make this class public later

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v7]

2020-10-22 Thread Paul Sandoz
On Thu, 22 Oct 2020 13:30:13 GMT, Maurizio Cimadamore wrote: >> src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java >> line 126: >> >>> 124: * >>> 125: * @param symbol downcall symbol. >>> 126: * @param type the method type. >> >> s/method

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v7]

2020-10-22 Thread Paul Sandoz
On Thu, 22 Oct 2020 13:30:13 GMT, Maurizio Cimadamore wrote: >> src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java >> line 126: >> >>> 124: * >>> 125: * @param symbol downcall symbol. >>> 126: * @param type the method type. >> >> s/method

Re: RFR: 8255174: Vector API unit tests for missed public api code coverage

2020-10-21 Thread Paul Sandoz
On Wed, 21 Oct 2020 20:17:32 GMT, Sandhya Viswanathan wrote: > Additional tests to increase Vector API public method code coverage to > 99%. I already reviewed these test updates when integrated into the `vectorIntrinsics` branch of the `panama-vector` repository. - Marked as

Integrated: 8255022: Documentation missing for Vector API zero methods

2020-10-21 Thread Paul Sandoz
On Mon, 19 Oct 2020 19:43:13 GMT, Paul Sandoz wrote: > The zero methods on `IntVector` and all other specializations are missing > documentation. This pull request has now been integrated. Changeset: 60d3fa2e Author: Paul Sandoz URL: https://git.openjdk.java.net/jdk/commit/60

Re: RFR: 8255022: Documentation missing for Vector API zero methods [v2]

2020-10-21 Thread Paul Sandoz
> The zero methods on `IntVector` and all other specializations are missing > documentation. Paul Sandoz has updated the pull request incrementally with one additional commit since the last revision: Address CSR review. - Changes: - all: https://git.openjdk.java.net/jd

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v7]

2020-10-21 Thread Paul Sandoz
gt;> A big thank to Jorn Vernee and Vladimir Ivanov - they are the main >> architects of all the hotspot changes you see here, and without their help, >> the foreign linker support wouldn't be what it is today. As usual, a big >> thank to Paul Sandoz, who provided many insights

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v9]

2020-10-21 Thread Paul Sandoz
gt;> A big thank to Jorn Vernee and Vladimir Ivanov - they are the main >> architects of all the hotspot changes you see here, and without their help, >> the foreign linker support wouldn't be what it is today. As usual, a big >> thank to Paul Sandoz, who provided many insights

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v7]

2020-10-21 Thread Paul Sandoz
gt;> A big thank to Jorn Vernee and Vladimir Ivanov - they are the main >> architects of all the hotspot changes you see here, and without their help, >> the foreign linker support wouldn't be what it is today. As usual, a big >> thank to Paul Sandoz, who provided many insights

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v7]

2020-10-21 Thread Paul Sandoz
gt;> A big thank to Jorn Vernee and Vladimir Ivanov - they are the main >> architects of all the hotspot changes you see here, and without their help, >> the foreign linker support wouldn't be what it is today. As usual, a big >> thank to Paul Sandoz, who provided many insights

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v9]

2020-10-21 Thread Paul Sandoz
gt;> A big thank to Jorn Vernee and Vladimir Ivanov - they are the main >> architects of all the hotspot changes you see here, and without their help, >> the foreign linker support wouldn't be what it is today. As usual, a big >> thank to Paul Sandoz, who provided many insights

Re: RFR: 8254231: Implementation of Foreign Linker API (Incubator) [v9]

2020-10-21 Thread Paul Sandoz
gt;> A big thank to Jorn Vernee and Vladimir Ivanov - they are the main >> architects of all the hotspot changes you see here, and without their help, >> the foreign linker support wouldn't be what it is today. As usual, a big >> thank to Paul Sandoz, who provided many insights

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v4]

2020-10-20 Thread Paul Sandoz
On Thu, 15 Oct 2020 17:58:29 GMT, CoreyAshford wrote: >> Please update >> [compiler/graalunit/HotspotTest.java](https://github.com/openjdk/jdk/blob/master/test/hotspot/jtreg/compiler/graalunit/HotspotTest.java), >> and add the intrinsic signature. > >> Please update >>

Integrated: 8255020: Minor updates to docs jdk.incubator.vector

2020-10-19 Thread Paul Sandoz
On Mon, 19 Oct 2020 18:41:31 GMT, Paul Sandoz wrote: > Minor updates, with no specification changes, to the documentation of Vector > API. > > The compilation of the Vector module was updated to turn on doclint errors > for >= protected documentation. This pull re

Integrated: 8255020: Minor updates to docs jdk.incubator.vector

2020-10-19 Thread Paul Sandoz
On Mon, 19 Oct 2020 18:41:31 GMT, Paul Sandoz wrote: > Minor updates, with no specification changes, to the documentation of Vector > API. > > The compilation of the Vector module was updated to turn on doclint errors > for >= protected documentation. This pull re

RFR: 8255022: Documentation missing for Vector API zero methods

2020-10-19 Thread Paul Sandoz
The zero methods on `IntVector` and all other specializations are missing documentation. - Commit messages: - 8255022: Documentation missing for Vector API zero methods Changes: https://git.openjdk.java.net/jdk/pull/748/files Webrev:

<    3   4   5   6   7   8   9   10   11   12   >