review (S) for 7028374: race in fix_oop_relocations for scavengeable nmethods

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Mar 17 16:28:39 PDT 2011


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");

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