Mercurial > hg > truffle
annotate src/share/vm/ci/ciClassList.hpp @ 4128:f1391adc6681
7112034: Parallel CMS fails to properly mark reference objects
Summary: Enabled reference processing when work stealing during concurrent marking
Reviewed-by: jmasa, brutisso
author | stefank |
---|---|
date | Mon, 28 Nov 2011 10:19:26 +0100 |
parents | f6f3bb0ee072 |
children | 1d7922586cf6 |
rev | line source |
---|---|
0 | 1 /* |
2426
1d1603768966
7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass
trims
parents:
2177
diff
changeset
|
2 * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. |
0 | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | |
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 | |
7 * published by the Free Software Foundation. | |
8 * | |
9 * This code is distributed in the hope that it will be useful, but WITHOUT | |
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 * version 2 for more details (a copy is included in the LICENSE file that | |
13 * accompanied this code). | |
14 * | |
15 * You should have received a copy of the GNU General Public License version | |
16 * 2 along with this work; if not, write to the Free Software Foundation, | |
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
18 * | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1138
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1138
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1138
diff
changeset
|
21 * questions. |
0 | 22 * |
23 */ | |
24 | |
1972 | 25 #ifndef SHARE_VM_CI_CICLASSLIST_HPP |
26 #define SHARE_VM_CI_CICLASSLIST_HPP | |
27 | |
0 | 28 class ciEnv; |
29 class ciObjectFactory; | |
30 class ciConstantPoolCache; | |
1137 | 31 class ciCPCache; |
0 | 32 |
33 class ciField; | |
34 class ciConstant; | |
35 class ciFlags; | |
36 class ciExceptionHandler; | |
37 class ciCallProfile; | |
38 class ciSignature; | |
39 | |
40 class ciBytecodeStream; | |
41 class ciSignatureStream; | |
42 class ciExceptionHandlerStream; | |
43 | |
44 class ciTypeFlow; | |
45 | |
46 class ciObject; | |
47 class ciNullObject; | |
48 class ciInstance; | |
1138
dd57230ba8fe
6893268: additional dynamic language related optimizations in C2
twisti
parents:
1137
diff
changeset
|
49 class ciCallSite; |
dd57230ba8fe
6893268: additional dynamic language related optimizations in C2
twisti
parents:
1137
diff
changeset
|
50 class ciMethodHandle; |
0 | 51 class ciMethod; |
52 class ciMethodData; | |
53 class ciReceiverTypeData; // part of ciMethodData | |
54 class ciSymbol; | |
55 class ciArray; | |
56 class ciObjArray; | |
57 class ciTypeArray; | |
58 class ciType; | |
59 class ciReturnAddress; | |
60 class ciKlass; | |
61 class ciInstanceKlass; | |
62 class ciMethodKlass; | |
63 class ciArrayKlass; | |
64 class ciObjArrayKlass; | |
65 class ciTypeArrayKlass; | |
66 class ciKlassKlass; | |
67 class ciInstanceKlassKlass; | |
68 class ciArrayKlassKlass; | |
69 class ciObjArrayKlassKlass; | |
70 class ciTypeArrayKlassKlass; | |
71 | |
72 // Simulate Java Language style package-private access with | |
73 // friend declarations. | |
74 // This is a great idea but gcc and other C++ compilers give an | |
75 // error for being friends with yourself, so this macro does not | |
76 // compile on some platforms. | |
77 | |
78 // Everyone gives access to ciObjectFactory | |
79 #define CI_PACKAGE_ACCESS \ | |
3939 | 80 friend class ciObjectFactory; \ |
81 friend class VMStructs; | |
0 | 82 |
83 // These are the packages that have access to ciEnv | |
84 // Any more access must be given explicitly. | |
85 #define CI_PACKAGE_ACCESS_TO \ | |
86 friend class ciObjectFactory; \ | |
3939 | 87 friend class VMStructs; \ |
1138
dd57230ba8fe
6893268: additional dynamic language related optimizations in C2
twisti
parents:
1137
diff
changeset
|
88 friend class ciCallSite; \ |
0 | 89 friend class ciConstantPoolCache; \ |
90 friend class ciField; \ | |
91 friend class ciConstant; \ | |
1602 | 92 friend class ciCPCache; \ |
0 | 93 friend class ciFlags; \ |
94 friend class ciExceptionHandler; \ | |
95 friend class ciCallProfile; \ | |
96 friend class ciSignature; \ | |
97 friend class ciBytecodeStream; \ | |
98 friend class ciSignatureStream; \ | |
99 friend class ciExceptionHandlerStream; \ | |
100 friend class ciObject; \ | |
101 friend class ciNullObject; \ | |
102 friend class ciInstance; \ | |
103 friend class ciMethod; \ | |
104 friend class ciMethodData; \ | |
1138
dd57230ba8fe
6893268: additional dynamic language related optimizations in C2
twisti
parents:
1137
diff
changeset
|
105 friend class ciMethodHandle; \ |
0 | 106 friend class ciReceiverTypeData; \ |
107 friend class ciSymbol; \ | |
108 friend class ciArray; \ | |
109 friend class ciObjArray; \ | |
110 friend class ciTypeArray; \ | |
111 friend class ciType; \ | |
112 friend class ciReturnAddress; \ | |
113 friend class ciKlass; \ | |
114 friend class ciInstanceKlass; \ | |
115 friend class ciMethodKlass; \ | |
116 friend class ciArrayKlass; \ | |
117 friend class ciObjArrayKlass; \ | |
118 friend class ciTypeArrayKlass; \ | |
119 friend class ciKlassKlass; \ | |
120 friend class ciInstanceKlassKlass; \ | |
121 friend class ciArrayKlassKlass; \ | |
122 friend class ciObjArrayKlassKlass; \ | |
123 friend class ciTypeArrayKlassKlass; | |
1972 | 124 |
125 #endif // SHARE_VM_CI_CICLASSLIST_HPP |