Mercurial > hg > graal-compiler
comparison src/share/vm/code/codeCache.hpp @ 10405:f2110083203d
8005849: JEP 167: Event-Based JVM Tracing
Reviewed-by: acorn, coleenp, sla
Contributed-by: Karen Kinnear <karen.kinnear@oracle.com>, Bengt Rutisson <bengt.rutisson@oracle.com>, Calvin Cheung <calvin.cheung@oracle.com>, Erik Gahlin <erik.gahlin@oracle.com>, Erik Helin <erik.helin@oracle.com>, Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>, Keith McGuigan <keith.mcguigan@oracle.com>, Mattias Tobiasson <mattias.tobiasson@oracle.com>, Markus Gronlund <markus.gronlund@oracle.com>, Mikael Auno <mikael.auno@oracle.com>, Nils Eliasson <nils.eliasson@oracle.com>, Nils Loodin <nils.loodin@oracle.com>, Rickard Backman <rickard.backman@oracle.com>, Staffan Larsen <staffan.larsen@oracle.com>, Stefan Karlsson <stefan.karlsson@oracle.com>, Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
author | sla |
---|---|
date | Mon, 10 Jun 2013 11:30:51 +0200 |
parents | 91eba9f82325 |
children | 836a62f43af9 510fbd28919c |
comparison
equal
deleted
inserted
replaced
10404:d0add7016434 | 10405:f2110083203d |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2013, 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. |
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; |
66 | 66 |
67 static int _codemem_full_count; | |
68 | |
67 public: | 69 public: |
68 | 70 |
69 // Initialization | 71 // Initialization |
70 static void initialize(); | 72 static void initialize(); |
73 | |
74 static void report_codemem_full(); | |
71 | 75 |
72 // Allocation/administration | 76 // Allocation/administration |
73 static CodeBlob* allocate(int size, bool is_critical = false); // allocates a new CodeBlob | 77 static CodeBlob* allocate(int size, bool is_critical = false); // allocates a new CodeBlob |
74 static void commit(CodeBlob* cb); // called when the allocated CodeBlob has been filled | 78 static void commit(CodeBlob* cb); // called when the allocated CodeBlob has been filled |
75 static int alignment_unit(); // guaranteed alignment of all CodeBlobs | 79 static int alignment_unit(); // guaranteed alignment of all CodeBlobs |
153 static void log_state(outputStream* st); | 157 static void log_state(outputStream* st); |
154 | 158 |
155 // The full limits of the codeCache | 159 // The full limits of the codeCache |
156 static address low_bound() { return (address) _heap->low_boundary(); } | 160 static address low_bound() { return (address) _heap->low_boundary(); } |
157 static address high_bound() { return (address) _heap->high_boundary(); } | 161 static address high_bound() { return (address) _heap->high_boundary(); } |
162 static address high() { return (address) _heap->high(); } | |
158 | 163 |
159 // Profiling | 164 // Profiling |
160 static address first_address(); // first address used for CodeBlobs | 165 static address first_address(); // first address used for CodeBlobs |
161 static address last_address(); // last address used for CodeBlobs | 166 static address last_address(); // last address used for CodeBlobs |
162 static size_t capacity() { return _heap->capacity(); } | 167 static size_t capacity() { return _heap->capacity(); } |
184 static void make_marked_nmethods_zombies(); | 189 static void make_marked_nmethods_zombies(); |
185 static void make_marked_nmethods_not_entrant(); | 190 static void make_marked_nmethods_not_entrant(); |
186 | 191 |
187 // tells how many nmethods have dependencies | 192 // tells how many nmethods have dependencies |
188 static int number_of_nmethods_with_dependencies(); | 193 static int number_of_nmethods_with_dependencies(); |
194 | |
195 static int get_codemem_full_count() { return _codemem_full_count; } | |
189 }; | 196 }; |
190 | 197 |
191 #endif // SHARE_VM_CODE_CODECACHE_HPP | 198 #endif // SHARE_VM_CODE_CODECACHE_HPP |