RFR (S): G1: Fix bug with compressed oops on x86_64 and sparc
Doerr, Martin
martin.doerr at sap.com
Tue Apr 16 08:38:17 UTC 2013
Hi all,
we found a G1 bug in the template interpreter on x86_64 and sparc with compressed Oops.
"do_oop_store" performs a "store_heap_oop" which compresses the input register.
This compressed Oop is passed to the succeeding g1_write_barrier_post, which is wrong.
Correctly, g1_write_barrier_post needs the uncompressed Oop for the heap region crossing check.
This fix preserves the uncompressed Oop in a register which gets passed to the g1_write_barrier_post:
http://cr.openjdk.java.net/~goetz/webrevs/g1-cOops_bug/
Please supply a bug id and review this change.
Kind regards,
Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20130416/3bb55a39/attachment.htm>
More information about the hotspot-gc-dev
mailing list