comparison src/share/vm/code/codeCache.hpp @ 10206:0cfa93c2fcc4

8012547: Code cache flushing can get stuck reclaming of memory Summary: Keep sweeping regardless of if we are flushing Reviewed-by: kvn, twisti
author neliasso
date Mon, 29 Apr 2013 13:20:19 +0200
parents a7fb14888912
children 91eba9f82325
comparison
equal deleted inserted replaced
10205:62b683108582 10206:0cfa93c2fcc4
55 static int _number_of_adapters; 55 static int _number_of_adapters;
56 static int _number_of_nmethods; 56 static int _number_of_nmethods;
57 static int _number_of_nmethods_with_dependencies; 57 static int _number_of_nmethods_with_dependencies;
58 static bool _needs_cache_clean; 58 static bool _needs_cache_clean;
59 static nmethod* _scavenge_root_nmethods; // linked via nm->scavenge_root_link() 59 static nmethod* _scavenge_root_nmethods; // linked via nm->scavenge_root_link()
60 static nmethod* _saved_nmethods; // linked via nm->saved_nmethod_look() 60 static nmethod* _saved_nmethods; // Linked list of speculatively disconnected nmethods.
61 61
62 static void verify_if_often() PRODUCT_RETURN; 62 static void verify_if_often() PRODUCT_RETURN;
63 63
64 static void mark_scavenge_root_nmethods() PRODUCT_RETURN; 64 static void mark_scavenge_root_nmethods() PRODUCT_RETURN;
65 static void verify_perm_nmethods(CodeBlobClosure* f_or_null) PRODUCT_RETURN; 65 static void verify_perm_nmethods(CodeBlobClosure* f_or_null) PRODUCT_RETURN;
166 166
167 static bool needs_cache_clean() { return _needs_cache_clean; } 167 static bool needs_cache_clean() { return _needs_cache_clean; }
168 static void set_needs_cache_clean(bool v) { _needs_cache_clean = v; } 168 static void set_needs_cache_clean(bool v) { _needs_cache_clean = v; }
169 static void clear_inline_caches(); // clear all inline caches 169 static void clear_inline_caches(); // clear all inline caches
170 170
171 static nmethod* find_and_remove_saved_code(Method* m); 171 static nmethod* reanimate_saved_code(Method* m);
172 static void remove_saved_code(nmethod* nm); 172 static void remove_saved_code(nmethod* nm);
173 static void speculatively_disconnect(nmethod* nm); 173 static void speculatively_disconnect(nmethod* nm);
174 174
175 // Deoptimization 175 // Deoptimization
176 static int mark_for_deoptimization(DepChange& changes); 176 static int mark_for_deoptimization(DepChange& changes);