[kaffe] Lock patch

Guilhem Lavaux guilhem at kaffe.org
Tue Mar 8 10:00:08 PST 2005

Timothy Stack wrote:
> On Mar 8, 2005, at 5:38 AM, Helmer Krämer wrote:
>> If *lkp does not point to a heavy lock, a new one is allocated on the 
>> heap.

Hi Tim,

> I just want to interject a little note here, which I'm not sure is even 
> relevant...
> Basically, Pat Tullmann (i think) once observed that the maximum number
> of heavy locks needed by the system was the same as the number of threads
> in the system.  In other words, every thread is either: running, blocked 
> trying
> to obtain a lock, or blocked in an Object.wait().  Therefore, you could
> preallocate all of the lock objects when creating threads and not have to
> try and allocate memory when taking a lock.  Of course, this may not apply
> anymore since y'all seem to be leaving the heavies in place.  Anyways,
> there is an implementation of this in the janosvm if you're interested.

Yep. I've though about caching the semaphore but not the heavy lock. As 
I've detected another deadlock with the new implementation I will 
stabilize it a little more then maybe add a cache in threadData as 
JanosVM do.

Thanks Tim !



More information about the kaffe mailing list