208 // Profiled methods
209 return CodeBlobType::MethodProfiled;
210 }
211 ShouldNotReachHere();
212 return 0;
213 }
214
215 static void verify_clean_inline_caches();
216 static void verify_icholder_relocations();
217
218 // Deoptimization
219 private:
220 static int mark_for_deoptimization(DepChange& changes);
221 #ifdef HOTSWAP
222 static int mark_for_evol_deoptimization(instanceKlassHandle dependee);
223 #endif // HOTSWAP
224
225 public:
226 static void mark_all_nmethods_for_deoptimization();
227 static int mark_for_deoptimization(Method* dependee);
228 static void make_marked_nmethods_zombies();
229 static void make_marked_nmethods_not_entrant();
230
231 // Flushing and deoptimization
232 static void flush_dependents_on(instanceKlassHandle dependee);
233 #ifdef HOTSWAP
234 // Flushing and deoptimization in case of evolution
235 static void flush_evol_dependents_on(instanceKlassHandle dependee);
236 #endif // HOTSWAP
237 // Support for fullspeed debugging
238 static void flush_dependents_on_method(methodHandle dependee);
239
240 // tells how many nmethods have dependencies
241 static int number_of_nmethods_with_dependencies();
242
243 static int get_codemem_full_count() { return _codemem_full_count; }
244 };
245
246
247 // Iterator to iterate over nmethods in the CodeCache.
248 class NMethodIterator : public StackObj {
|
208 // Profiled methods
209 return CodeBlobType::MethodProfiled;
210 }
211 ShouldNotReachHere();
212 return 0;
213 }
214
215 static void verify_clean_inline_caches();
216 static void verify_icholder_relocations();
217
218 // Deoptimization
219 private:
220 static int mark_for_deoptimization(DepChange& changes);
221 #ifdef HOTSWAP
222 static int mark_for_evol_deoptimization(instanceKlassHandle dependee);
223 #endif // HOTSWAP
224
225 public:
226 static void mark_all_nmethods_for_deoptimization();
227 static int mark_for_deoptimization(Method* dependee);
228 static void make_marked_nmethods_not_entrant();
229
230 // Flushing and deoptimization
231 static void flush_dependents_on(instanceKlassHandle dependee);
232 #ifdef HOTSWAP
233 // Flushing and deoptimization in case of evolution
234 static void flush_evol_dependents_on(instanceKlassHandle dependee);
235 #endif // HOTSWAP
236 // Support for fullspeed debugging
237 static void flush_dependents_on_method(methodHandle dependee);
238
239 // tells how many nmethods have dependencies
240 static int number_of_nmethods_with_dependencies();
241
242 static int get_codemem_full_count() { return _codemem_full_count; }
243 };
244
245
246 // Iterator to iterate over nmethods in the CodeCache.
247 class NMethodIterator : public StackObj {
|