< prev index next >

src/share/vm/runtime/vmStructs.cpp

Print this page
rev 9389 : [mq]: vmstruct_ptrq
rev 9390 : [mq]: jvmci_ptrq


1361   /* Miscellaneous fields */                                                                                                         \
1362   /************************/                                                                                                         \
1363                                                                                                                                      \
1364   nonstatic_field(CompileTask,                 _method,                                       Method*)                               \
1365   nonstatic_field(CompileTask,                 _osr_bci,                                      int)                                   \
1366   nonstatic_field(CompileTask,                 _comp_level,                                   int)                                   \
1367   nonstatic_field(CompileTask,                 _compile_id,                                   uint)                                  \
1368   nonstatic_field(CompileTask,                 _num_inlined_bytecodes,                        int)                                   \
1369   nonstatic_field(CompileTask,                 _next,                                         CompileTask*)                          \
1370   nonstatic_field(CompileTask,                 _prev,                                         CompileTask*)                          \
1371                                                                                                                                      \
1372   nonstatic_field(vframeArray,                 _next,                                         vframeArray*)                          \
1373   nonstatic_field(vframeArray,                 _original,                                     frame)                                 \
1374   nonstatic_field(vframeArray,                 _caller,                                       frame)                                 \
1375   nonstatic_field(vframeArray,                 _frames,                                       int)                                   \
1376                                                                                                                                      \
1377   nonstatic_field(vframeArrayElement,          _frame,                                        frame)                                 \
1378   nonstatic_field(vframeArrayElement,          _bci,                                          int)                                   \
1379   nonstatic_field(vframeArrayElement,          _method,                                       Method*)                               \
1380                                                                                                                                      \
1381   nonstatic_field(PtrQueue,                    _active,                                       bool)                                  \
1382   nonstatic_field(PtrQueue,                    _buf,                                          void**)                                \
1383   nonstatic_field(PtrQueue,                    _index,                                        size_t)                                \
1384                                                                                                                                      \
1385   nonstatic_field(AccessFlags,                 _flags,                                        jint)                                  \
1386   nonstatic_field(elapsedTimer,                _counter,                                      jlong)                                 \
1387   nonstatic_field(elapsedTimer,                _active,                                       bool)                                  \
1388   nonstatic_field(InvocationCounter,           _counter,                                      unsigned int)                          \
1389   volatile_nonstatic_field(FreeChunk,          _size,                                         size_t)                                \
1390   nonstatic_field(FreeChunk,                   _next,                                         FreeChunk*)                            \
1391   nonstatic_field(FreeChunk,                   _prev,                                         FreeChunk*)                            \
1392   nonstatic_field(AdaptiveFreeList<FreeChunk>, _size,                                         size_t)                                \
1393   nonstatic_field(AdaptiveFreeList<FreeChunk>, _count,                                        ssize_t)
1394 
1395 
1396 //--------------------------------------------------------------------------------
1397 // VM_TYPES
1398 //
1399 // This list must enumerate at least all of the types in the above
1400 // list. For the types in the above list, the entry below must have
1401 // exactly the same spacing since string comparisons are done in the
1402 // code which verifies the consistency of these tables (in the debug
1403 // build).
1404 //


2256   declare_toplevel_type(ObjectMonitor*)                                   \
2257   declare_toplevel_type(oop*)                                             \
2258   declare_toplevel_type(OopMap**)                                         \
2259   declare_toplevel_type(OopMapCache*)                                     \
2260   declare_toplevel_type(OopMapSet*)                                       \
2261   declare_toplevel_type(VMReg)                                            \
2262   declare_toplevel_type(OSThread*)                                        \
2263    declare_integer_type(ReferenceType)                                    \
2264   declare_toplevel_type(StubQueue*)                                       \
2265   declare_toplevel_type(Thread*)                                          \
2266   declare_toplevel_type(Universe)                                         \
2267   declare_toplevel_type(os)                                               \
2268   declare_toplevel_type(vframeArray)                                      \
2269   declare_toplevel_type(vframeArrayElement)                               \
2270   declare_toplevel_type(Annotations*)                                     \
2271                                                                           \
2272   /***************/                                                       \
2273   /* Miscellaneous types */                                               \
2274   /***************/                                                       \
2275                                                                           \
2276   declare_toplevel_type(PtrQueue)                                         \
2277                                                                           \
2278   /* freelist */                                                          \
2279   declare_toplevel_type(FreeChunk*)                                       \
2280   declare_toplevel_type(AdaptiveFreeList<FreeChunk>*)                     \
2281   declare_toplevel_type(AdaptiveFreeList<FreeChunk>)
2282 
2283 
2284 //--------------------------------------------------------------------------------
2285 // VM_INT_CONSTANTS
2286 //
2287 // This table contains integer constants required over in the
2288 // serviceability agent. The "declare_constant" macro is used for all
2289 // enums, etc., while "declare_preprocessor_constant" must be used for
2290 // all #defined constants.
2291 
2292 #define VM_INT_CONSTANTS(declare_constant,                                \
2293                          declare_preprocessor_constant,                   \
2294                          declare_c1_constant,                             \
2295                          declare_c2_constant,                             \
2296                          declare_c2_preprocessor_constant)                \
2297                                                                           \


