Request for review(M): 4930919: race condition in MDO creation at back branch locations
Igor Veresov
igor.veresov at oracle.com
Sun Jan 9 20:56:19 PST 2011
The problem arises when a thread fails to allocate an MDO (by loosing
the race) and so profile_method() returns 0. And then we reload the MDO
pointer and see it's not null and has been just set by another thread
which makes us decide that the data index value the profile_method()
returned is valid.
The solution is to reuse set_method_data_for_bcp() set up mdp: make
profile_method() just to create MDO and leave bcp->di translation for
set_method_data_for_bcp().
Webrev: http://cr.openjdk.java.net/~iveresov/4930919/webrev.00/
More information about the hotspot-compiler-dev
mailing list