< prev index next >
src/share/vm/code/codeCache.hpp
Print this page
rev 10188 : [mq]: scavenge_nmethods_auto_prune
*** 114,123 ****
--- 114,127 ----
static size_t bytes_allocated_in_freelists();
static int allocated_segments();
static size_t freelists_length();
+ static void set_scavenge_root_nmethods(nmethod* nm) { _scavenge_root_nmethods = nm; }
+ static void prune_scavenge_root_nmethods();
+ static void unlink_scavenge_root_nmethod(nmethod* nm, nmethod* prev);
+
public:
// Initialization
static void initialize();
// Allocation/administration
*** 151,167 ****
// 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();
static void print_memory_overhead();
--- 155,175 ----
// 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. Prune nmethods
! // from the list of scavengable nmethods if f->fix_relocations() and a nmethod
! // no longer has scavengable oops. If f->fix_relocations(), then f must copy
! // objects to their new location immediately to avoid fixing nmethods on the
! // basis of the old object locations.
! static void scavenge_root_nmethods_do(CodeBlobToOopClosure* f);
static nmethod* scavenge_root_nmethods() { return _scavenge_root_nmethods; }
static void add_scavenge_root_nmethod(nmethod* nm);
static void drop_scavenge_root_nmethod(nmethod* nm);
// Printing/debugging
static void print(); // prints summary
static void print_internals();
static void print_memory_overhead();
< prev index next >