3049 #ifdef COMPILER2
3050 # define GENERATE_C2_VM_TYPE_ENTRY(a, b)                     GENERATE_VM_TYPE_ENTRY(a, b)
3051 # define CHECK_C2_VM_TYPE_ENTRY(a, b)                        CHECK_VM_TYPE_ENTRY(a, b)
3052 # define GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY(a)               GENERATE_TOPLEVEL_VM_TYPE_ENTRY(a)
3053 # define CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
3054 #else
3055 # define GENERATE_C2_VM_TYPE_ENTRY(a, b)
3056 # define CHECK_C2_VM_TYPE_ENTRY(a, b)
3057 # define GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
3058 # define CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
3059 #endif /* COMPILER2 */
3060 
3061 
3062 //--------------------------------------------------------------------------------
3063 // VMIntConstantEntry macros
3064 //
3065 
3066 #define GENERATE_VM_INT_CONSTANT_ENTRY(name) \
3067  { QUOTE(name), (int32_t) name },
3068 



3069 #define GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value) \
3070  { name, (int32_t) value },
3071 
3072 // This macro generates the sentinel value indicating the end of the list
3073 #define GENERATE_VM_INT_CONSTANT_LAST_ENTRY() \
3074  { NULL, 0 }
3075 
3076 
3077 // Generate an int constant for a C1 build
3078 #ifdef COMPILER1
3079 # define GENERATE_C1_VM_INT_CONSTANT_ENTRY(name)  GENERATE_VM_INT_CONSTANT_ENTRY(name)
3080 #else
3081 # define GENERATE_C1_VM_INT_CONSTANT_ENTRY(name)
3082 #endif /* COMPILER1 */
3083 
3084 // Generate an int constant for a C2 build
3085 #ifdef COMPILER2
3086 # define GENERATE_C2_VM_INT_CONSTANT_ENTRY(name)                      GENERATE_VM_INT_CONSTANT_ENTRY(name)
3087 # define GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value)  GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value)
3088 #else


