Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/src/share/vm/ci/ciClassList.hpp
32285 views
1
/*
2
* Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
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
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*
23
*/
24
25
#ifndef SHARE_VM_CI_CICLASSLIST_HPP
26
#define SHARE_VM_CI_CICLASSLIST_HPP
27
28
class ciEnv;
29
class ciObjectFactory;
30
class ciConstantPoolCache;
31
32
class ciField;
33
class ciConstant;
34
class ciFlags;
35
class ciExceptionHandler;
36
class ciCallProfile;
37
class ciSignature;
38
39
class ciBytecodeStream;
40
class ciSignatureStream;
41
class ciExceptionHandlerStream;
42
43
class ciTypeFlow;
44
45
class ciBaseObject;
46
class ciObject;
47
class ciNullObject;
48
class ciInstance;
49
class ciCallSite;
50
class ciMemberName;
51
class ciMethodHandle;
52
class ciMethodType;
53
class ciArray;
54
class ciObjArray;
55
class ciTypeArray;
56
class ciSymbol;
57
class ciMetadata;
58
class ciMethod;
59
class ciMethodData;
60
class ciReceiverTypeData; // part of ciMethodData
61
class ciType;
62
class ciReturnAddress;
63
class ciKlass;
64
class ciInstanceKlass;
65
class ciArrayKlass;
66
class ciObjArrayKlass;
67
class ciTypeArrayKlass;
68
69
// Simulate Java Language style package-private access with
70
// friend declarations.
71
// This is a great idea but gcc and other C++ compilers give an
72
// error for being friends with yourself, so this macro does not
73
// compile on some platforms.
74
75
// Everyone gives access to ciObjectFactory
76
#define CI_PACKAGE_ACCESS \
77
friend class ciObjectFactory; \
78
friend class VMStructs;
79
80
// These are the packages that have access to ciEnv
81
// Any more access must be given explicitly.
82
#define CI_PACKAGE_ACCESS_TO \
83
friend class ciObjectFactory; \
84
friend class VMStructs; \
85
friend class ciCallSite; \
86
friend class ciConstantPoolCache; \
87
friend class ciField; \
88
friend class ciConstant; \
89
friend class ciFlags; \
90
friend class ciExceptionHandler; \
91
friend class ciCallProfile; \
92
friend class ciSignature; \
93
friend class ciBytecodeStream; \
94
friend class ciSignatureStream; \
95
friend class ciExceptionHandlerStream; \
96
friend class ciObject; \
97
friend class ciNullObject; \
98
friend class ciInstance; \
99
friend class ciMemberName; \
100
friend class ciMethod; \
101
friend class ciMethodData; \
102
friend class ciMethodHandle; \
103
friend class ciMethodType; \
104
friend class ciReceiverTypeData; \
105
friend class ciTypeEntries; \
106
friend class ciSpeculativeTrapData; \
107
friend class ciSymbol; \
108
friend class ciArray; \
109
friend class ciObjArray; \
110
friend class ciMetadata; \
111
friend class ciReplay; \
112
friend class ciTypeArray; \
113
friend class ciType; \
114
friend class ciReturnAddress; \
115
friend class ciKlass; \
116
friend class ciInstanceKlass; \
117
friend class ciArrayKlass; \
118
friend class ciObjArrayKlass; \
119
friend class ciTypeArrayKlass; \
120
121
#endif // SHARE_VM_CI_CICLASSLIST_HPP
122
123