equal
deleted
inserted
replaced
2485 // We need to clear the "in_progress" flag in the CM thread before |
2485 // We need to clear the "in_progress" flag in the CM thread before |
2486 // we wake up any waiters (especially when ExplicitInvokesConcurrent |
2486 // we wake up any waiters (especially when ExplicitInvokesConcurrent |
2487 // is set) so that if a waiter requests another System.gc() it doesn't |
2487 // is set) so that if a waiter requests another System.gc() it doesn't |
2488 // incorrectly see that a marking cycle is still in progress. |
2488 // incorrectly see that a marking cycle is still in progress. |
2489 if (concurrent) { |
2489 if (concurrent) { |
2490 _cmThread->clear_in_progress(); |
2490 _cmThread->set_idle(); |
2491 } |
2491 } |
2492 |
2492 |
2493 // This notify_all() will ensure that a thread that called |
2493 // This notify_all() will ensure that a thread that called |
2494 // System.gc() with (with ExplicitGCInvokesConcurrent set or not) |
2494 // System.gc() with (with ExplicitGCInvokesConcurrent set or not) |
2495 // and it's waiting for a full GC to finish will be woken up. It is |
2495 // and it's waiting for a full GC to finish will be woken up. It is |