Mercurial > hg > truffle
comparison src/share/vm/code/debugInfoRec.hpp @ 6725:da91efe96a93
6964458: Reimplement class meta-data storage to use native memory
Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author | coleenp |
---|---|
date | Sat, 01 Sep 2012 13:25:18 -0400 |
parents | f95d63e2154a |
children | e522a00b91aa |
comparison
equal
deleted
inserted
replaced
6724:36d1d483d5d6 | 6725:da91efe96a93 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1998, 2012, 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. |
54 // "repeat last four steps for all scopes" | 54 // "repeat last four steps for all scopes" |
55 // "outer most scope first and inner most scope last" | 55 // "outer most scope first and inner most scope last" |
56 // NB: nodes from create_scope_values and create_locations | 56 // NB: nodes from create_scope_values and create_locations |
57 // can be reused for simple sharing. | 57 // can be reused for simple sharing. |
58 // - mark the end of the scopes (end_safepoint or end_non_safepoint) | 58 // - mark the end of the scopes (end_safepoint or end_non_safepoint) |
59 // 2) Use oop_size, data_size, pcs_size to create the nmethod and | 59 // 2) Use oop_size, metadata_size, data_size, pcs_size to create the nmethod |
60 // finally migrate the debugging information into the nmethod | 60 // and finally migrate the debugging information into the nmethod |
61 // by calling copy_to. | 61 // by calling copy_to. |
62 | 62 |
63 class DebugToken; // Opaque datatype for stored: | 63 class DebugToken; // Opaque datatype for stored: |
64 // - GrowableArray<ScopeValue*> | 64 // - GrowableArray<ScopeValue*> |
65 // - GrowableArray<MonitorValue*> | 65 // - GrowableArray<MonitorValue*> |
121 | 121 |
122 // returns the size of the generated scopeDescs. | 122 // returns the size of the generated scopeDescs. |
123 int data_size(); | 123 int data_size(); |
124 int pcs_size(); | 124 int pcs_size(); |
125 int oop_size() { return oop_recorder()->oop_size(); } | 125 int oop_size() { return oop_recorder()->oop_size(); } |
126 int metadata_size() { return oop_recorder()->metadata_size(); } | |
126 | 127 |
127 // copy the generated debugging information to nmethod | 128 // copy the generated debugging information to nmethod |
128 void copy_to(nmethod* nm); | 129 void copy_to(nmethod* nm); |
129 | 130 |
130 // verifies the debug information | 131 // verifies the debug information |
191 | 192 |
192 int serialize_monitor_values(GrowableArray<MonitorValue*>* monitors); | 193 int serialize_monitor_values(GrowableArray<MonitorValue*>* monitors); |
193 int serialize_scope_values(GrowableArray<ScopeValue*>* values); | 194 int serialize_scope_values(GrowableArray<ScopeValue*>* values); |
194 int find_sharable_decode_offset(int stream_offset); | 195 int find_sharable_decode_offset(int stream_offset); |
195 | 196 |
197 #ifndef PRODUCT | |
198 bool recorders_frozen(); | |
199 void mark_recorders_frozen(); | |
200 #endif // PRODUCT | |
201 | |
196 public: | 202 public: |
197 enum { serialized_null = 0 }; | 203 enum { serialized_null = 0 }; |
198 }; | 204 }; |
199 | 205 |
200 #endif // SHARE_VM_CODE_DEBUGINFOREC_HPP | 206 #endif // SHARE_VM_CODE_DEBUGINFOREC_HPP |