equal
deleted
inserted
replaced
166 |
166 |
167 // GC support |
167 // GC support |
168 static void gc_epilogue(); |
168 static void gc_epilogue(); |
169 static void gc_prologue(); |
169 static void gc_prologue(); |
170 static void verify_oops(); |
170 static void verify_oops(); |
171 // If "unloading_occurred" is true, then unloads (i.e., breaks root links |
171 // If any oops are not marked this method unloads (i.e., breaks root links |
172 // to) any unmarked codeBlobs in the cache. Sets "marked_for_unloading" |
172 // to) any unmarked codeBlobs in the cache. Sets "marked_for_unloading" |
173 // to "true" iff some code got unloaded. |
173 // to "true" iff some code got unloaded. |
|
174 // "unloading_occurred" controls whether metadata should be cleaned because of class unloading. |
174 static void do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred); |
175 static void do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred); |
175 static void asserted_non_scavengable_nmethods_do(CodeBlobClosure* f = NULL) PRODUCT_RETURN; |
176 static void asserted_non_scavengable_nmethods_do(CodeBlobClosure* f = NULL) PRODUCT_RETURN; |
176 |
177 |
177 // Apply f to every live code blob in scavengable nmethods. Prune nmethods |
178 // Apply f to every live code blob in scavengable nmethods. Prune nmethods |
178 // from the list of scavengable nmethods if f->fix_relocations() and a nmethod |
179 // from the list of scavengable nmethods if f->fix_relocations() and a nmethod |
221 |
222 |
222 static double reverse_free_ratio(int code_blob_type); |
223 static double reverse_free_ratio(int code_blob_type); |
223 |
224 |
224 static bool needs_cache_clean() { return _needs_cache_clean; } |
225 static bool needs_cache_clean() { return _needs_cache_clean; } |
225 static void set_needs_cache_clean(bool v) { _needs_cache_clean = v; } |
226 static void set_needs_cache_clean(bool v) { _needs_cache_clean = v; } |
|
227 |
226 static void clear_inline_caches(); // clear all inline caches |
228 static void clear_inline_caches(); // clear all inline caches |
227 static void cleanup_inline_caches(); |
229 static void cleanup_inline_caches(); // clean unloaded/zombie nmethods from inline caches |
|
230 static void do_unloading_nmethod_caches(bool class_unloading_occurred); // clean all nmethod caches for unloading, including inline caches |
228 |
231 |
229 // Returns true if an own CodeHeap for the given CodeBlobType is available |
232 // Returns true if an own CodeHeap for the given CodeBlobType is available |
230 static bool heap_available(int code_blob_type); |
233 static bool heap_available(int code_blob_type); |
231 |
234 |
232 // Returns the CodeBlobType for the given CompiledMethod |
235 // Returns the CodeBlobType for the given CompiledMethod |