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); |