equal
deleted
inserted
replaced
79 } |
79 } |
80 return skip; |
80 return skip; |
81 } |
81 } |
82 |
82 |
83 bool VM_GC_Operation::doit_prologue() { |
83 bool VM_GC_Operation::doit_prologue() { |
84 assert(Thread::current()->is_Java_thread(), "just checking"); |
|
85 assert(((_gc_cause != GCCause::_no_gc) && |
84 assert(((_gc_cause != GCCause::_no_gc) && |
86 (_gc_cause != GCCause::_no_cause_specified)), "Illegal GCCause"); |
85 (_gc_cause != GCCause::_no_cause_specified)), "Illegal GCCause"); |
87 |
86 |
88 // To be able to handle a GC the VM initialization needs to be completed. |
87 // To be able to handle a GC the VM initialization needs to be completed. |
89 if (!is_init_completed()) { |
88 if (!is_init_completed()) { |
108 return _prologue_succeeded; |
107 return _prologue_succeeded; |
109 } |
108 } |
110 |
109 |
111 |
110 |
112 void VM_GC_Operation::doit_epilogue() { |
111 void VM_GC_Operation::doit_epilogue() { |
113 assert(Thread::current()->is_Java_thread(), "just checking"); |
|
114 // Clean up old interpreter OopMap entries that were replaced |
112 // Clean up old interpreter OopMap entries that were replaced |
115 // during the GC thread root traversal. |
113 // during the GC thread root traversal. |
116 OopMapCache::cleanup_old_entries(); |
114 OopMapCache::cleanup_old_entries(); |
117 if (Universe::has_reference_pending_list()) { |
115 if (Universe::has_reference_pending_list()) { |
118 Heap_lock->notify_all(); |
116 Heap_lock->notify_all(); |