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 # include "incls/_precompiled.incl" 26 # include "incls/_vmStructs.cpp.incl" 27 28 // Note: the cross-product of (c1, c2, product, nonproduct, ...), 29 // (nonstatic, static), and (unchecked, checked) has not been taken. 30 // Only the macros currently needed have been defined. 31 32 // A field whose type is not checked is given a null string as the 33 // type name, indicating an "opaque" type to the serviceability agent. 34 35 // NOTE: there is an interdependency between this file and 36 // HotSpotTypeDataBase.java, which parses the type strings. 37 38 #ifndef REG_COUNT 39 #define REG_COUNT 0 40 #endif 41 42 // whole purpose of this function is to work around bug c++/27724 in gcc 4.1.1 43 // with optimization turned on it doesn't affect produced code 44 static inline uint64_t cast_uint64_t(size_t x) 45 { 46 return x; | 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 #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/symbolTable.hpp" 31 #include "classfile/systemDictionary.hpp" 32 #include "code/codeBlob.hpp" 33 #include "code/codeCache.hpp" 34 #include "code/compressedStream.hpp" 35 #include "code/location.hpp" 36 #include "code/nmethod.hpp" 37 #include "code/pcDesc.hpp" 38 #include "code/stubs.hpp" 39 #include "code/vmreg.hpp" 40 #include "compiler/oopMap.hpp" 41 #include "gc_implementation/concurrentMarkSweep/freeBlockDictionary.hpp" 42 #include "gc_implementation/shared/immutableSpace.hpp" 43 #include "gc_implementation/shared/markSweep.hpp" 44 #include "gc_implementation/shared/mutableSpace.hpp" 45 #include "gc_interface/collectedHeap.hpp" 46 #include "interpreter/bytecodeInterpreter.hpp" 47 #include "interpreter/bytecodes.hpp" 48 #include "interpreter/interpreter.hpp" 49 #include "memory/cardTableRS.hpp" 50 #include "memory/compactPermGen.hpp" 51 #include "memory/defNewGeneration.hpp" 52 #include "memory/genCollectedHeap.hpp" 53 #include "memory/generation.hpp" 54 #include "memory/generationSpec.hpp" 55 #include "memory/heap.hpp" 56 #include "memory/permGen.hpp" 57 #include "memory/space.hpp" 58 #include "memory/tenuredGeneration.hpp" 59 #include "memory/universe.hpp" 60 #include "memory/watermark.hpp" 61 #include "oops/arrayKlass.hpp" 62 #include "oops/arrayKlassKlass.hpp" 63 #include "oops/arrayOop.hpp" 64 #include "oops/compiledICHolderKlass.hpp" 65 #include "oops/compiledICHolderOop.hpp" 66 #include "oops/constMethodKlass.hpp" 67 #include "oops/constMethodOop.hpp" 68 #include "oops/constantPoolKlass.hpp" 69 #include "oops/constantPoolOop.hpp" 70 #include "oops/cpCacheKlass.hpp" 71 #include "oops/cpCacheOop.hpp" 72 #include "oops/instanceKlass.hpp" 73 #include "oops/instanceKlassKlass.hpp" 74 #include "oops/instanceOop.hpp" 75 #include "oops/klass.hpp" 76 #include "oops/klassOop.hpp" 77 #include "oops/markOop.hpp" 78 #include "oops/methodDataKlass.hpp" 79 #include "oops/methodDataOop.hpp" 80 #include "oops/methodKlass.hpp" 81 #include "oops/methodOop.hpp" 82 #include "oops/objArrayKlass.hpp" 83 #include "oops/objArrayKlassKlass.hpp" 84 #include "oops/objArrayOop.hpp" 85 #include "oops/oop.inline.hpp" 86 #include "oops/symbolKlass.hpp" 87 #include "oops/symbolOop.hpp" 88 #include "oops/typeArrayKlass.hpp" 89 #include "oops/typeArrayKlassKlass.hpp" 90 #include "oops/typeArrayOop.hpp" 91 #include "prims/jvmtiAgentThread.hpp" 92 #include "runtime/arguments.hpp" 93 #include "runtime/globals.hpp" 94 #include "runtime/java.hpp" 95 #include "runtime/javaCalls.hpp" 96 #include "runtime/perfMemory.hpp" 97 #include "runtime/sharedRuntime.hpp" 98 #include "runtime/stubRoutines.hpp" 99 #include "runtime/virtualspace.hpp" 100 #include "runtime/vmStructs.hpp" 101 #include "utilities/globalDefinitions.hpp" 102 #include "utilities/hashtable.hpp" 103 #ifdef TARGET_ARCH_x86 104 # include "vmStructs_x86.hpp" 105 #endif 106 #ifdef TARGET_ARCH_sparc 107 # include "vmStructs_sparc.hpp" 108 #endif 109 #ifdef TARGET_ARCH_zero 110 # include "vmStructs_zero.hpp" 111 #endif 112 #ifdef TARGET_OS_FAMILY_linux 113 # include "thread_linux.inline.hpp" 114 #endif 115 #ifdef TARGET_OS_FAMILY_solaris 116 # include "thread_solaris.inline.hpp" 117 #endif 118 #ifdef TARGET_OS_FAMILY_windows 119 # include "thread_windows.inline.hpp" 120 #endif 121 #ifdef TARGET_OS_ARCH_linux_x86 122 # include "vmStructs_linux_x86.hpp" 123 #endif 124 #ifdef TARGET_OS_ARCH_linux_sparc 125 # include "vmStructs_linux_sparc.hpp" 126 #endif 127 #ifdef TARGET_OS_ARCH_linux_zero 128 # include "vmStructs_linux_zero.hpp" 129 #endif 130 #ifdef TARGET_OS_ARCH_solaris_x86 131 # include "vmStructs_solaris_x86.hpp" 132 #endif 133 #ifdef TARGET_OS_ARCH_solaris_sparc 134 # include "vmStructs_solaris_sparc.hpp" 135 #endif 136 #ifdef TARGET_OS_ARCH_windows_x86 137 # include "vmStructs_windows_x86.hpp" 138 #endif 139 #ifndef SERIALGC 140 #include "gc_implementation/concurrentMarkSweep/cmsPermGen.hpp" 141 #include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp" 142 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp" 143 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp" 144 #include "gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp" 145 #include "gc_implementation/parNew/parNewGeneration.hpp" 146 #include "gc_implementation/parNew/vmStructs_parNew.hpp" 147 #include "gc_implementation/parallelScavenge/asPSOldGen.hpp" 148 #include "gc_implementation/parallelScavenge/asPSYoungGen.hpp" 149 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp" 150 #include "gc_implementation/parallelScavenge/psOldGen.hpp" 151 #include "gc_implementation/parallelScavenge/psPermGen.hpp" 152 #include "gc_implementation/parallelScavenge/psVirtualspace.hpp" 153 #include "gc_implementation/parallelScavenge/psYoungGen.hpp" 154 #include "gc_implementation/parallelScavenge/vmStructs_parallelgc.hpp" 155 #endif 156 #ifdef COMPILER2 157 #include "opto/matcher.hpp" 158 #ifdef TARGET_ARCH_MODEL_x86_32 159 # include "adfiles/adGlobals_x86_32.hpp" 160 #endif 161 #ifdef TARGET_ARCH_MODEL_x86_64 162 # include "adfiles/adGlobals_x86_64.hpp" 163 #endif 164 #ifdef TARGET_ARCH_MODEL_sparc 165 # include "adfiles/adGlobals_sparc.hpp" 166 #endif 167 #ifdef TARGET_ARCH_MODEL_zero 168 # include "adfiles/adGlobals_zero.hpp" 169 #endif 170 #endif 171 172 // Note: the cross-product of (c1, c2, product, nonproduct, ...), 173 // (nonstatic, static), and (unchecked, checked) has not been taken. 174 // Only the macros currently needed have been defined. 175 176 // A field whose type is not checked is given a null string as the 177 // type name, indicating an "opaque" type to the serviceability agent. 178 179 // NOTE: there is an interdependency between this file and 180 // HotSpotTypeDataBase.java, which parses the type strings. 181 182 #ifndef REG_COUNT 183 #define REG_COUNT 0 184 #endif 185 186 // whole purpose of this function is to work around bug c++/27724 in gcc 4.1.1 187 // with optimization turned on it doesn't affect produced code 188 static inline uint64_t cast_uint64_t(size_t x) 189 { 190 return x; |