comparison src/share/vm/ci/bcEscapeAnalyzer.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 cc81b9c09bbb
children c90c698831d7
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
1 /* 1 /*
2 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2005, 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.
24 24
25 #ifndef SHARE_VM_CI_BCESCAPEANALYZER_HPP 25 #ifndef SHARE_VM_CI_BCESCAPEANALYZER_HPP
26 #define SHARE_VM_CI_BCESCAPEANALYZER_HPP 26 #define SHARE_VM_CI_BCESCAPEANALYZER_HPP
27 27
28 #ifdef COMPILER2 28 #ifdef COMPILER2
29 #include "ci/ciObject.hpp"
29 #include "ci/ciMethod.hpp" 30 #include "ci/ciMethod.hpp"
30 #include "ci/ciMethodData.hpp" 31 #include "ci/ciMethodData.hpp"
31 #include "code/dependencies.hpp" 32 #include "code/dependencies.hpp"
32 #include "libadt/vectset.hpp" 33 #include "libadt/vectset.hpp"
33 #include "memory/allocation.hpp" 34 #include "memory/allocation.hpp"
60 bool _return_local; 61 bool _return_local;
61 bool _return_allocated; 62 bool _return_allocated;
62 bool _allocated_escapes; 63 bool _allocated_escapes;
63 bool _unknown_modified; 64 bool _unknown_modified;
64 65
65 GrowableArray<ciObject *> _dependencies; 66 GrowableArray<ciMetadata *> _dependencies;
66 67
67 ciMethodBlocks *_methodBlocks; 68 ciMethodBlocks *_methodBlocks;
68 69
69 BCEscapeAnalyzer* _parent; 70 BCEscapeAnalyzer* _parent;
70 int _level; 71 int _level;
112 // accessors 113 // accessors
113 ciMethod* method() const { return _method; } 114 ciMethod* method() const { return _method; }
114 ciMethodData* methodData() const { return _methodData; } 115 ciMethodData* methodData() const { return _methodData; }
115 BCEscapeAnalyzer* parent() const { return _parent; } 116 BCEscapeAnalyzer* parent() const { return _parent; }
116 int level() const { return _level; } 117 int level() const { return _level; }
117 GrowableArray<ciObject *>* dependencies() { return &_dependencies; } 118 GrowableArray<ciMetadata *>* dependencies() { return &_dependencies; }
118 bool has_dependencies() const { return !_dependencies.is_empty(); } 119 bool has_dependencies() const { return !_dependencies.is_empty(); }
119 120
120 // retrieval of interprocedural escape information 121 // retrieval of interprocedural escape information
121 122
122 // The given argument does not escape the callee. 123 // The given argument does not escape the callee.