Mercurial > hg > truffle
comparison src/share/vm/ci/ciClassList.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 | 1d7922586cf6 |
children | f6b0eb4e44cf |
comparison
equal
deleted
inserted
replaced
6724:36d1d483d5d6 | 6725:da91efe96a93 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1999, 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. |
26 #define SHARE_VM_CI_CICLASSLIST_HPP | 26 #define SHARE_VM_CI_CICLASSLIST_HPP |
27 | 27 |
28 class ciEnv; | 28 class ciEnv; |
29 class ciObjectFactory; | 29 class ciObjectFactory; |
30 class ciConstantPoolCache; | 30 class ciConstantPoolCache; |
31 class ciCPCache; | |
32 | 31 |
33 class ciField; | 32 class ciField; |
34 class ciConstant; | 33 class ciConstant; |
35 class ciFlags; | 34 class ciFlags; |
36 class ciExceptionHandler; | 35 class ciExceptionHandler; |
41 class ciSignatureStream; | 40 class ciSignatureStream; |
42 class ciExceptionHandlerStream; | 41 class ciExceptionHandlerStream; |
43 | 42 |
44 class ciTypeFlow; | 43 class ciTypeFlow; |
45 | 44 |
45 class ciBaseObject; | |
46 class ciObject; | 46 class ciObject; |
47 class ciNullObject; | 47 class ciNullObject; |
48 class ciInstance; | 48 class ciInstance; |
49 class ciCallSite; | 49 class ciCallSite; |
50 class ciMemberName; | 50 class ciMemberName; |
51 class ciMethodHandle; | 51 class ciMethodHandle; |
52 class ciArray; | |
53 class ciObjArray; | |
54 class ciTypeArray; | |
55 class ciSymbol; | |
56 class ciMetadata; | |
52 class ciMethod; | 57 class ciMethod; |
53 class ciMethodData; | 58 class ciMethodData; |
54 class ciReceiverTypeData; // part of ciMethodData | 59 class ciReceiverTypeData; // part of ciMethodData |
55 class ciSymbol; | |
56 class ciArray; | |
57 class ciObjArray; | |
58 class ciTypeArray; | |
59 class ciType; | 60 class ciType; |
60 class ciReturnAddress; | 61 class ciReturnAddress; |
61 class ciKlass; | 62 class ciKlass; |
62 class ciInstanceKlass; | 63 class ciInstanceKlass; |
63 class ciMethodKlass; | |
64 class ciArrayKlass; | 64 class ciArrayKlass; |
65 class ciObjArrayKlass; | 65 class ciObjArrayKlass; |
66 class ciTypeArrayKlass; | 66 class ciTypeArrayKlass; |
67 class ciKlassKlass; | |
68 class ciInstanceKlassKlass; | |
69 class ciArrayKlassKlass; | |
70 class ciObjArrayKlassKlass; | |
71 class ciTypeArrayKlassKlass; | |
72 | 67 |
73 // Simulate Java Language style package-private access with | 68 // Simulate Java Language style package-private access with |
74 // friend declarations. | 69 // friend declarations. |
75 // This is a great idea but gcc and other C++ compilers give an | 70 // This is a great idea but gcc and other C++ compilers give an |
76 // error for being friends with yourself, so this macro does not | 71 // error for being friends with yourself, so this macro does not |
88 friend class VMStructs; \ | 83 friend class VMStructs; \ |
89 friend class ciCallSite; \ | 84 friend class ciCallSite; \ |
90 friend class ciConstantPoolCache; \ | 85 friend class ciConstantPoolCache; \ |
91 friend class ciField; \ | 86 friend class ciField; \ |
92 friend class ciConstant; \ | 87 friend class ciConstant; \ |
93 friend class ciCPCache; \ | |
94 friend class ciFlags; \ | 88 friend class ciFlags; \ |
95 friend class ciExceptionHandler; \ | 89 friend class ciExceptionHandler; \ |
96 friend class ciCallProfile; \ | 90 friend class ciCallProfile; \ |
97 friend class ciSignature; \ | 91 friend class ciSignature; \ |
98 friend class ciBytecodeStream; \ | 92 friend class ciBytecodeStream; \ |
107 friend class ciMethodHandle; \ | 101 friend class ciMethodHandle; \ |
108 friend class ciReceiverTypeData; \ | 102 friend class ciReceiverTypeData; \ |
109 friend class ciSymbol; \ | 103 friend class ciSymbol; \ |
110 friend class ciArray; \ | 104 friend class ciArray; \ |
111 friend class ciObjArray; \ | 105 friend class ciObjArray; \ |
106 friend class ciMetadata; \ | |
112 friend class ciTypeArray; \ | 107 friend class ciTypeArray; \ |
113 friend class ciType; \ | 108 friend class ciType; \ |
114 friend class ciReturnAddress; \ | 109 friend class ciReturnAddress; \ |
115 friend class ciKlass; \ | 110 friend class ciKlass; \ |
116 friend class ciInstanceKlass; \ | 111 friend class ciInstanceKlass; \ |
117 friend class ciMethodKlass; \ | |
118 friend class ciArrayKlass; \ | 112 friend class ciArrayKlass; \ |
119 friend class ciObjArrayKlass; \ | 113 friend class ciObjArrayKlass; \ |
120 friend class ciTypeArrayKlass; \ | 114 friend class ciTypeArrayKlass; \ |
121 friend class ciKlassKlass; \ | |
122 friend class ciInstanceKlassKlass; \ | |
123 friend class ciArrayKlassKlass; \ | |
124 friend class ciObjArrayKlassKlass; \ | |
125 friend class ciTypeArrayKlassKlass; | |
126 | 115 |
127 #endif // SHARE_VM_CI_CICLASSLIST_HPP | 116 #endif // SHARE_VM_CI_CICLASSLIST_HPP |