1254 declare_toplevel_type(void*) \
1255 declare_toplevel_type(int*) \
1256 declare_toplevel_type(char*) \
1257 declare_toplevel_type(char**) \
1258 declare_toplevel_type(u_char*) \
1259 declare_toplevel_type(unsigned char*) \
1260 declare_toplevel_type(volatile unsigned char*) \
1261 \
1262 /*******************************************************************/ \
1263 /* Types which it will be handy to have available over in the SA */ \
1264 /* in order to do platform-independent address -> integer coercion */ \
1265 /* (note: these will be looked up by name) */ \
1266 /*******************************************************************/ \
1267 \
1268 declare_unsigned_integer_type(size_t) \
1269 declare_integer_type(ssize_t) \
1270 declare_integer_type(intx) \
1271 declare_integer_type(intptr_t) \
1272 declare_unsigned_integer_type(uintx) \
1273 declare_unsigned_integer_type(uintptr_t) \
1274 declare_unsigned_integer_type(uint32_t) \
1275 declare_unsigned_integer_type(uint64_t) \
1276 \
1277 /******************************************/ \
1278 /* OopDesc hierarchy (NOTE: some missing) */ \
1279 /******************************************/ \
1280 \
1281 declare_toplevel_type(oopDesc) \
1282 declare_type(arrayOopDesc, oopDesc) \
1283 declare_type(objArrayOopDesc, arrayOopDesc) \
1284 declare_type(instanceOopDesc, oopDesc) \
1285 declare_type(markOopDesc, oopDesc) \
1286 \
1287 /**************************************************/ \
1288 /* MetadataOopDesc hierarchy (NOTE: some missing) */ \
1289 /**************************************************/ \
1290 \
1291 declare_toplevel_type(CompiledICHolder) \
1292 declare_toplevel_type(MetaspaceObj) \
1293 declare_type(Metadata, MetaspaceObj) \
2584 /****************/ \
2585 /* JVMCI */ \
2586 /****************/ \
2587 \
2588 declare_preprocessor_constant("INCLUDE_JVMCI", INCLUDE_JVMCI) \
2589 \
2590 /****************/ \
2591 /* VMRegImpl */ \
2592 /****************/ \
2593 declare_constant(VMRegImpl::stack_slot_size)
2594
2595 //--------------------------------------------------------------------------------
2596 // VM_LONG_CONSTANTS
2597 //
2598 // This table contains long constants required over in the
2599 // serviceability agent. The "declare_constant" macro is used for all
2600 // enums, etc., while "declare_preprocessor_constant" must be used for
2601 // all #defined constants.
2602
2603 #define VM_LONG_CONSTANTS(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \
2604 \
2605 /*********************/ \
2606 /* MarkOop constants */ \
2607 /*********************/ \
2608 \
2609 /* Note: some of these are declared as long constants just for */ \
2610 /* consistency. The mask constants are the only ones requiring */ \
2611 /* 64 bits (on 64-bit platforms). */ \
2612 \
2613 declare_constant(markOopDesc::age_bits) \
2614 declare_constant(markOopDesc::lock_bits) \
2615 declare_constant(markOopDesc::biased_lock_bits) \
2616 declare_constant(markOopDesc::max_hash_bits) \
2617 declare_constant(markOopDesc::hash_bits) \
2618 \
2619 declare_constant(markOopDesc::lock_shift) \
2620 declare_constant(markOopDesc::biased_lock_shift) \
2621 declare_constant(markOopDesc::age_shift) \
2622 declare_constant(markOopDesc::hash_shift) \
2623 \
|
1254 declare_toplevel_type(void*) \
1255 declare_toplevel_type(int*) \
1256 declare_toplevel_type(char*) \
1257 declare_toplevel_type(char**) \
1258 declare_toplevel_type(u_char*) \
1259 declare_toplevel_type(unsigned char*) \
1260 declare_toplevel_type(volatile unsigned char*) \
1261 \
1262 /*******************************************************************/ \
1263 /* Types which it will be handy to have available over in the SA */ \
1264 /* in order to do platform-independent address -> integer coercion */ \
1265 /* (note: these will be looked up by name) */ \
1266 /*******************************************************************/ \
1267 \
1268 declare_unsigned_integer_type(size_t) \
1269 declare_integer_type(ssize_t) \
1270 declare_integer_type(intx) \
1271 declare_integer_type(intptr_t) \
1272 declare_unsigned_integer_type(uintx) \
1273 declare_unsigned_integer_type(uintptr_t) \
1274 declare_unsigned_integer_type(uint8_t) \
1275 declare_unsigned_integer_type(uint32_t) \
1276 declare_unsigned_integer_type(uint64_t) \
1277 \
1278 /******************************************/ \
1279 /* OopDesc hierarchy (NOTE: some missing) */ \
1280 /******************************************/ \
1281 \
1282 declare_toplevel_type(oopDesc) \
1283 declare_type(arrayOopDesc, oopDesc) \
1284 declare_type(objArrayOopDesc, arrayOopDesc) \
1285 declare_type(instanceOopDesc, oopDesc) \
1286 declare_type(markOopDesc, oopDesc) \
1287 \
1288 /**************************************************/ \
1289 /* MetadataOopDesc hierarchy (NOTE: some missing) */ \
1290 /**************************************************/ \
1291 \
1292 declare_toplevel_type(CompiledICHolder) \
1293 declare_toplevel_type(MetaspaceObj) \
1294 declare_type(Metadata, MetaspaceObj) \
2585 /****************/ \
2586 /* JVMCI */ \
2587 /****************/ \
2588 \
2589 declare_preprocessor_constant("INCLUDE_JVMCI", INCLUDE_JVMCI) \
2590 \
2591 /****************/ \
2592 /* VMRegImpl */ \
2593 /****************/ \
2594 declare_constant(VMRegImpl::stack_slot_size)
2595
2596 //--------------------------------------------------------------------------------
2597 // VM_LONG_CONSTANTS
2598 //
2599 // This table contains long constants required over in the
2600 // serviceability agent. The "declare_constant" macro is used for all
2601 // enums, etc., while "declare_preprocessor_constant" must be used for
2602 // all #defined constants.
2603
2604 #define VM_LONG_CONSTANTS(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \
2605 \
2606 /****************/ \
2607 /* GC constants */ \
2608 /****************/ \
2609 \
2610 VM_LONG_CONSTANTS_GC(declare_constant) \
2611 \
2612 /*********************/ \
2613 /* MarkOop constants */ \
2614 /*********************/ \
2615 \
2616 /* Note: some of these are declared as long constants just for */ \
2617 /* consistency. The mask constants are the only ones requiring */ \
2618 /* 64 bits (on 64-bit platforms). */ \
2619 \
2620 declare_constant(markOopDesc::age_bits) \
2621 declare_constant(markOopDesc::lock_bits) \
2622 declare_constant(markOopDesc::biased_lock_bits) \
2623 declare_constant(markOopDesc::max_hash_bits) \
2624 declare_constant(markOopDesc::hash_bits) \
2625 \
2626 declare_constant(markOopDesc::lock_shift) \
2627 declare_constant(markOopDesc::biased_lock_shift) \
2628 declare_constant(markOopDesc::age_shift) \
2629 declare_constant(markOopDesc::hash_shift) \
2630 \
|