From: Perry C. <per...@us...> - 2002-07-11 15:53:50
|
If you look at the semi-space collector's heapExhausted method, you'll see that it calls VM_GCUtil.outOfMemory, gc1, or sysFail. The body of outOfMemory is guarded by an explicit lock outOfMemoryLock. The call to sysFail is a fatal condition so it doesn't matter much. The call to gc1 is the typical case and it is certainly possible that multiple threads call it. However, gc1 merely calls VM_Collector.collect which then calls the synchronized VM_HandShake.requestAndAwaitCompletion. Perry "Kim, Woo Jin" <wj...@ss...>@www-124.southbury.usf.ibm.com on 07/11/2002 02:01:46 AM Please respond to jik...@ww... Sent by: jik...@ww... To: "jalapeno researchers" <jik...@ww...> cc: Subject: [Jikesrvm-researchers] Can two or more threads enter heapExhausted() in VM_Allocator? Hello, I'm studying garbage collection. I have a question about synchronization. I think that there is no synchronization in heapExhausted() method in VM_Allocator. If it is true, two or more threads (VM_Processors, exactly) can enter this method. Is there any problem in this case? I can't figure out that no problem occurs in this case. In addition, I am not sure that this case can occur because of quasi-preemption feature of RVM. Which is true? That fact helps me implement what I want corrently. Thank you. I hope to see your reply. _______________________________________________ Jikesrvm-researchers mailing list Jik...@ww... http://www-124.ibm.com/developerworks/oss/mailman/listinfo/jikesrvm-researchers |