review (S) for 7028374: race in fix_oop_relocations for scavengeable nmethods
Tom Rodriguez
tom.rodriguez at oracle.com
Thu Mar 17 16:34:02 PDT 2011
On Mar 17, 2011, at 4:28 PM, Vladimir Kozlov wrote:
> This looks good.
>
> Again I want parens around arithmetic expressions in assert checks in relocInfo_x86.cpp:
>
> + assert(*(int32_t*) disp == x - next_ip, "instructions must match");
> + assert(*pd_address_in_code() == x + o, "instructions must match");
Ok.
tom
>
> Thanks,
> Vladimir
>
> Tom Rodriguez wrote:
>> http://cr.openjdk.java.net/~never/7028374
>> 7028374: race in fix_oop_relocations for scavengeable nmethods
>> Reviewed-by:
>> In ScavengeRootsInCode mode oops could sometimes be udpated after
>> their relocations had been updated, resulting in stale oops in
>> generated code. The fix is to move the rewriting of the relocations
>> to the epilogue part of the scavenge nmethods logic. I also added
>> verification of the CodeCache which would have detected this problem
>> immediately. The statics in Class changes will be laid on top of
>> these changes. Tested with statics changes with jbb.
More information about the hotspot-dev
mailing list