RFR JDK-8141491: Unaligned memory access in Bits.c

Mikael Vidstedt mikael.vidstedt at oracle.com
Tue Dec 1 21:29:04 UTC 2015


This is as far as I got before I got interrupted:

http://cr.openjdk.java.net/~mikael/NioBenchmark.java

I haven't had time yet to verify that the benchmark code even measures 
the right thing, much less figure out why I get the performance impact 
with my fix. I can see many reasons why that could be the case, but it 
would be good to know if it's something trivial which can be easily 
fixed. In general, it sure would be nice to make this code behave and 
perform without compiler specific annotations, especially given that 
reliance on unaligned memory accesses and the cast specifically is 
sketchy at best.

Cheers,
Mikael

On 2015-11-30 10:13, Alexander Smundak wrote:
> On Wed, Nov 25, 2015 at 2:52 PM,  <hotspot-dev-request at openjdk.java.net> wrote:
>> Have you looked anything at the performance of the generated code?
> No. I looked at the emitted code, saw 'MOVQDU' instruction being used
> (it was 'MOVQDA' before that resulted in alignment error), and concluded
>   that the compiler knows what it's doing :-)
>> It would be interesting to understand what type of performance you see with
>> your patch.
> If you have specific benchmark in mind, I am willing to run it.
>
> Sasha




More information about the core-libs-dev mailing list