webrev <was> Re: Move Vector API from scratch project to an incubator module
Paul Sandoz
paul.sandoz at oracle.com
Fri Sep 15 22:01:00 UTC 2017
I created the incubating module, modified Hotspot appropriately, added @HotSpotIntrinsicCandidate on supported methods (to the template), and added just one simple test to verify (by eye for now):
2408 319 % AddTest::main @ 2 (54 bytes)
@ 8 AddTest::workload (63 bytes) inline (hot)
@ 5 jdk.incubator.vector.Vector::speciesInstance (289 bytes) inline (hot)
@ 27 jdk.incubator.vector.FloatVector$FloatSpecies::fromArray (12 bytes) (intrinsic)
@ 36 jdk.incubator.vector.FloatVector$FloatSpecies::fromArray (12 bytes) (intrinsic)
@ 42 jdk.incubator.vector.FloatVector::add (11 bytes) (intrinsic)
@ 49 jdk.incubator.vector.FloatVector::intoArray (12 bytes) (intrinsic)
@ 54 jdk.incubator.vector.Float256Vector$Float256Species::length (4 bytes) inline (hot)
http://cr.openjdk.java.net/~psandoz/panama/incubator_vector/webrev/
Paul.
> On 14 Sep 2017, at 11:50, Paul Sandoz <Paul.Sandoz at oracle.com> wrote:
>
> Hi,
>
> The vector intrinsics work is making some good progress.
>
> I propose to move the Vector API from jdk/test/panama/vector-draft-spec to its own module in the JDK named jdk.incubator.vector with classes under a package of the same name. That way an OpenJDK ea distribution of panama will include the Vector API and developers can easily experiment.
>
> One awkward aspect is @HotSpotIntrinsicCandidate is internal to the JDK and only usable in java.base. We can export it’s package to the jdk.incubator.vector module and IIUC ensure classes in the vector module are loaded by the platform class loader, thus annotated methods that are intrinsic are acknowledged.
>
> (Ideally HotSpotIntrinsicCandidate should reside in the package jdk.internal.vm.annotation.)
>
> Paul.
More information about the panama-dev
mailing list