comparison src/share/vm/code/codeCache.hpp @ 1644:2a47bd84841f

6965184: possible races in make_not_entrant_or_zombie Reviewed-by: kvn
author never
date Thu, 08 Jul 2010 14:29:44 -0700
parents c18cbe5936b8
children 1e9a9d2e6509
comparison
equal deleted inserted replaced
1635:a693e51ac197 1644:2a47bd84841f
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