Mercurial > hg > truffle
comparison src/share/vm/runtime/vmStructs.cpp @ 7212:291ffc492eb6
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 14 Dec 2012 14:35:13 +0100 |
parents | 2cb439954abf 5505fbbae3d3 |
children | 989155e2d07a |
comparison
equal
deleted
inserted
replaced
7163:2ed8d74e5984 | 7212:291ffc492eb6 |
---|---|
93 #include "runtime/javaCalls.hpp" | 93 #include "runtime/javaCalls.hpp" |
94 #include "runtime/perfMemory.hpp" | 94 #include "runtime/perfMemory.hpp" |
95 #include "runtime/serviceThread.hpp" | 95 #include "runtime/serviceThread.hpp" |
96 #include "runtime/sharedRuntime.hpp" | 96 #include "runtime/sharedRuntime.hpp" |
97 #include "runtime/stubRoutines.hpp" | 97 #include "runtime/stubRoutines.hpp" |
98 #include "runtime/thread.inline.hpp" | |
98 #include "runtime/virtualspace.hpp" | 99 #include "runtime/virtualspace.hpp" |
99 #include "runtime/vmStructs.hpp" | 100 #include "runtime/vmStructs.hpp" |
100 #include "utilities/array.hpp" | 101 #include "utilities/array.hpp" |
101 #include "utilities/globalDefinitions.hpp" | 102 #include "utilities/globalDefinitions.hpp" |
102 #include "utilities/hashtable.hpp" | 103 #include "utilities/hashtable.hpp" |
112 #ifdef TARGET_ARCH_arm | 113 #ifdef TARGET_ARCH_arm |
113 # include "vmStructs_arm.hpp" | 114 # include "vmStructs_arm.hpp" |
114 #endif | 115 #endif |
115 #ifdef TARGET_ARCH_ppc | 116 #ifdef TARGET_ARCH_ppc |
116 # include "vmStructs_ppc.hpp" | 117 # include "vmStructs_ppc.hpp" |
117 #endif | |
118 #ifdef TARGET_OS_FAMILY_linux | |
119 # include "thread_linux.inline.hpp" | |
120 #endif | |
121 #ifdef TARGET_OS_FAMILY_solaris | |
122 # include "thread_solaris.inline.hpp" | |
123 #endif | |
124 #ifdef TARGET_OS_FAMILY_windows | |
125 # include "thread_windows.inline.hpp" | |
126 #endif | |
127 #ifdef TARGET_OS_FAMILY_bsd | |
128 # include "thread_bsd.inline.hpp" | |
129 #endif | 118 #endif |
130 #ifdef TARGET_OS_ARCH_linux_x86 | 119 #ifdef TARGET_OS_ARCH_linux_x86 |
131 # include "vmStructs_linux_x86.hpp" | 120 # include "vmStructs_linux_x86.hpp" |
132 #endif | 121 #endif |
133 #ifdef TARGET_OS_ARCH_linux_sparc | 122 #ifdef TARGET_OS_ARCH_linux_sparc |
364 nonstatic_field(Method, _method_data, MethodData*) \ | 353 nonstatic_field(Method, _method_data, MethodData*) \ |
365 nonstatic_field(Method, _interpreter_invocation_count, int) \ | 354 nonstatic_field(Method, _interpreter_invocation_count, int) \ |
366 nonstatic_field(Method, _access_flags, AccessFlags) \ | 355 nonstatic_field(Method, _access_flags, AccessFlags) \ |
367 nonstatic_field(Method, _vtable_index, int) \ | 356 nonstatic_field(Method, _vtable_index, int) \ |
368 nonstatic_field(Method, _method_size, u2) \ | 357 nonstatic_field(Method, _method_size, u2) \ |
369 nonstatic_field(Method, _max_stack, u2) \ | |
370 nonstatic_field(Method, _max_locals, u2) \ | 358 nonstatic_field(Method, _max_locals, u2) \ |
371 nonstatic_field(Method, _size_of_parameters, u2) \ | 359 nonstatic_field(Method, _size_of_parameters, u2) \ |
372 nonstatic_field(Method, _interpreter_throwout_count, u2) \ | 360 nonstatic_field(Method, _interpreter_throwout_count, u2) \ |
373 nonstatic_field(Method, _number_of_breakpoints, u2) \ | 361 nonstatic_field(Method, _number_of_breakpoints, u2) \ |
374 nonstatic_field(Method, _invocation_counter, InvocationCounter) \ | 362 nonstatic_field(Method, _invocation_counter, InvocationCounter) \ |
387 nonstatic_field(ConstMethod, _flags, jbyte) \ | 375 nonstatic_field(ConstMethod, _flags, jbyte) \ |
388 nonstatic_field(ConstMethod, _code_size, u2) \ | 376 nonstatic_field(ConstMethod, _code_size, u2) \ |
389 nonstatic_field(ConstMethod, _name_index, u2) \ | 377 nonstatic_field(ConstMethod, _name_index, u2) \ |
390 nonstatic_field(ConstMethod, _signature_index, u2) \ | 378 nonstatic_field(ConstMethod, _signature_index, u2) \ |
391 nonstatic_field(ConstMethod, _method_idnum, u2) \ | 379 nonstatic_field(ConstMethod, _method_idnum, u2) \ |
392 nonstatic_field(ConstMethod, _generic_signature_index, u2) \ | 380 nonstatic_field(ConstMethod, _max_stack, u2) \ |
393 nonstatic_field(ObjArrayKlass, _element_klass, Klass*) \ | 381 nonstatic_field(ObjArrayKlass, _element_klass, Klass*) \ |
394 nonstatic_field(ObjArrayKlass, _bottom_klass, Klass*) \ | 382 nonstatic_field(ObjArrayKlass, _bottom_klass, Klass*) \ |
395 volatile_nonstatic_field(Symbol, _refcount, int) \ | 383 volatile_nonstatic_field(Symbol, _refcount, int) \ |
396 nonstatic_field(Symbol, _identity_hash, int) \ | 384 nonstatic_field(Symbol, _identity_hash, int) \ |
397 nonstatic_field(Symbol, _length, unsigned short) \ | 385 nonstatic_field(Symbol, _length, unsigned short) \ |
2105 declare_toplevel_type(FreeList<FreeChunk>) \ | 2093 declare_toplevel_type(FreeList<FreeChunk>) \ |
2106 declare_toplevel_type(FreeBlockDictionary<Metablock>*) \ | 2094 declare_toplevel_type(FreeBlockDictionary<Metablock>*) \ |
2107 declare_toplevel_type(FreeList<Metablock>*) \ | 2095 declare_toplevel_type(FreeList<Metablock>*) \ |
2108 declare_toplevel_type(FreeList<Metablock>) \ | 2096 declare_toplevel_type(FreeList<Metablock>) \ |
2109 declare_toplevel_type(MetablockTreeDictionary*) \ | 2097 declare_toplevel_type(MetablockTreeDictionary*) \ |
2110 declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>) \ | 2098 declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>) |
2111 declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>) | |
2112 | 2099 |
2113 | 2100 |
2114 /* NOTE that we do not use the last_entry() macro here; it is used */ | 2101 /* NOTE that we do not use the last_entry() macro here; it is used */ |
2115 /* in vmStructs_<os>_<cpu>.hpp's VM_TYPES_OS_CPU macro (and must be */ | 2102 /* in vmStructs_<os>_<cpu>.hpp's VM_TYPES_OS_CPU macro (and must be */ |
2116 /* present there) */ | 2103 /* present there) */ |
2290 \ | 2277 \ |
2291 declare_constant(ConstMethod::_has_linenumber_table) \ | 2278 declare_constant(ConstMethod::_has_linenumber_table) \ |
2292 declare_constant(ConstMethod::_has_checked_exceptions) \ | 2279 declare_constant(ConstMethod::_has_checked_exceptions) \ |
2293 declare_constant(ConstMethod::_has_localvariable_table) \ | 2280 declare_constant(ConstMethod::_has_localvariable_table) \ |
2294 declare_constant(ConstMethod::_has_exception_table) \ | 2281 declare_constant(ConstMethod::_has_exception_table) \ |
2282 declare_constant(ConstMethod::_has_generic_signature) \ | |
2295 \ | 2283 \ |
2296 /*************************************/ \ | 2284 /*************************************/ \ |
2297 /* InstanceKlass enum */ \ | 2285 /* InstanceKlass enum */ \ |
2298 /*************************************/ \ | 2286 /*************************************/ \ |
2299 \ | 2287 \ |
3219 #endif | 3207 #endif |
3220 | 3208 |
3221 void vmStructs_init() { | 3209 void vmStructs_init() { |
3222 debug_only(VMStructs::init()); | 3210 debug_only(VMStructs::init()); |
3223 } | 3211 } |
3212 | |
3213 #ifndef PRODUCT | |
3214 void VMStructs::test() { | |
3215 // Check for duplicate entries in type array | |
3216 for (int i = 0; localHotSpotVMTypes[i].typeName != NULL; i++) { | |
3217 for (int j = i + 1; localHotSpotVMTypes[j].typeName != NULL; j++) { | |
3218 if (strcmp(localHotSpotVMTypes[i].typeName, localHotSpotVMTypes[j].typeName) == 0) { | |
3219 tty->print_cr("Duplicate entries for '%s'", localHotSpotVMTypes[i].typeName); | |
3220 assert(false, "Duplicate types in localHotSpotVMTypes array"); | |
3221 } | |
3222 } | |
3223 } | |
3224 } | |
3225 #endif |