harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geir Magnusson Jr." <g...@pobox.com>
Subject Re: [drlvm] finalizer design questions
Date Thu, 28 Dec 2006 14:52:54 GMT

On Dec 28, 2006, at 9:33 AM, Xiao-Feng Li wrote:

> On 12/28/06, Weldon Washburn <weldonwjw@gmail.com> wrote:
>> On 12/27/06, Geir Magnusson Jr. <geir@pobox.com> wrote
>>

[SNIP]


>> Mode 2
>>
>> Again the JVM is running exactly 7 threads.  Only the one object's
>> finalize() method is ever called.  Process Viewer shows Thread 3  
>> has "above
>> normal" priority and accumulating roughly 99% of the cpu time.   
>> Watching the
>> console output for a few minutes, it look like 2600 finalize()  
>> loops to 15
>> main loops.  It appears that no additional threads are created to  
>> handle to
>> remaining 99,999 waiting finalizable objects.   These objects  
>> appear to be
>> blocked waiting for the first object to finish. Also it looks like  
>> Thread 0
>> is running main() just like Mode 0 and 1.  Given that Process  
>> Viewer shows
>> that Thread 0 continuously and slowly accumulates CPU time, it  
>> appears that
>> main() is not suspended but continues to make forward progress.
>>
>
> Very interesting. Thanks for the probation. I think GCv5 finalization
> subsystem does similarly.

Question - why would this be part of the GC system, rather than a VM  
facility that the GC uses?

geir




Mime
View raw message