review request for 6699669

Xiaobin Lu Xiaobin.Lu at Sun.COM
Fri Mar 27 16:05:19 PDT 2009


Webrev: http://webrev.invokedynamic.info/xiaobin.lu/6699669/

Details:

Currently, we use a field called "_highest_lock" in the Thread structure 
to keep track of the highest possible lock address so that we can tell 
whether an given lock address belongs to the current thread. The field 
gets updated whenever the thread acquires a lock. It turns out in some 
cases, for example, after the interpreted frames are replaced by the 
compiled frames, the _highest_lock field might not get updated correctly 
and as a result, Thread::is_lock_owned could return false even the 
thread owns the lock since that method relies on the correctness of the 
_highest_lock.

It turns out that we could completely get rid of the use of 
_highest_lock and solely rely on _stack_base and _stack_size recorded in 
the Thread structure to tell whether a given lock address belongs to the 
current thread. And that is exactly what I am trying to do in the webrev.

Reviewed by:
Verified by:
Two tests from the bug report
runThese full
nsk in progress

Thanks to Tom, Dave & David for the help to understand the issue.
-Xiaobin



More information about the hotspot-runtime-dev mailing list