hotspot/src/share/vm/code/codeCache.hpp
changeset 28374 0558e321c027
parent 27642 8c9eff693145
child 28730 106944a21769
equal deleted inserted replaced
28373:26fdc99d32f8 28374:0558e321c027
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   207 
   207 
   208   static void verify_clean_inline_caches();
   208   static void verify_clean_inline_caches();
   209   static void verify_icholder_relocations();
   209   static void verify_icholder_relocations();
   210 
   210 
   211   // Deoptimization
   211   // Deoptimization
       
   212  private:
   212   static int  mark_for_deoptimization(DepChange& changes);
   213   static int  mark_for_deoptimization(DepChange& changes);
   213 #ifdef HOTSWAP
   214 #ifdef HOTSWAP
   214   static int  mark_for_evol_deoptimization(instanceKlassHandle dependee);
   215   static int  mark_for_evol_deoptimization(instanceKlassHandle dependee);
   215 #endif // HOTSWAP
   216 #endif // HOTSWAP
   216 
   217 
       
   218  public:
   217   static void mark_all_nmethods_for_deoptimization();
   219   static void mark_all_nmethods_for_deoptimization();
   218   static int  mark_for_deoptimization(Method* dependee);
   220   static int  mark_for_deoptimization(Method* dependee);
   219   static void make_marked_nmethods_zombies();
   221   static void make_marked_nmethods_zombies();
   220   static void make_marked_nmethods_not_entrant();
   222   static void make_marked_nmethods_not_entrant();
       
   223 
       
   224   // Flushing and deoptimization
       
   225   static void flush_dependents_on(instanceKlassHandle dependee);
       
   226   static void flush_dependents_on(Handle call_site, Handle method_handle);
       
   227 #ifdef HOTSWAP
       
   228   // Flushing and deoptimization in case of evolution
       
   229   static void flush_evol_dependents_on(instanceKlassHandle dependee);
       
   230 #endif // HOTSWAP
       
   231   // Support for fullspeed debugging
       
   232   static void flush_dependents_on_method(methodHandle dependee);
   221 
   233 
   222   // tells how many nmethods have dependencies
   234   // tells how many nmethods have dependencies
   223   static int number_of_nmethods_with_dependencies();
   235   static int number_of_nmethods_with_dependencies();
   224 
   236 
   225   static int get_codemem_full_count() { return _codemem_full_count; }
   237   static int get_codemem_full_count() { return _codemem_full_count; }