< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java

Print this page




 363     public final int fieldInfoInitvalIndexOffset = getConstant("FieldInfo::initval_index_offset", Integer.class);
 364     public final int fieldInfoLowPackedOffset = getConstant("FieldInfo::low_packed_offset", Integer.class);
 365     public final int fieldInfoHighPackedOffset = getConstant("FieldInfo::high_packed_offset", Integer.class);
 366     public final int fieldInfoFieldSlots = getConstant("FieldInfo::field_slots", Integer.class);
 367 
 368     public final int fieldInfoTagSize = getConstant("FIELDINFO_TAG_SIZE", Integer.class);
 369 
 370     public final int jvmAccMonitorMatch = getConstant("JVM_ACC_MONITOR_MATCH", Integer.class);
 371     public final int jvmAccHasMonitorBytecodes = getConstant("JVM_ACC_HAS_MONITOR_BYTECODES", Integer.class);
 372     public final int jvmAccHasFinalizer = getConstant("JVM_ACC_HAS_FINALIZER", Integer.class);
 373     public final int jvmAccFieldInternal = getConstant("JVM_ACC_FIELD_INTERNAL", Integer.class);
 374     public final int jvmAccFieldStable = getConstant("JVM_ACC_FIELD_STABLE", Integer.class);
 375     public final int jvmAccFieldHasGenericSignature = getConstant("JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE", Integer.class);
 376     public final int jvmAccWrittenFlags = getConstant("JVM_ACC_WRITTEN_FLAGS", Integer.class);
 377     public final int jvmAccSynthetic = getConstant("JVM_ACC_SYNTHETIC", Integer.class);
 378 
 379     public final int threadTlabOffset = getFieldOffset("Thread::_tlab", Integer.class, "ThreadLocalAllocBuffer");
 380     public final int javaThreadAnchorOffset = getFieldOffset("JavaThread::_anchor", Integer.class, "JavaFrameAnchor");
 381     public final int threadObjectOffset = getFieldOffset("JavaThread::_threadObj", Integer.class, "oop");
 382     public final int osThreadOffset = getFieldOffset("JavaThread::_osthread", Integer.class, "OSThread*");
 383     public final int javaThreadDirtyCardQueueOffset = getFieldOffset("JavaThread::_dirty_card_queue", Integer.class, "DirtyCardQueue");
 384     public final int threadIsMethodHandleReturnOffset = getFieldOffset("JavaThread::_is_method_handle_return", Integer.class, "int");
 385     public final int javaThreadSatbMarkQueueOffset = getFieldOffset("JavaThread::_satb_mark_queue", Integer.class);
 386     public final int threadObjectResultOffset = getFieldOffset("JavaThread::_vm_result", Integer.class, "oop");
 387     public final int jvmciCountersThreadOffset = getFieldOffset("JavaThread::_jvmci_counters", Integer.class, "jlong*");
 388     public final int javaThreadReservedStackActivationOffset = getFieldOffset("JavaThread::_reserved_stack_activation", Integer.class, "address", intNotPresentInJDK8);
 389 
 390     /**
 391      * An invalid value for {@link #rtldDefault}.
 392      */
 393     public static final long INVALID_RTLD_DEFAULT_HANDLE = 0xDEADFACE;
 394 
 395     /**
 396      * Address of the library lookup routine. The C signature of this routine is:
 397      *
 398      * <pre>
 399      *     void* (const char *filename, char *ebuf, int ebuflen)
 400      * </pre>
 401      */
 402     public final long dllLoad = getAddress("os::dll_load");
 403 
 404     /**
 405      * Address of the library lookup routine. The C signature of this routine is:


 438     }
 439 
 440     public int threadLastJavaPcOffset() {
 441         return javaThreadAnchorOffset + javaFrameAnchorLastJavaPcOffset;
 442     }
 443 
 444     public int threadLastJavaFpOffset() {
 445         assert osArch.equals("aarch64") || osArch.equals("amd64");
 446         return javaThreadAnchorOffset + getFieldOffset("JavaFrameAnchor::_last_Java_fp", Integer.class, "intptr_t*");
 447     }
 448 
 449     public int threadJavaFrameAnchorFlagsOffset() {
 450         assert osArch.equals("sparc");
 451         return javaThreadAnchorOffset + getFieldOffset("JavaFrameAnchor::_flags", Integer.class, "int");
 452     }
 453 
 454     public final int runtimeCallStackSize = getConstant("frame::arg_reg_save_area_bytes", Integer.class, intRequiredOnAMD64);
 455     public final int frameInterpreterFrameSenderSpOffset = getConstant("frame::interpreter_frame_sender_sp_offset", Integer.class, intRequiredOnAMD64);
 456     public final int frameInterpreterFrameLastSpOffset = getConstant("frame::interpreter_frame_last_sp_offset", Integer.class, intRequiredOnAMD64);
 457 
 458     private final int dirtyCardQueueBufferOffset = isJDK8 ? getFieldOffset("PtrQueue::_buf", Integer.class, "void**") : getConstant("dirtyCardQueueBufferOffset", Integer.class);
 459     private final int dirtyCardQueueIndexOffset = isJDK8 ? getFieldOffset("PtrQueue::_index", Integer.class, "size_t") : getConstant("dirtyCardQueueIndexOffset", Integer.class);
 460 
 461     private final int satbMarkQueueBufferOffset = getConstant("satbMarkQueueBufferOffset", Integer.class, intNotPresentInJDK8);
 462     private final int satbMarkQueueIndexOffset = getConstant("satbMarkQueueIndexOffset", Integer.class, intNotPresentInJDK8);
 463     private final int satbMarkQueueActiveOffset = isJDK8 ? getFieldOffset("PtrQueue::_active", Integer.class, "bool") : getConstant("satbMarkQueueActiveOffset", Integer.class, intNotPresentInJDK8);
 464 
 465     public final int osThreadInterruptedOffset = getFieldOffset("OSThread::_interrupted", Integer.class, "jint");
 466 
 467     public final long markOopDescHashShift = getConstant("markOopDesc::hash_shift", Long.class);
 468 
 469     public final int biasedLockMaskInPlace = getConstant("markOopDesc::biased_lock_mask_in_place", Integer.class);
 470     public final int ageMaskInPlace = getConstant("markOopDesc::age_mask_in_place", Integer.class);
 471     public final int epochMaskInPlace = getConstant("markOopDesc::epoch_mask_in_place", Integer.class);
 472     public final long markOopDescHashMask = getConstant("markOopDesc::hash_mask", Long.class);
 473     public final long markOopDescHashMaskInPlace = getConstant("markOopDesc::hash_mask_in_place", Long.class);
 474 
 475     public final int unlockedMask = getConstant("markOopDesc::unlocked_value", Integer.class);
 476     public final int monitorMask = getConstant("markOopDesc::monitor_value", Integer.class, -1);
 477     public final int biasedLockPattern = getConstant("markOopDesc::biased_lock_pattern", Integer.class);
 478 
 479     // This field has no type in vmStructs.cpp
 480     public final int objectMonitorOwner = getFieldOffset("ObjectMonitor::_owner", Integer.class, null, -1);
 481     public final int objectMonitorRecursions = getFieldOffset("ObjectMonitor::_recursions", Integer.class, "intptr_t", -1);
 482     public final int objectMonitorCxq = getFieldOffset("ObjectMonitor::_cxq", Integer.class, "ObjectWaiter*", -1);
 483     public final int objectMonitorEntryList = getFieldOffset("ObjectMonitor::_EntryList", Integer.class, "ObjectWaiter*", -1);
 484 


 558     public final int logOfHRGrainBytes = getFieldValue("HeapRegion::LogOfHRGrainBytes", Integer.class, "int");
 559 
 560     public final byte dirtyCardValue = jdkVersion >= 11 ? getConstant("CardTable::dirty_card", Byte.class)
 561                     : (jdkVersion > 8 ? getConstant("CardTableModRefBS::dirty_card", Byte.class) : getFieldValue("CompilerToVM::Data::dirty_card", Byte.class, "int"));
 562     public final byte g1YoungCardValue = jdkVersion >= 11 ? getConstant("G1CardTable::g1_young_gen", Byte.class)
 563                     : (jdkVersion > 8 ? getConstant("G1SATBCardTableModRefBS::g1_young_gen", Byte.class) : getFieldValue("CompilerToVM::Data::g1_young_card", Byte.class, "int"));
 564 
 565     public final long cardtableStartAddress = getFieldValue("CompilerToVM::Data::cardtable_start_address", Long.class, "jbyte*");
 566     public final int cardtableShift = getFieldValue("CompilerToVM::Data::cardtable_shift", Integer.class, "int");
 567 
 568     /**
 569      * This is the largest stack offset encodeable in an OopMapValue. Offsets larger than this will
 570      * throw an exception during code installation.
 571      */
 572     public final int maxOopMapStackOffset = getFieldValueWithAlternate("CompilerToVM::Data::_max_oop_map_stack_offset", "JVMCIRuntime::max_oop_map_stack_offset", Integer.class, "int");
 573 
 574     public final long safepointPollingAddress = getFieldValue("os::_polling_page", Long.class, "address");
 575 
 576     // G1 Collector Related Values.
 577 
 578     public int g1CardQueueIndexOffset() {
 579         return javaThreadDirtyCardQueueOffset + dirtyCardQueueIndexOffset;
 580     }
 581 
 582     public int g1CardQueueBufferOffset() {
 583         return javaThreadDirtyCardQueueOffset + dirtyCardQueueBufferOffset;
 584     }
 585 
 586     public int g1SATBQueueMarkingOffset() {
 587         return javaThreadSatbMarkQueueOffset + satbMarkQueueActiveOffset;
 588     }
 589 
 590     public int g1SATBQueueIndexOffset() {
 591         return javaThreadSatbMarkQueueOffset + (isJDK8 ? dirtyCardQueueIndexOffset : satbMarkQueueIndexOffset);
 592     }
 593 
 594     public int g1SATBQueueBufferOffset() {
 595         return javaThreadSatbMarkQueueOffset + (isJDK8 ? dirtyCardQueueBufferOffset : satbMarkQueueBufferOffset);
 596     }
 597 
 598     public final int klassOffset = getFieldValue("java_lang_Class::_klass_offset", Integer.class, "int");
 599     public final int arrayKlassOffset = getFieldValue("java_lang_Class::_array_klass_offset", Integer.class, "int");
 600 
 601     public final int basicLockSize = getFieldValue("CompilerToVM::Data::sizeof_BasicLock", Integer.class, "int");
 602     public final int basicLockDisplacedHeaderOffset = getFieldOffset("BasicLock::_displaced_header", Integer.class, "markOop");
 603 
 604     public final int threadPollingPageOffset = getFieldOffset("Thread::_polling_page", Integer.class, "address", -1);
 605     public final int threadAllocatedBytesOffset = getFieldOffset("Thread::_allocated_bytes", Integer.class, "jlong");
 606 
 607     public final int tlabRefillWasteIncrement = getFlag("TLABWasteIncrement", Integer.class);
 608 
 609     private final int threadLocalAllocBufferStartOffset = getFieldOffset("ThreadLocalAllocBuffer::_start", Integer.class, "HeapWord*");
 610     private final int threadLocalAllocBufferEndOffset = getFieldOffset("ThreadLocalAllocBuffer::_end", Integer.class, "HeapWord*");
 611     private final int threadLocalAllocBufferTopOffset = getFieldOffset("ThreadLocalAllocBuffer::_top", Integer.class, "HeapWord*");
 612     private final int threadLocalAllocBufferPfTopOffset = getFieldOffset("ThreadLocalAllocBuffer::_pf_top", Integer.class, "HeapWord*");
 613     private final int threadLocalAllocBufferSlowAllocationsOffset = getFieldOffset("ThreadLocalAllocBuffer::_slow_allocations", Integer.class, "unsigned");
 614     private final int threadLocalAllocBufferFastRefillWasteOffset = getFieldOffset("ThreadLocalAllocBuffer::_fast_refill_waste", Integer.class, "unsigned");
 615     private final int threadLocalAllocBufferNumberOfRefillsOffset = getFieldOffset("ThreadLocalAllocBuffer::_number_of_refills", Integer.class, "unsigned");
 616     private final int threadLocalAllocBufferRefillWasteLimitOffset = getFieldOffset("ThreadLocalAllocBuffer::_refill_waste_limit", Integer.class, "size_t");




 363     public final int fieldInfoInitvalIndexOffset = getConstant("FieldInfo::initval_index_offset", Integer.class);
 364     public final int fieldInfoLowPackedOffset = getConstant("FieldInfo::low_packed_offset", Integer.class);
 365     public final int fieldInfoHighPackedOffset = getConstant("FieldInfo::high_packed_offset", Integer.class);
 366     public final int fieldInfoFieldSlots = getConstant("FieldInfo::field_slots", Integer.class);
 367 
 368     public final int fieldInfoTagSize = getConstant("FIELDINFO_TAG_SIZE", Integer.class);
 369 
 370     public final int jvmAccMonitorMatch = getConstant("JVM_ACC_MONITOR_MATCH", Integer.class);
 371     public final int jvmAccHasMonitorBytecodes = getConstant("JVM_ACC_HAS_MONITOR_BYTECODES", Integer.class);
 372     public final int jvmAccHasFinalizer = getConstant("JVM_ACC_HAS_FINALIZER", Integer.class);
 373     public final int jvmAccFieldInternal = getConstant("JVM_ACC_FIELD_INTERNAL", Integer.class);
 374     public final int jvmAccFieldStable = getConstant("JVM_ACC_FIELD_STABLE", Integer.class);
 375     public final int jvmAccFieldHasGenericSignature = getConstant("JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE", Integer.class);
 376     public final int jvmAccWrittenFlags = getConstant("JVM_ACC_WRITTEN_FLAGS", Integer.class);
 377     public final int jvmAccSynthetic = getConstant("JVM_ACC_SYNTHETIC", Integer.class);
 378 
 379     public final int threadTlabOffset = getFieldOffset("Thread::_tlab", Integer.class, "ThreadLocalAllocBuffer");
 380     public final int javaThreadAnchorOffset = getFieldOffset("JavaThread::_anchor", Integer.class, "JavaFrameAnchor");
 381     public final int threadObjectOffset = getFieldOffset("JavaThread::_threadObj", Integer.class, "oop");
 382     public final int osThreadOffset = getFieldOffset("JavaThread::_osthread", Integer.class, "OSThread*");

 383     public final int threadIsMethodHandleReturnOffset = getFieldOffset("JavaThread::_is_method_handle_return", Integer.class, "int");

 384     public final int threadObjectResultOffset = getFieldOffset("JavaThread::_vm_result", Integer.class, "oop");
 385     public final int jvmciCountersThreadOffset = getFieldOffset("JavaThread::_jvmci_counters", Integer.class, "jlong*");
 386     public final int javaThreadReservedStackActivationOffset = getFieldOffset("JavaThread::_reserved_stack_activation", Integer.class, "address", intNotPresentInJDK8);
 387 
 388     /**
 389      * An invalid value for {@link #rtldDefault}.
 390      */
 391     public static final long INVALID_RTLD_DEFAULT_HANDLE = 0xDEADFACE;
 392 
 393     /**
 394      * Address of the library lookup routine. The C signature of this routine is:
 395      *
 396      * <pre>
 397      *     void* (const char *filename, char *ebuf, int ebuflen)
 398      * </pre>
 399      */
 400     public final long dllLoad = getAddress("os::dll_load");
 401 
 402     /**
 403      * Address of the library lookup routine. The C signature of this routine is:


 436     }
 437 
 438     public int threadLastJavaPcOffset() {
 439         return javaThreadAnchorOffset + javaFrameAnchorLastJavaPcOffset;
 440     }
 441 
 442     public int threadLastJavaFpOffset() {
 443         assert osArch.equals("aarch64") || osArch.equals("amd64");
 444         return javaThreadAnchorOffset + getFieldOffset("JavaFrameAnchor::_last_Java_fp", Integer.class, "intptr_t*");
 445     }
 446 
 447     public int threadJavaFrameAnchorFlagsOffset() {
 448         assert osArch.equals("sparc");
 449         return javaThreadAnchorOffset + getFieldOffset("JavaFrameAnchor::_flags", Integer.class, "int");
 450     }
 451 
 452     public final int runtimeCallStackSize = getConstant("frame::arg_reg_save_area_bytes", Integer.class, intRequiredOnAMD64);
 453     public final int frameInterpreterFrameSenderSpOffset = getConstant("frame::interpreter_frame_sender_sp_offset", Integer.class, intRequiredOnAMD64);
 454     public final int frameInterpreterFrameLastSpOffset = getConstant("frame::interpreter_frame_last_sp_offset", Integer.class, intRequiredOnAMD64);
 455 







 456     public final int osThreadInterruptedOffset = getFieldOffset("OSThread::_interrupted", Integer.class, "jint");
 457 
 458     public final long markOopDescHashShift = getConstant("markOopDesc::hash_shift", Long.class);
 459 
 460     public final int biasedLockMaskInPlace = getConstant("markOopDesc::biased_lock_mask_in_place", Integer.class);
 461     public final int ageMaskInPlace = getConstant("markOopDesc::age_mask_in_place", Integer.class);
 462     public final int epochMaskInPlace = getConstant("markOopDesc::epoch_mask_in_place", Integer.class);
 463     public final long markOopDescHashMask = getConstant("markOopDesc::hash_mask", Long.class);
 464     public final long markOopDescHashMaskInPlace = getConstant("markOopDesc::hash_mask_in_place", Long.class);
 465 
 466     public final int unlockedMask = getConstant("markOopDesc::unlocked_value", Integer.class);
 467     public final int monitorMask = getConstant("markOopDesc::monitor_value", Integer.class, -1);
 468     public final int biasedLockPattern = getConstant("markOopDesc::biased_lock_pattern", Integer.class);
 469 
 470     // This field has no type in vmStructs.cpp
 471     public final int objectMonitorOwner = getFieldOffset("ObjectMonitor::_owner", Integer.class, null, -1);
 472     public final int objectMonitorRecursions = getFieldOffset("ObjectMonitor::_recursions", Integer.class, "intptr_t", -1);
 473     public final int objectMonitorCxq = getFieldOffset("ObjectMonitor::_cxq", Integer.class, "ObjectWaiter*", -1);
 474     public final int objectMonitorEntryList = getFieldOffset("ObjectMonitor::_EntryList", Integer.class, "ObjectWaiter*", -1);
 475 


 549     public final int logOfHRGrainBytes = getFieldValue("HeapRegion::LogOfHRGrainBytes", Integer.class, "int");
 550 
 551     public final byte dirtyCardValue = jdkVersion >= 11 ? getConstant("CardTable::dirty_card", Byte.class)
 552                     : (jdkVersion > 8 ? getConstant("CardTableModRefBS::dirty_card", Byte.class) : getFieldValue("CompilerToVM::Data::dirty_card", Byte.class, "int"));
 553     public final byte g1YoungCardValue = jdkVersion >= 11 ? getConstant("G1CardTable::g1_young_gen", Byte.class)
 554                     : (jdkVersion > 8 ? getConstant("G1SATBCardTableModRefBS::g1_young_gen", Byte.class) : getFieldValue("CompilerToVM::Data::g1_young_card", Byte.class, "int"));
 555 
 556     public final long cardtableStartAddress = getFieldValue("CompilerToVM::Data::cardtable_start_address", Long.class, "jbyte*");
 557     public final int cardtableShift = getFieldValue("CompilerToVM::Data::cardtable_shift", Integer.class, "int");
 558 
 559     /**
 560      * This is the largest stack offset encodeable in an OopMapValue. Offsets larger than this will
 561      * throw an exception during code installation.
 562      */
 563     public final int maxOopMapStackOffset = getFieldValueWithAlternate("CompilerToVM::Data::_max_oop_map_stack_offset", "JVMCIRuntime::max_oop_map_stack_offset", Integer.class, "int");
 564 
 565     public final long safepointPollingAddress = getFieldValue("os::_polling_page", Long.class, "address");
 566 
 567     // G1 Collector Related Values.
 568 
 569     public final int g1SATBQueueMarkingOffset = getConstant("G1ThreadLocalData::satb_mark_queue_active_offset", Integer.class);
 570     public final int g1SATBQueueIndexOffset = getConstant("G1ThreadLocalData::satb_mark_queue_index_offset", Integer.class);
 571     public final int g1SATBQueueBufferOffset = getConstant("G1ThreadLocalData::satb_mark_queue_buffer_offset", Integer.class);
 572     public final int g1CardQueueIndexOffset = getConstant("G1ThreadLocalData::dirty_card_queue_index_offset", Integer.class);
 573     public final int g1CardQueueBufferOffset = getConstant("G1ThreadLocalData::dirty_card_queue_buffer_offset", Integer.class);














 574 
 575     public final int klassOffset = getFieldValue("java_lang_Class::_klass_offset", Integer.class, "int");
 576     public final int arrayKlassOffset = getFieldValue("java_lang_Class::_array_klass_offset", Integer.class, "int");
 577 
 578     public final int basicLockSize = getFieldValue("CompilerToVM::Data::sizeof_BasicLock", Integer.class, "int");
 579     public final int basicLockDisplacedHeaderOffset = getFieldOffset("BasicLock::_displaced_header", Integer.class, "markOop");
 580 
 581     public final int threadPollingPageOffset = getFieldOffset("Thread::_polling_page", Integer.class, "address", -1);
 582     public final int threadAllocatedBytesOffset = getFieldOffset("Thread::_allocated_bytes", Integer.class, "jlong");
 583 
 584     public final int tlabRefillWasteIncrement = getFlag("TLABWasteIncrement", Integer.class);
 585 
 586     private final int threadLocalAllocBufferStartOffset = getFieldOffset("ThreadLocalAllocBuffer::_start", Integer.class, "HeapWord*");
 587     private final int threadLocalAllocBufferEndOffset = getFieldOffset("ThreadLocalAllocBuffer::_end", Integer.class, "HeapWord*");
 588     private final int threadLocalAllocBufferTopOffset = getFieldOffset("ThreadLocalAllocBuffer::_top", Integer.class, "HeapWord*");
 589     private final int threadLocalAllocBufferPfTopOffset = getFieldOffset("ThreadLocalAllocBuffer::_pf_top", Integer.class, "HeapWord*");
 590     private final int threadLocalAllocBufferSlowAllocationsOffset = getFieldOffset("ThreadLocalAllocBuffer::_slow_allocations", Integer.class, "unsigned");
 591     private final int threadLocalAllocBufferFastRefillWasteOffset = getFieldOffset("ThreadLocalAllocBuffer::_fast_refill_waste", Integer.class, "unsigned");
 592     private final int threadLocalAllocBufferNumberOfRefillsOffset = getFieldOffset("ThreadLocalAllocBuffer::_number_of_refills", Integer.class, "unsigned");
 593     private final int threadLocalAllocBufferRefillWasteLimitOffset = getFieldOffset("ThreadLocalAllocBuffer::_refill_waste_limit", Integer.class, "size_t");


< prev index next >