Request for review (S): 7100935: win32: memmove is not atomic but is used for pd_conjoint_*_atomic operations

David Holmes david.holmes at
Tue Oct 18 23:47:41 PDT 2011

Hi Axel,

On 18/10/2011 11:15 PM, Siebenborn, Axel wrote:
> 7100935: win32: memmove is not atomic but is used for  pd_conjoint_*_atomic.
> The fix is to replace the call to memmove by a simple copy loop.
> I made the fix for windows_x86_64 and for sparc.

x86_32 is fixed too :)

> I added the tests for copying oops and the copy of short arrays of Volker.
> I did not use the template of my original change.
> However, win compiler would inline the template and so does gcc. It's strange, that Sun's compiler doesn't.

The code changes look okay to me too.

I have a slight issue with the tests. Both tests are set to run with 
-Xint, but for windows this impacts compiled code as well (as far as I 
can see on Windows C1/C2 do not intrinsify these operations and so use 
the runtime pd_conjoint_*_atomic functions). Not quite sure how to 
handle this - I'll look into and get back to you.


More information about the hotspot-runtime-dev mailing list