On Fri, 23 Oct 2020 15:37:03 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:
>>> I can fix the whole thing thus, without problem listing the test then. >>> Agree? >> >> Yes - another thing worth considering though is: if 32bit alignment is the >> best we can ask a 32bit VM (e.g. a 32bit VM doesn't really 64-bit align a >> double[] it seems, from what you are getting), then I think an even better >> fix would be to just make the constants JAVA_LONG and JAVA_DOUBLE aligned to >> 32 or 64 depending on the platform (and leave the test unchanged). > >> Yes - another thing worth considering though is: if 32bit alignment is the >> best we can ask a 32bit VM (e.g. a 32bit VM doesn't really 64-bit align a >> double[] it seems, from what you are getting), then I think an even better >> fix would be to just make the constants JAVA_LONG and JAVA_DOUBLE aligned to >> 32 or 64 depending on the platform (and leave the test unchanged). > > Please see the new revision. It passes `java/util/stream` tests on both > `x86_32` and `x86_64`. > > What 32-bit VM is able to do is implementation-dependent, no? I do wonder if > long[]/double[] have to be aligned by 8 anyway, since we can do a VarHandle > atomic access over its elements, and it is supposed to go correctly. Let's > figure that out separately? Filed > [JDK-8255350](https://bugs.openjdk.java.net/browse/JDK-8255350). Looks good to me ------------- PR: https://git.openjdk.java.net/jdk/pull/836