On 26/01/2016 04:57, Mikael Vidstedt wrote:
I've finally found some time to return to this and have a new version
of the patch which looks more promising:
http://cr.openjdk.java.net/~mikael/webrevs/8141491/webrev.02/webrev/
This uses memcpy to read/write the native data and the preliminary
benchmark numbers on linux/x64 shows the expected performance. I'll
work on verifying that it doesn't impact other platforms negatively
over the next days/weeks.
Btw, I also played around with implementing it in pure Java, but there
are some issues getting C2 to correctly vectorize the loop given the
native data accesses, so the native code seems to be needed for now.
This looks good and maybe it was a good thing that the compiler upgrade
ran into this. We eliminated most of the native methods in this area a
few years ago but had to leave the byte swapping methods. It would be
good to eliminate those some day.
-Alan