[vector] load/store tests

Halimi, Jean-Philippe jean-philippe.halimi at intel.com
Fri May 11 18:02:47 UTC 2018


Hi Paul,

I had a look at your patch but it looks like I get lots of failures, including from tests that haven't changed (ie. Regular test files). I get this error:


JavaTest Message: Test threw exception: java.lang.NoClassDefFoundError
JavaTest Message: shutting down test

result: Failed. Execution failed: `main' threw exception: java.lang.NoClassDefFoundError: AbstractVectorTest


test result: Failed. Execution failed: `main' threw exception: java.lang.NoClassDefFoundError: AbstractVectorTest

Aside from the load tests issues, have you encountered similar problems, or is it a different one?

Thanks,

Jp

-----Original Message-----
From: panama-dev [mailto:panama-dev-bounces at openjdk.java.net] On Behalf Of Paul Sandoz
Sent: Friday, May 4, 2018 1:05 PM
To: panama-dev at openjdk.java.net
Subject: [vector] load/store tests

Hi,

Here is an initial patch for load/store tests. 

  http://cr.openjdk.java.net/~psandoz/panama/vector-load-store-tests/webrev/

I placed these tests in separate classes so they can be tested independently.

--

The tests for non-indexed buffer load/store accepting methods:

  from/intoByteBuffer(ByteBuffer bb)/Mask

are currently failing for some cases. These methods require that the position of the buffer is updated, and the mask variants are a little odd because the position is not updated beyond the final mask lane that is set, since the mask can be used to avoid out of bounds exceptions.
 
I was hesitating about removing these methods and now after seeing Razvan’s updates and where we are heading i am even more convinced we should remove them, they are surprising and hard to get right, and in general the positional state of buffers is often a pain to manage, that’s best left to the caller. 

So i propose to remove them, and i can send an update of this webrev with those changes.

—

A follow on patch will test for out of bounds cases. There is currently an issue with mask variants being dependent on blend. We should not perform memory accesses (or they should not be generally observable) for false mask lanes. It is important we can use a mask to avoid out of bounds exceptions when managing the tail of an array that does not completely fit into a vector. This may complicate the intrinsic strategy.

Paul.


More information about the panama-dev mailing list