Compressed oops are copied bytewise on windows amd64.

Siebenborn, Axel axel.siebenborn at
Thu Oct 13 00:24:52 PDT 2011

Hi all,
on windows-amd64 the interpreter copies compressed oops using memmove.
However, memmove is not thread safe and might copy bytewise.
Another thread can see a partly copied compressed oop.
I added a small test, where a second java thread reads from the array, while the first copies.

The second thread could also be the parallel marking of the CMS.
I prepared  the following webrev:

The suggested fix replaces the memmove by a simple copy loop.

If someone provides me a BugID, I'll change the webrev accordingly and add the test.
-------------- next part --------------
An HTML attachment was scrubbed...
-------------- next part --------------
A non-text attachment was scrubbed...
Type: application/octet-stream
Size: 892 bytes
Url : 

More information about the hotspot-runtime-dev mailing list