Mercurial > hg > graal-jvmci-8
diff 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 |
line wrap: on
line diff
--- a/src/share/vm/code/debugInfoRec.hpp Fri Aug 31 16:39:35 2012 -0700 +++ b/src/share/vm/code/debugInfoRec.hpp Sat Sep 01 13:25:18 2012 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -56,8 +56,8 @@ // NB: nodes from create_scope_values and create_locations // can be reused for simple sharing. // - mark the end of the scopes (end_safepoint or end_non_safepoint) -// 2) Use oop_size, data_size, pcs_size to create the nmethod and -// finally migrate the debugging information into the nmethod +// 2) Use oop_size, metadata_size, data_size, pcs_size to create the nmethod +// and finally migrate the debugging information into the nmethod // by calling copy_to. class DebugToken; // Opaque datatype for stored: @@ -123,6 +123,7 @@ int data_size(); int pcs_size(); int oop_size() { return oop_recorder()->oop_size(); } + int metadata_size() { return oop_recorder()->metadata_size(); } // copy the generated debugging information to nmethod void copy_to(nmethod* nm); @@ -193,6 +194,11 @@ int serialize_scope_values(GrowableArray<ScopeValue*>* values); int find_sharable_decode_offset(int stream_offset); +#ifndef PRODUCT + bool recorders_frozen(); + void mark_recorders_frozen(); +#endif // PRODUCT + public: enum { serialized_null = 0 }; };