3279 };
3280 
3281 VMIntConstantEntry VMStructs::localHotSpotVMIntConstants[] = {
3282 
3283   VM_INT_CONSTANTS(GENERATE_VM_INT_CONSTANT_ENTRY,
3284                    GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
3285                    GENERATE_C1_VM_INT_CONSTANT_ENTRY,
3286                    GENERATE_C2_VM_INT_CONSTANT_ENTRY,
3287                    GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
3288 
3289 #if INCLUDE_JVMCI
3290   VM_INT_CONSTANTS_JVMCI(GENERATE_VM_INT_CONSTANT_ENTRY,
3291                          GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
3292 
3293 #endif
3294 
3295 #if INCLUDE_ALL_GCS
3296   VM_INT_CONSTANTS_CMS(GENERATE_VM_INT_CONSTANT_ENTRY)
3297 
3298   VM_INT_CONSTANTS_PARNEW(GENERATE_VM_INT_CONSTANT_ENTRY)



3299 #endif // INCLUDE_ALL_GCS
3300 
3301 #if INCLUDE_TRACE
3302   VM_INT_CONSTANTS_TRACE(GENERATE_VM_INT_CONSTANT_ENTRY)
3303 #endif
3304 
3305   VM_INT_CONSTANTS_OS(GENERATE_VM_INT_CONSTANT_ENTRY,
3306                       GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
3307                       GENERATE_C1_VM_INT_CONSTANT_ENTRY,
3308                       GENERATE_C2_VM_INT_CONSTANT_ENTRY,
3309                       GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
3310 
3311   VM_INT_CONSTANTS_CPU(GENERATE_VM_INT_CONSTANT_ENTRY,
3312                        GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
3313                        GENERATE_C1_VM_INT_CONSTANT_ENTRY,
3314                        GENERATE_C2_VM_INT_CONSTANT_ENTRY,
3315                        GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
3316 
3317   VM_INT_CONSTANTS_OS_CPU(GENERATE_VM_INT_CONSTANT_ENTRY,
3318                           GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,




1361   /* Miscellaneous fields */                                                                                                         \
1362   /************************/                                                                                                         \
1363                                                                                                                                      \
1364   nonstatic_field(CompileTask,                 _method,                                       Method*)                               \
1365   nonstatic_field(CompileTask,                 _osr_bci,                                      int)                                   \
1366   nonstatic_field(CompileTask,                 _comp_level,                                   int)                                   \
1367   nonstatic_field(CompileTask,                 _compile_id,                                   uint)                                  \
1368   nonstatic_field(CompileTask,                 _num_inlined_bytecodes,                        int)                                   \
1369   nonstatic_field(CompileTask,                 _next,                                         CompileTask*)                          \
1370   nonstatic_field(CompileTask,                 _prev,                                         CompileTask*)                          \
1371                                                                                                                                      \
1372   nonstatic_field(vframeArray,                 _next,                                         vframeArray*)                          \
1373   nonstatic_field(vframeArray,                 _original,                                     frame)                                 \
1374   nonstatic_field(vframeArray,                 _caller,                                       frame)                                 \
1375   nonstatic_field(vframeArray,                 _frames,                                       int)                                   \
1376                                                                                                                                      \
1377   nonstatic_field(vframeArrayElement,          _frame,                                        frame)                                 \
1378   nonstatic_field(vframeArrayElement,          _bci,                                          int)                                   \
1379   nonstatic_field(vframeArrayElement,          _method,                                       Method*)                               \
1380                                                                                                                                      \




1381   nonstatic_field(AccessFlags,                 _flags,                                        jint)                                  \
1382   nonstatic_field(elapsedTimer,                _counter,                                      jlong)                                 \
1383   nonstatic_field(elapsedTimer,                _active,                                       bool)                                  \
1384   nonstatic_field(InvocationCounter,           _counter,                                      unsigned int)                          \
1385   volatile_nonstatic_field(FreeChunk,          _size,                                         size_t)                                \
1386   nonstatic_field(FreeChunk,                   _next,                                         FreeChunk*)                            \
1387   nonstatic_field(FreeChunk,                   _prev,                                         FreeChunk*)                            \
1388   nonstatic_field(AdaptiveFreeList<FreeChunk>, _size,                                         size_t)                                \
1389   nonstatic_field(AdaptiveFreeList<FreeChunk>, _count,                                        ssize_t)
1390 
1391 
1392 //--------------------------------------------------------------------------------
1393 // VM_TYPES
1394 //
1395 // This list must enumerate at least all of the types in the above
1396 // list. For the types in the above list, the entry below must have
1397 // exactly the same spacing since string comparisons are done in the
1398 // code which verifies the consistency of these tables (in the debug
1399 // build).
1400 //


2252   declare_toplevel_type(ObjectMonitor*)                                   \
2253   declare_toplevel_type(oop*)                                             \
2254   declare_toplevel_type(OopMap**)                                         \
2255   declare_toplevel_type(OopMapCache*)                                     \
2256   declare_toplevel_type(OopMapSet*)                                       \
2257   declare_toplevel_type(VMReg)                                            \
2258   declare_toplevel_type(OSThread*)                                        \
2259    declare_integer_type(ReferenceType)                                    \
2260   declare_toplevel_type(StubQueue*)                                       \
2261   declare_toplevel_type(Thread*)                                          \
2262   declare_toplevel_type(Universe)                                         \
2263   declare_toplevel_type(os)                                               \
2264   declare_toplevel_type(vframeArray)                                      \
2265   declare_toplevel_type(vframeArrayElement)                               \
2266   declare_toplevel_type(Annotations*)                                     \
2267                                                                           \
2268   /***************/                                                       \
2269   /* Miscellaneous types */                                               \
2270   /***************/                                                       \
2271                                                                           \


2272   /* freelist */                                                          \
2273   declare_toplevel_type(FreeChunk*)                                       \
2274   declare_toplevel_type(AdaptiveFreeList<FreeChunk>*)                     \
2275   declare_toplevel_type(AdaptiveFreeList<FreeChunk>)
2276 
2277 
2278 //--------------------------------------------------------------------------------
2279 // VM_INT_CONSTANTS
2280 //
2281 // This table contains integer constants required over in the
2282 // serviceability agent. The "declare_constant" macro is used for all
2283 // enums, etc., while "declare_preprocessor_constant" must be used for
2284 // all #defined constants.
2285 
2286 #define VM_INT_CONSTANTS(declare_constant,                                \
2287                          declare_preprocessor_constant,                   \
2288                          declare_c1_constant,                             \
2289                          declare_c2_constant,                             \
2290                          declare_c2_preprocessor_constant)                \
2291                                                                           \


3043 #ifdef COMPILER2
3044 # define GENERATE_C2_VM_TYPE_ENTRY(a, b)                     GENERATE_VM_TYPE_ENTRY(a, b)
3045 # define CHECK_C2_VM_TYPE_ENTRY(a, b)                        CHECK_VM_TYPE_ENTRY(a, b)
3046 # define GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY(a)               GENERATE_TOPLEVEL_VM_TYPE_ENTRY(a)
3047 # define CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
3048 #else
3049 # define GENERATE_C2_VM_TYPE_ENTRY(a, b)
3050 # define CHECK_C2_VM_TYPE_ENTRY(a, b)
3051 # define GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
3052 # define CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
3053 #endif /* COMPILER2 */
3054 
3055 
3056 //--------------------------------------------------------------------------------
3057 // VMIntConstantEntry macros
3058 //
3059 
3060 #define GENERATE_VM_INT_CONSTANT_ENTRY(name) \
3061  { QUOTE(name), (int32_t) name },
3062 
3063 #define GENERATE_VM_INT_CONSTANT_WITH_VALUE_ENTRY(name, value) \
3064  { (name), (int32_t)(value) },
3065 
3066 #define GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value) \
3067  { name, (int32_t) value },
3068 
3069 // This macro generates the sentinel value indicating the end of the list
3070 #define GENERATE_VM_INT_CONSTANT_LAST_ENTRY() \
3071  { NULL, 0 }
3072 
3073 
3074 // Generate an int constant for a C1 build
3075 #ifdef COMPILER1
3076 # define GENERATE_C1_VM_INT_CONSTANT_ENTRY(name)  GENERATE_VM_INT_CONSTANT_ENTRY(name)
3077 #else
3078 # define GENERATE_C1_VM_INT_CONSTANT_ENTRY(name)
3079 #endif /* COMPILER1 */
3080 
3081 // Generate an int constant for a C2 build
3082 #ifdef COMPILER2
3083 # define GENERATE_C2_VM_INT_CONSTANT_ENTRY(name)                      GENERATE_VM_INT_CONSTANT_ENTRY(name)
3084 # define GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value)  GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value)
3085 #else


3276 };
3277 
3278 VMIntConstantEntry VMStructs::localHotSpotVMIntConstants[] = {
3279 
3280   VM_INT_CONSTANTS(GENERATE_VM_INT_CONSTANT_ENTRY,
3281                    GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
3282                    GENERATE_C1_VM_INT_CONSTANT_ENTRY,
3283                    GENERATE_C2_VM_INT_CONSTANT_ENTRY,
3284                    GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
3285 
3286 #if INCLUDE_JVMCI
3287   VM_INT_CONSTANTS_JVMCI(GENERATE_VM_INT_CONSTANT_ENTRY,
3288                          GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
3289 
3290 #endif
3291 
3292 #if INCLUDE_ALL_GCS
3293   VM_INT_CONSTANTS_CMS(GENERATE_VM_INT_CONSTANT_ENTRY)
3294 
3295   VM_INT_CONSTANTS_PARNEW(GENERATE_VM_INT_CONSTANT_ENTRY)
3296 
3297   VM_INT_CONSTANTS_G1(GENERATE_VM_INT_CONSTANT_ENTRY,
3298                       GENERATE_VM_INT_CONSTANT_WITH_VALUE_ENTRY)
3299 #endif // INCLUDE_ALL_GCS
3300 
3301 #if INCLUDE_TRACE
3302   VM_INT_CONSTANTS_TRACE(GENERATE_VM_INT_CONSTANT_ENTRY)
3303 #endif
3304 
3305   VM_INT_CONSTANTS_OS(GENERATE_VM_INT_CONSTANT_ENTRY,
3306                       GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
3307                       GENERATE_C1_VM_INT_CONSTANT_ENTRY,
3308                       GENERATE_C2_VM_INT_CONSTANT_ENTRY,
3309                       GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
3310 
3311   VM_INT_CONSTANTS_CPU(GENERATE_VM_INT_CONSTANT_ENTRY,
3312                        GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
3313                        GENERATE_C1_VM_INT_CONSTANT_ENTRY,
3314                        GENERATE_C2_VM_INT_CONSTANT_ENTRY,
3315                        GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
3316 
3317   VM_INT_CONSTANTS_OS_CPU(GENERATE_VM_INT_CONSTANT_ENTRY,
3318                           GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,


< prev index next >