< prev index next >

src/share/vm/code/codeCache.hpp

Print this page
rev 10188 : [mq]: scavenge_nmethods_auto_prune

*** 151,166 **** // If "unloading_occurred" is true, then unloads (i.e., breaks root links // to) any unmarked codeBlobs in the cache. Sets "marked_for_unloading" // to "true" iff some code got unloaded. static void do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred); static void asserted_non_scavengable_nmethods_do(CodeBlobClosure* f = NULL) PRODUCT_RETURN; ! static void scavenge_root_nmethods_do(CodeBlobClosure* f); static nmethod* scavenge_root_nmethods() { return _scavenge_root_nmethods; } static void set_scavenge_root_nmethods(nmethod* nm) { _scavenge_root_nmethods = nm; } static void add_scavenge_root_nmethod(nmethod* nm); ! static void drop_scavenge_root_nmethod(nmethod* nm); static void prune_scavenge_root_nmethods(); // Printing/debugging static void print(); // prints summary static void print_internals(); --- 151,168 ---- // If "unloading_occurred" is true, then unloads (i.e., breaks root links // to) any unmarked codeBlobs in the cache. Sets "marked_for_unloading" // to "true" iff some code got unloaded. static void do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred); static void asserted_non_scavengable_nmethods_do(CodeBlobClosure* f = NULL) PRODUCT_RETURN; ! // Apply f to every live code blob in scavengable nmethods. Remove nmethods from ! // the list if f->fix_relocations and the nmethod no longer has scavengable oops. ! static void scavenge_root_nmethods_do(CodeBlobToOopClosure* f); static nmethod* scavenge_root_nmethods() { return _scavenge_root_nmethods; } static void set_scavenge_root_nmethods(nmethod* nm) { _scavenge_root_nmethods = nm; } static void add_scavenge_root_nmethod(nmethod* nm); ! static void drop_scavenge_root_nmethod(nmethod* nm, nmethod* prev = NULL); static void prune_scavenge_root_nmethods(); // Printing/debugging static void print(); // prints summary static void print_internals();
< prev index next >