hotspot/src/share/vm/code/codeCache.hpp
changeset 5924 dc9d04930c82
parent 5547 f4b087cbb361
child 7108 4f87b92f3060
equal deleted inserted replaced
5915:406168b53eb0 5924:dc9d04930c82
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2010, 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.
    41   // so that the generated assembly code is always there when it's needed.
    41   // so that the generated assembly code is always there when it's needed.
    42   // This may cause memory leak, but is necessary, for now. See 4423824,
    42   // This may cause memory leak, but is necessary, for now. See 4423824,
    43   // 4422213 or 4436291 for details.
    43   // 4422213 or 4436291 for details.
    44   static CodeHeap * _heap;
    44   static CodeHeap * _heap;
    45   static int _number_of_blobs;
    45   static int _number_of_blobs;
       
    46   static int _number_of_adapters;
       
    47   static int _number_of_nmethods;
    46   static int _number_of_nmethods_with_dependencies;
    48   static int _number_of_nmethods_with_dependencies;
    47   static bool _needs_cache_clean;
    49   static bool _needs_cache_clean;
    48   static nmethod* _scavenge_root_nmethods;  // linked via nm->scavenge_root_link()
    50   static nmethod* _scavenge_root_nmethods;  // linked via nm->scavenge_root_link()
    49   static nmethod* _saved_nmethods;          // linked via nm->saved_nmethod_look()
    51   static nmethod* _saved_nmethods;          // linked via nm->saved_nmethod_look()
    50 
    52 
   103   static CodeBlob* alive(CodeBlob *cb);
   105   static CodeBlob* alive(CodeBlob *cb);
   104   static nmethod* alive_nmethod(CodeBlob *cb);
   106   static nmethod* alive_nmethod(CodeBlob *cb);
   105   static nmethod* first_nmethod();
   107   static nmethod* first_nmethod();
   106   static nmethod* next_nmethod (CodeBlob* cb);
   108   static nmethod* next_nmethod (CodeBlob* cb);
   107   static int       nof_blobs()                 { return _number_of_blobs; }
   109   static int       nof_blobs()                 { return _number_of_blobs; }
       
   110   static int       nof_adapters()              { return _number_of_adapters; }
       
   111   static int       nof_nmethods()              { return _number_of_nmethods; }
   108 
   112 
   109   // GC support
   113   // GC support
   110   static void gc_epilogue();
   114   static void gc_epilogue();
   111   static void gc_prologue();
   115   static void gc_prologue();
   112   // If "unloading_occurred" is true, then unloads (i.e., breaks root links
   116   // If "unloading_occurred" is true, then unloads (i.e., breaks root links