1176 * This value is only valid on AMD64.
1177 */
1178 public int threadLastJavaFpOffset() {
1179 // TODO add an assert for AMD64
1180 return javaThreadAnchorOffset + javaFrameAnchorLastJavaFpOffset;
1181 }
1182
1183 /**
1184 * This value is only valid on SPARC.
1185 */
1186 public int threadJavaFrameAnchorFlagsOffset() {
1187 // TODO add an assert for SPARC
1188 return javaThreadAnchorOffset + javaFrameAnchorFlagsOffset;
1189 }
1190
1191 // These are only valid on AMD64.
1192 @HotSpotVMConstant(name = "frame::arg_reg_save_area_bytes", archs = {"amd64"}) @Stable public int runtimeCallStackSize;
1193 @HotSpotVMConstant(name = "frame::interpreter_frame_sender_sp_offset", archs = {"amd64"}) @Stable public int frameInterpreterFrameSenderSpOffset;
1194 @HotSpotVMConstant(name = "frame::interpreter_frame_last_sp_offset", archs = {"amd64"}) @Stable public int frameInterpreterFrameLastSpOffset;
1195
1196 @HotSpotVMField(name = "PtrQueue::_active", type = "bool", get = HotSpotVMField.Type.OFFSET) @Stable public int ptrQueueActiveOffset;
1197 @HotSpotVMField(name = "PtrQueue::_buf", type = "void**", get = HotSpotVMField.Type.OFFSET) @Stable public int ptrQueueBufferOffset;
1198 @HotSpotVMField(name = "PtrQueue::_index", type = "size_t", get = HotSpotVMField.Type.OFFSET) @Stable public int ptrQueueIndexOffset;
1199
1200 @HotSpotVMField(name = "OSThread::_interrupted", type = "jint", get = HotSpotVMField.Type.OFFSET) @Stable public int osThreadInterruptedOffset;
1201
1202 @HotSpotVMConstant(name = "markOopDesc::unlocked_value") @Stable public int unlockedMask;
1203 @HotSpotVMConstant(name = "markOopDesc::biased_lock_mask_in_place") @Stable public int biasedLockMaskInPlace;
1204 @HotSpotVMConstant(name = "markOopDesc::age_mask_in_place") @Stable public int ageMaskInPlace;
1205 @HotSpotVMConstant(name = "markOopDesc::epoch_mask_in_place") @Stable public int epochMaskInPlace;
1206
1207 @HotSpotVMConstant(name = "markOopDesc::hash_shift") @Stable public long markOopDescHashShift;
1208 @HotSpotVMConstant(name = "markOopDesc::hash_mask") @Stable public long markOopDescHashMask;
1209 @HotSpotVMConstant(name = "markOopDesc::hash_mask_in_place") @Stable public long markOopDescHashMaskInPlace;
1210
1211 @HotSpotVMConstant(name = "markOopDesc::biased_lock_pattern") @Stable public int biasedLockPattern;
1212 @HotSpotVMConstant(name = "markOopDesc::no_hash_in_place") @Stable public int markWordNoHashInPlace;
1213 @HotSpotVMConstant(name = "markOopDesc::no_lock_in_place") @Stable public int markWordNoLockInPlace;
1214
1215 /**
1216 * See {@code markOopDesc::prototype()}.
1217 */
1218 public long arrayPrototypeMarkWord() {
1379
1380 public long cardtableStartAddress() {
1381 if (cardtableStartAddress == -1) {
1382 throw JVMCIError.shouldNotReachHere();
1383 }
1384 return cardtableStartAddress;
1385 }
1386
1387 public int cardtableShift() {
1388 if (cardtableShift == -1) {
1389 throw JVMCIError.shouldNotReachHere();
1390 }
1391 return cardtableShift;
1392 }
1393
1394 @HotSpotVMField(name = "os::_polling_page", type = "address", get = HotSpotVMField.Type.VALUE) @Stable public long safepointPollingAddress;
1395
1396 // G1 Collector Related Values.
1397
1398 public int g1CardQueueIndexOffset() {
1399 return javaThreadDirtyCardQueueOffset + ptrQueueIndexOffset;
1400 }
1401
1402 public int g1CardQueueBufferOffset() {
1403 return javaThreadDirtyCardQueueOffset + ptrQueueBufferOffset;
1404 }
1405
1406 public int g1SATBQueueMarkingOffset() {
1407 return javaThreadSatbMarkQueueOffset + ptrQueueActiveOffset;
1408 }
1409
1410 public int g1SATBQueueIndexOffset() {
1411 return javaThreadSatbMarkQueueOffset + ptrQueueIndexOffset;
1412 }
1413
1414 public int g1SATBQueueBufferOffset() {
1415 return javaThreadSatbMarkQueueOffset + ptrQueueBufferOffset;
1416 }
1417
1418 @HotSpotVMField(name = "java_lang_Class::_klass_offset", type = "int", get = HotSpotVMField.Type.VALUE) @Stable public int klassOffset;
1419 @HotSpotVMField(name = "java_lang_Class::_array_klass_offset", type = "int", get = HotSpotVMField.Type.VALUE) @Stable public int arrayKlassOffset;
1420
1421 @HotSpotVMField(name = "Method::_method_counters", type = "MethodCounters*", get = HotSpotVMField.Type.OFFSET) @Stable public int methodCountersOffset;
1422 @HotSpotVMField(name = "Method::_method_data", type = "MethodData*", get = HotSpotVMField.Type.OFFSET) @Stable public int methodDataOffset;
1423 @HotSpotVMField(name = "Method::_from_compiled_entry", type = "address", get = HotSpotVMField.Type.OFFSET) @Stable public int methodCompiledEntryOffset;
1424 @HotSpotVMField(name = "Method::_code", type = "nmethod*", get = HotSpotVMField.Type.OFFSET) @Stable public int methodCodeOffset;
1425
1426 @HotSpotVMField(name = "MethodCounters::_invocation_counter", type = "InvocationCounter", get = HotSpotVMField.Type.OFFSET) @Stable public int invocationCounterOffset;
1427 @HotSpotVMField(name = "MethodCounters::_backedge_counter", type = "InvocationCounter", get = HotSpotVMField.Type.OFFSET) @Stable public int backedgeCounterOffset;
1428 @HotSpotVMConstant(name = "InvocationCounter::count_increment") @Stable public int invocationCounterIncrement;
1429 @HotSpotVMConstant(name = "InvocationCounter::count_shift") @Stable public int invocationCounterShift;
1430
1431 @HotSpotVMField(name = "MethodData::_size", type = "int", get = HotSpotVMField.Type.OFFSET) @Stable public int methodDataSize;
1432 @HotSpotVMField(name = "MethodData::_data_size", type = "int", get = HotSpotVMField.Type.OFFSET) @Stable public int methodDataDataSize;
1433 @HotSpotVMField(name = "MethodData::_data[0]", type = "intptr_t", get = HotSpotVMField.Type.OFFSET) @Stable public int methodDataOopDataOffset;
1434 @HotSpotVMField(name = "MethodData::_trap_hist._array[0]", type = "u1", get = HotSpotVMField.Type.OFFSET) @Stable public int methodDataOopTrapHistoryOffset;
1435 @HotSpotVMField(name = "MethodData::_jvmci_ir_size", type = "int", get = HotSpotVMField.Type.OFFSET) @Stable public int methodDataIRSizeOffset;
|
1176 * This value is only valid on AMD64.
1177 */
1178 public int threadLastJavaFpOffset() {
1179 // TODO add an assert for AMD64
1180 return javaThreadAnchorOffset + javaFrameAnchorLastJavaFpOffset;
1181 }
1182
1183 /**
1184 * This value is only valid on SPARC.
1185 */
1186 public int threadJavaFrameAnchorFlagsOffset() {
1187 // TODO add an assert for SPARC
1188 return javaThreadAnchorOffset + javaFrameAnchorFlagsOffset;
1189 }
1190
1191 // These are only valid on AMD64.
1192 @HotSpotVMConstant(name = "frame::arg_reg_save_area_bytes", archs = {"amd64"}) @Stable public int runtimeCallStackSize;
1193 @HotSpotVMConstant(name = "frame::interpreter_frame_sender_sp_offset", archs = {"amd64"}) @Stable public int frameInterpreterFrameSenderSpOffset;
1194 @HotSpotVMConstant(name = "frame::interpreter_frame_last_sp_offset", archs = {"amd64"}) @Stable public int frameInterpreterFrameLastSpOffset;
1195
1196 @HotSpotVMConstant(name = "dirtyCardQueueBufferOffset") @Stable private int dirtyCardQueueBufferOffset;
1197 @HotSpotVMConstant(name = "dirtyCardQueueIndexOffset") @Stable private int dirtyCardQueueIndexOffset;
1198
1199 @HotSpotVMConstant(name = "satbMarkQueueBufferOffset") @Stable private int satbMarkQueueBufferOffset;
1200 @HotSpotVMConstant(name = "satbMarkQueueIndexOffset") @Stable private int satbMarkQueueIndexOffset;
1201 @HotSpotVMConstant(name = "satbMarkQueueActiveOffset") @Stable private int satbMarkQueueActiveOffset;
1202
1203 @HotSpotVMField(name = "OSThread::_interrupted", type = "jint", get = HotSpotVMField.Type.OFFSET) @Stable public int osThreadInterruptedOffset;
1204
1205 @HotSpotVMConstant(name = "markOopDesc::unlocked_value") @Stable public int unlockedMask;
1206 @HotSpotVMConstant(name = "markOopDesc::biased_lock_mask_in_place") @Stable public int biasedLockMaskInPlace;
1207 @HotSpotVMConstant(name = "markOopDesc::age_mask_in_place") @Stable public int ageMaskInPlace;
1208 @HotSpotVMConstant(name = "markOopDesc::epoch_mask_in_place") @Stable public int epochMaskInPlace;
1209
1210 @HotSpotVMConstant(name = "markOopDesc::hash_shift") @Stable public long markOopDescHashShift;
1211 @HotSpotVMConstant(name = "markOopDesc::hash_mask") @Stable public long markOopDescHashMask;
1212 @HotSpotVMConstant(name = "markOopDesc::hash_mask_in_place") @Stable public long markOopDescHashMaskInPlace;
1213
1214 @HotSpotVMConstant(name = "markOopDesc::biased_lock_pattern") @Stable public int biasedLockPattern;
1215 @HotSpotVMConstant(name = "markOopDesc::no_hash_in_place") @Stable public int markWordNoHashInPlace;
1216 @HotSpotVMConstant(name = "markOopDesc::no_lock_in_place") @Stable public int markWordNoLockInPlace;
1217
1218 /**
1219 * See {@code markOopDesc::prototype()}.
1220 */
1221 public long arrayPrototypeMarkWord() {
1382
1383 public long cardtableStartAddress() {
1384 if (cardtableStartAddress == -1) {
1385 throw JVMCIError.shouldNotReachHere();
1386 }
1387 return cardtableStartAddress;
1388 }
1389
1390 public int cardtableShift() {
1391 if (cardtableShift == -1) {
1392 throw JVMCIError.shouldNotReachHere();
1393 }
1394 return cardtableShift;
1395 }
1396
1397 @HotSpotVMField(name = "os::_polling_page", type = "address", get = HotSpotVMField.Type.VALUE) @Stable public long safepointPollingAddress;
1398
1399 // G1 Collector Related Values.
1400
1401 public int g1CardQueueIndexOffset() {
1402 return javaThreadDirtyCardQueueOffset + dirtyCardQueueIndexOffset;
1403 }
1404
1405 public int g1CardQueueBufferOffset() {
1406 return javaThreadDirtyCardQueueOffset + dirtyCardQueueBufferOffset;
1407 }
1408
1409 public int g1SATBQueueMarkingOffset() {
1410 return javaThreadSatbMarkQueueOffset + satbMarkQueueActiveOffset;
1411 }
1412
1413 public int g1SATBQueueIndexOffset() {
1414 return javaThreadSatbMarkQueueOffset + satbMarkQueueIndexOffset;
1415 }
1416
1417 public int g1SATBQueueBufferOffset() {
1418 return javaThreadSatbMarkQueueOffset + satbMarkQueueBufferOffset;
1419 }
1420
1421 @HotSpotVMField(name = "java_lang_Class::_klass_offset", type = "int", get = HotSpotVMField.Type.VALUE) @Stable public int klassOffset;
1422 @HotSpotVMField(name = "java_lang_Class::_array_klass_offset", type = "int", get = HotSpotVMField.Type.VALUE) @Stable public int arrayKlassOffset;
1423
1424 @HotSpotVMField(name = "Method::_method_counters", type = "MethodCounters*", get = HotSpotVMField.Type.OFFSET) @Stable public int methodCountersOffset;
1425 @HotSpotVMField(name = "Method::_method_data", type = "MethodData*", get = HotSpotVMField.Type.OFFSET) @Stable public int methodDataOffset;
1426 @HotSpotVMField(name = "Method::_from_compiled_entry", type = "address", get = HotSpotVMField.Type.OFFSET) @Stable public int methodCompiledEntryOffset;
1427 @HotSpotVMField(name = "Method::_code", type = "nmethod*", get = HotSpotVMField.Type.OFFSET) @Stable public int methodCodeOffset;
1428
1429 @HotSpotVMField(name = "MethodCounters::_invocation_counter", type = "InvocationCounter", get = HotSpotVMField.Type.OFFSET) @Stable public int invocationCounterOffset;
1430 @HotSpotVMField(name = "MethodCounters::_backedge_counter", type = "InvocationCounter", get = HotSpotVMField.Type.OFFSET) @Stable public int backedgeCounterOffset;
1431 @HotSpotVMConstant(name = "InvocationCounter::count_increment") @Stable public int invocationCounterIncrement;
1432 @HotSpotVMConstant(name = "InvocationCounter::count_shift") @Stable public int invocationCounterShift;
1433
1434 @HotSpotVMField(name = "MethodData::_size", type = "int", get = HotSpotVMField.Type.OFFSET) @Stable public int methodDataSize;
1435 @HotSpotVMField(name = "MethodData::_data_size", type = "int", get = HotSpotVMField.Type.OFFSET) @Stable public int methodDataDataSize;
1436 @HotSpotVMField(name = "MethodData::_data[0]", type = "intptr_t", get = HotSpotVMField.Type.OFFSET) @Stable public int methodDataOopDataOffset;
1437 @HotSpotVMField(name = "MethodData::_trap_hist._array[0]", type = "u1", get = HotSpotVMField.Type.OFFSET) @Stable public int methodDataOopTrapHistoryOffset;
1438 @HotSpotVMField(name = "MethodData::_jvmci_ir_size", type = "int", get = HotSpotVMField.Type.OFFSET) @Stable public int methodDataIRSizeOffset;
|