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 #include "precompiled.hpp"
26 #include "classfile/dictionary.hpp"
27 #include "classfile/javaClasses.hpp"
28 #include "classfile/loaderConstraints.hpp"
29 #include "classfile/placeholders.hpp"
30 #include "classfile/compactHashtable.hpp"
31 #include "classfile/stringTable.hpp"
32 #include "classfile/systemDictionary.hpp"
33 #include "ci/ciField.hpp"
34 #include "ci/ciInstance.hpp"
35 #include "ci/ciObjArrayKlass.hpp"
36 #include "ci/ciMethodData.hpp"
37 #include "ci/ciSymbol.hpp"
38 #include "code/codeBlob.hpp"
39 #include "code/codeCache.hpp"
40 #include "code/compressedStream.hpp"
41 #include "code/location.hpp"
42 #include "code/nmethod.hpp"
43 #include "code/pcDesc.hpp"
44 #include "code/stubs.hpp"
45 #include "code/vmreg.hpp"
46 #include "compiler/oopMap.hpp"
47 #include "compiler/compileBroker.hpp"
48 #include "gc_implementation/shared/immutableSpace.hpp"
49 #include "gc_implementation/shared/mutableSpace.hpp"
50 #include "gc_interface/collectedHeap.hpp"
51 #include "interpreter/bytecodeInterpreter.hpp"
52 #include "interpreter/bytecodes.hpp"
53 #include "interpreter/interpreter.hpp"
54 #include "memory/allocation.hpp"
55 #include "memory/allocation.inline.hpp"
56 #include "memory/cardTableRS.hpp"
57 #include "memory/defNewGeneration.hpp"
58 #include "memory/freeBlockDictionary.hpp"
59 #include "memory/genCollectedHeap.hpp"
60 #include "memory/generation.hpp"
61 #include "memory/generationSpec.hpp"
62 #include "memory/heap.hpp"
63 #include "memory/metachunk.hpp"
64 #include "memory/referenceType.hpp"
65 #include "memory/space.hpp"
66 #include "memory/tenuredGeneration.hpp"
67 #include "memory/universe.hpp"
68 #include "memory/virtualspace.hpp"
69 #include "memory/watermark.hpp"
70 #include "oops/arrayKlass.hpp"
71 #include "oops/arrayOop.hpp"
72 #include "oops/compiledICHolder.hpp"
73 #include "oops/constMethod.hpp"
74 #include "oops/constantPool.hpp"
75 #include "oops/cpCache.hpp"
76 #include "oops/instanceClassLoaderKlass.hpp"
77 #include "oops/instanceKlass.hpp"
78 #include "oops/instanceMirrorKlass.hpp"
79 #include "oops/instanceOop.hpp"
80 #include "oops/klass.hpp"
81 #include "oops/markOop.hpp"
82 #include "oops/methodData.hpp"
83 #include "oops/methodCounters.hpp"
84 #include "oops/method.hpp"
85 #include "oops/objArrayKlass.hpp"
86 #include "oops/objArrayOop.hpp"
87 #include "oops/oop.inline.hpp"
88 #include "oops/symbol.hpp"
89 #include "oops/typeArrayKlass.hpp"
90 #include "oops/typeArrayOop.hpp"
91 #include "prims/jvmtiAgentThread.hpp"
92 #include "runtime/arguments.hpp"
93 #include "runtime/deoptimization.hpp"
94 #include "runtime/vframeArray.hpp"
95 #include "runtime/globals.hpp"
96 #include "runtime/java.hpp"
97 #include "runtime/javaCalls.hpp"
98 #include "runtime/os.hpp"
99 #include "runtime/perfMemory.hpp"
100 #include "runtime/serviceThread.hpp"
101 #include "runtime/sharedRuntime.hpp"
102 #include "runtime/stubRoutines.hpp"
103 #include "runtime/thread.inline.hpp"
104 #include "runtime/vmStructs.hpp"
105 #include "utilities/array.hpp"
106 #include "utilities/globalDefinitions.hpp"
107 #include "utilities/hashtable.hpp"
108 #include "utilities/macros.hpp"
109
110 #ifdef TARGET_ARCH_x86
111 # include "vmStructs_x86.hpp"
112 #endif
113 #ifdef TARGET_ARCH_sparc
114 # include "vmStructs_sparc.hpp"
115 #endif
116 #ifdef TARGET_ARCH_zero
117 # include "vmStructs_zero.hpp"
118 #endif
119 #ifdef TARGET_ARCH_arm
120 # include "vmStructs_arm.hpp"
121 #endif
122 #ifdef TARGET_ARCH_ppc
123 # include "vmStructs_ppc.hpp"
145 #endif
146 #ifdef TARGET_OS_ARCH_linux_arm
147 # include "vmStructs_linux_arm.hpp"
148 #endif
149 #ifdef TARGET_OS_ARCH_linux_ppc
150 # include "vmStructs_linux_ppc.hpp"
151 #endif
152 #ifdef TARGET_OS_ARCH_linux_aarch64
153 # include "vmStructs_linux_aarch64.hpp"
154 #endif
155 #ifdef TARGET_OS_ARCH_aix_ppc
156 # include "vmStructs_aix_ppc.hpp"
157 #endif
158 #ifdef TARGET_OS_ARCH_bsd_x86
159 # include "vmStructs_bsd_x86.hpp"
160 #endif
161 #ifdef TARGET_OS_ARCH_bsd_zero
162 # include "vmStructs_bsd_zero.hpp"
163 #endif
164 #if INCLUDE_ALL_GCS
165 #include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp"
166 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp"
167 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp"
168 #include "gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp"
169 #include "gc_implementation/parNew/parNewGeneration.hpp"
170 #include "gc_implementation/parNew/vmStructs_parNew.hpp"
171 #include "gc_implementation/parallelScavenge/asPSOldGen.hpp"
172 #include "gc_implementation/parallelScavenge/asPSYoungGen.hpp"
173 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
174 #include "gc_implementation/parallelScavenge/psOldGen.hpp"
175 #include "gc_implementation/parallelScavenge/psVirtualspace.hpp"
176 #include "gc_implementation/parallelScavenge/psYoungGen.hpp"
177 #include "gc_implementation/parallelScavenge/vmStructs_parallelgc.hpp"
178 #include "gc_implementation/g1/vmStructs_g1.hpp"
179 #endif // INCLUDE_ALL_GCS
180
181 #if INCLUDE_TRACE
182 #include "runtime/vmStructs_trace.hpp"
183 #endif
184
185 #ifdef COMPILER2
186 #include "opto/addnode.hpp"
187 #include "opto/block.hpp"
188 #include "opto/callnode.hpp"
189 #include "opto/castnode.hpp"
190 #include "opto/cfgnode.hpp"
191 #include "opto/chaitin.hpp"
192 #include "opto/convertnode.hpp"
193 #include "opto/divnode.hpp"
194 #include "opto/intrinsicnode.hpp"
195 #include "opto/locknode.hpp"
196 #include "opto/loopnode.hpp"
197 #include "opto/machnode.hpp"
198 #include "opto/matcher.hpp"
199 #include "opto/mathexactnode.hpp"
200 #include "opto/mulnode.hpp"
201 #include "opto/movenode.hpp"
202 #include "opto/narrowptrnode.hpp"
203 #include "opto/opaquenode.hpp"
204 #include "opto/optoreg.hpp"
205 #include "opto/phaseX.hpp"
206 #include "opto/parse.hpp"
207 #include "opto/regalloc.hpp"
208 #include "opto/rootnode.hpp"
209 #include "opto/subnode.hpp"
210 #include "opto/vectornode.hpp"
211 #endif // COMPILER2
212
213 // Note: the cross-product of (c1, c2, product, nonproduct, ...),
214 // (nonstatic, static), and (unchecked, checked) has not been taken.
215 // Only the macros currently needed have been defined.
216
217 // A field whose type is not checked is given a null string as the
218 // type name, indicating an "opaque" type to the serviceability agent.
219
220 // NOTE: there is an interdependency between this file and
221 // HotSpotTypeDataBase.java, which parses the type strings.
222
223 #ifndef REG_COUNT
224 #define REG_COUNT 0
225 #endif
226 // whole purpose of this function is to work around bug c++/27724 in gcc 4.1.1
|
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 #include "precompiled.hpp"
26 #include "ci/ciField.hpp"
27 #include "ci/ciInstance.hpp"
28 #include "ci/ciMethodData.hpp"
29 #include "ci/ciObjArrayKlass.hpp"
30 #include "ci/ciSymbol.hpp"
31 #include "classfile/compactHashtable.hpp"
32 #include "classfile/dictionary.hpp"
33 #include "classfile/javaClasses.hpp"
34 #include "classfile/loaderConstraints.hpp"
35 #include "classfile/placeholders.hpp"
36 #include "classfile/stringTable.hpp"
37 #include "classfile/systemDictionary.hpp"
38 #include "code/codeBlob.hpp"
39 #include "code/codeCache.hpp"
40 #include "code/compressedStream.hpp"
41 #include "code/location.hpp"
42 #include "code/nmethod.hpp"
43 #include "code/pcDesc.hpp"
44 #include "code/stubs.hpp"
45 #include "code/vmreg.hpp"
46 #include "compiler/compileBroker.hpp"
47 #include "compiler/oopMap.hpp"
48 #include "gc/parallel/immutableSpace.hpp"
49 #include "gc/parallel/mutableSpace.hpp"
50 #include "gc/serial/defNewGeneration.hpp"
51 #include "gc/serial/tenuredGeneration.hpp"
52 #include "gc/shared/cardTableRS.hpp"
53 #include "gc/shared/collectedHeap.hpp"
54 #include "gc/shared/genCollectedHeap.hpp"
55 #include "gc/shared/generation.hpp"
56 #include "gc/shared/generationSpec.hpp"
57 #include "gc/shared/space.hpp"
58 #include "gc/shared/watermark.hpp"
59 #include "interpreter/bytecodeInterpreter.hpp"
60 #include "interpreter/bytecodes.hpp"
61 #include "interpreter/interpreter.hpp"
62 #include "memory/allocation.hpp"
63 #include "memory/allocation.inline.hpp"
64 #include "memory/freeBlockDictionary.hpp"
65 #include "memory/heap.hpp"
66 #include "memory/metachunk.hpp"
67 #include "memory/referenceType.hpp"
68 #include "memory/universe.hpp"
69 #include "memory/virtualspace.hpp"
70 #include "oops/arrayKlass.hpp"
71 #include "oops/arrayOop.hpp"
72 #include "oops/compiledICHolder.hpp"
73 #include "oops/constMethod.hpp"
74 #include "oops/constantPool.hpp"
75 #include "oops/cpCache.hpp"
76 #include "oops/instanceClassLoaderKlass.hpp"
77 #include "oops/instanceKlass.hpp"
78 #include "oops/instanceMirrorKlass.hpp"
79 #include "oops/instanceOop.hpp"
80 #include "oops/klass.hpp"
81 #include "oops/markOop.hpp"
82 #include "oops/method.hpp"
83 #include "oops/methodCounters.hpp"
84 #include "oops/methodData.hpp"
85 #include "oops/objArrayKlass.hpp"
86 #include "oops/objArrayOop.hpp"
87 #include "oops/oop.inline.hpp"
88 #include "oops/symbol.hpp"
89 #include "oops/typeArrayKlass.hpp"
90 #include "oops/typeArrayOop.hpp"
91 #include "prims/jvmtiAgentThread.hpp"
92 #include "runtime/arguments.hpp"
93 #include "runtime/deoptimization.hpp"
94 #include "runtime/globals.hpp"
95 #include "runtime/java.hpp"
96 #include "runtime/javaCalls.hpp"
97 #include "runtime/os.hpp"
98 #include "runtime/perfMemory.hpp"
99 #include "runtime/serviceThread.hpp"
100 #include "runtime/sharedRuntime.hpp"
101 #include "runtime/stubRoutines.hpp"
102 #include "runtime/thread.inline.hpp"
103 #include "runtime/vframeArray.hpp"
104 #include "runtime/vmStructs.hpp"
105 #include "utilities/array.hpp"
106 #include "utilities/globalDefinitions.hpp"
107 #include "utilities/hashtable.hpp"
108 #include "utilities/macros.hpp"
109
110 #ifdef TARGET_ARCH_x86
111 # include "vmStructs_x86.hpp"
112 #endif
113 #ifdef TARGET_ARCH_sparc
114 # include "vmStructs_sparc.hpp"
115 #endif
116 #ifdef TARGET_ARCH_zero
117 # include "vmStructs_zero.hpp"
118 #endif
119 #ifdef TARGET_ARCH_arm
120 # include "vmStructs_arm.hpp"
121 #endif
122 #ifdef TARGET_ARCH_ppc
123 # include "vmStructs_ppc.hpp"
145 #endif
146 #ifdef TARGET_OS_ARCH_linux_arm
147 # include "vmStructs_linux_arm.hpp"
148 #endif
149 #ifdef TARGET_OS_ARCH_linux_ppc
150 # include "vmStructs_linux_ppc.hpp"
151 #endif
152 #ifdef TARGET_OS_ARCH_linux_aarch64
153 # include "vmStructs_linux_aarch64.hpp"
154 #endif
155 #ifdef TARGET_OS_ARCH_aix_ppc
156 # include "vmStructs_aix_ppc.hpp"
157 #endif
158 #ifdef TARGET_OS_ARCH_bsd_x86
159 # include "vmStructs_bsd_x86.hpp"
160 #endif
161 #ifdef TARGET_OS_ARCH_bsd_zero
162 # include "vmStructs_bsd_zero.hpp"
163 #endif
164 #if INCLUDE_ALL_GCS
165 #include "gc/cms/compactibleFreeListSpace.hpp"
166 #include "gc/cms/concurrentMarkSweepGeneration.hpp"
167 #include "gc/cms/concurrentMarkSweepThread.hpp"
168 #include "gc/cms/parNewGeneration.hpp"
169 #include "gc/cms/vmStructs_cms.hpp"
170 #include "gc/cms/vmStructs_parNew.hpp"
171 #include "gc/g1/vmStructs_g1.hpp"
172 #include "gc/parallel/asPSOldGen.hpp"
173 #include "gc/parallel/asPSYoungGen.hpp"
174 #include "gc/parallel/parallelScavengeHeap.hpp"
175 #include "gc/parallel/psOldGen.hpp"
176 #include "gc/parallel/psVirtualspace.hpp"
177 #include "gc/parallel/psYoungGen.hpp"
178 #include "gc/parallel/vmStructs_parallelgc.hpp"
179 #endif // INCLUDE_ALL_GCS
180
181 #if INCLUDE_TRACE
182 #include "runtime/vmStructs_trace.hpp"
183 #endif
184
185 #ifdef COMPILER2
186 #include "opto/addnode.hpp"
187 #include "opto/block.hpp"
188 #include "opto/callnode.hpp"
189 #include "opto/castnode.hpp"
190 #include "opto/cfgnode.hpp"
191 #include "opto/chaitin.hpp"
192 #include "opto/convertnode.hpp"
193 #include "opto/divnode.hpp"
194 #include "opto/intrinsicnode.hpp"
195 #include "opto/locknode.hpp"
196 #include "opto/loopnode.hpp"
197 #include "opto/machnode.hpp"
198 #include "opto/matcher.hpp"
199 #include "opto/mathexactnode.hpp"
200 #include "opto/movenode.hpp"
201 #include "opto/mulnode.hpp"
202 #include "opto/narrowptrnode.hpp"
203 #include "opto/opaquenode.hpp"
204 #include "opto/optoreg.hpp"
205 #include "opto/parse.hpp"
206 #include "opto/phaseX.hpp"
207 #include "opto/regalloc.hpp"
208 #include "opto/rootnode.hpp"
209 #include "opto/subnode.hpp"
210 #include "opto/vectornode.hpp"
211 #endif // COMPILER2
212
213 // Note: the cross-product of (c1, c2, product, nonproduct, ...),
214 // (nonstatic, static), and (unchecked, checked) has not been taken.
215 // Only the macros currently needed have been defined.
216
217 // A field whose type is not checked is given a null string as the
218 // type name, indicating an "opaque" type to the serviceability agent.
219
220 // NOTE: there is an interdependency between this file and
221 // HotSpotTypeDataBase.java, which parses the type strings.
222
223 #ifndef REG_COUNT
224 #define REG_COUNT 0
225 #endif
226 // whole purpose of this function is to work around bug c++/27724 in gcc 4.1.1
|