src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java
changeset 57777 90ead0febf56
parent 55674 ff76baab1c90
child 58299 6df94ce3ab2f
equal deleted inserted replaced
57774:21dccfac0ec5 57777:90ead0febf56
   206     public final int stackReservedPages = getFlag("StackReservedPages", Integer.class, 0);
   206     public final int stackReservedPages = getFlag("StackReservedPages", Integer.class, 0);
   207     public final boolean useStackBanging = getFlag("UseStackBanging", Boolean.class);
   207     public final boolean useStackBanging = getFlag("UseStackBanging", Boolean.class);
   208     public final int stackBias = getConstant("STACK_BIAS", Integer.class);
   208     public final int stackBias = getConstant("STACK_BIAS", Integer.class);
   209     public final int vmPageSize = getFieldValue("CompilerToVM::Data::vm_page_size", Integer.class, "int");
   209     public final int vmPageSize = getFieldValue("CompilerToVM::Data::vm_page_size", Integer.class, "int");
   210 
   210 
   211     public final int markOffset = getFieldOffset("oopDesc::_mark", Integer.class, "markOop");
   211     public final int markOffset = getFieldOffset("oopDesc::_mark", Integer.class, "markWord");
   212     public final int hubOffset = getFieldOffset("oopDesc::_metadata._klass", Integer.class, "Klass*");
   212     public final int hubOffset = getFieldOffset("oopDesc::_metadata._klass", Integer.class, "Klass*");
   213 
   213 
   214     public final int prototypeMarkWordOffset = getFieldOffset("Klass::_prototype_header", Integer.class, "markOop");
   214     public final int prototypeMarkWordOffset = getFieldOffset("Klass::_prototype_header", Integer.class, "markWord");
   215     public final int subklassOffset = getFieldOffset("Klass::_subklass", Integer.class, "Klass*");
   215     public final int subklassOffset = getFieldOffset("Klass::_subklass", Integer.class, "Klass*");
   216     public final int nextSiblingOffset = getFieldOffset("Klass::_next_sibling", Integer.class, "Klass*");
   216     public final int nextSiblingOffset = getFieldOffset("Klass::_next_sibling", Integer.class, "Klass*");
   217     public final int superCheckOffsetOffset = getFieldOffset("Klass::_super_check_offset", Integer.class, "juint");
   217     public final int superCheckOffsetOffset = getFieldOffset("Klass::_super_check_offset", Integer.class, "juint");
   218     public final int secondarySuperCacheOffset = getFieldOffset("Klass::_secondary_super_cache", Integer.class, "Klass*");
   218     public final int secondarySuperCacheOffset = getFieldOffset("Klass::_secondary_super_cache", Integer.class, "Klass*");
   219     public final int secondarySupersOffset = getFieldOffset("Klass::_secondary_supers", Integer.class, "Array<Klass*>*");
   219     public final int secondarySupersOffset = getFieldOffset("Klass::_secondary_supers", Integer.class, "Array<Klass*>*");
   443     public final int frameInterpreterFrameSenderSpOffset = getConstant("frame::interpreter_frame_sender_sp_offset", Integer.class, intRequiredOnAMD64);
   443     public final int frameInterpreterFrameSenderSpOffset = getConstant("frame::interpreter_frame_sender_sp_offset", Integer.class, intRequiredOnAMD64);
   444     public final int frameInterpreterFrameLastSpOffset = getConstant("frame::interpreter_frame_last_sp_offset", Integer.class, intRequiredOnAMD64);
   444     public final int frameInterpreterFrameLastSpOffset = getConstant("frame::interpreter_frame_last_sp_offset", Integer.class, intRequiredOnAMD64);
   445 
   445 
   446     public final int osThreadInterruptedOffset = getFieldOffset("OSThread::_interrupted", Integer.class, "jint");
   446     public final int osThreadInterruptedOffset = getFieldOffset("OSThread::_interrupted", Integer.class, "jint");
   447 
   447 
   448     public final long markOopDescHashShift = getConstant("markOopDesc::hash_shift", Long.class);
   448     public final long markWordHashShift = getConstant("markWord::hash_shift", Long.class);
   449 
   449 
   450     public final int biasedLockMaskInPlace = getConstant("markOopDesc::biased_lock_mask_in_place", Integer.class);
   450     public final int biasedLockMaskInPlace = getConstant("markWord::biased_lock_mask_in_place", Integer.class);
   451     public final int ageMaskInPlace = getConstant("markOopDesc::age_mask_in_place", Integer.class);
   451     public final int ageMaskInPlace = getConstant("markWord::age_mask_in_place", Integer.class);
   452     public final int epochMaskInPlace = getConstant("markOopDesc::epoch_mask_in_place", Integer.class);
   452     public final int epochMaskInPlace = getConstant("markWord::epoch_mask_in_place", Integer.class);
   453     public final long markOopDescHashMask = getConstant("markOopDesc::hash_mask", Long.class);
   453     public final long markWordHashMask = getConstant("markWord::hash_mask", Long.class);
   454     public final long markOopDescHashMaskInPlace = getConstant("markOopDesc::hash_mask_in_place", Long.class);
   454     public final long markWordHashMaskInPlace = getConstant("markWord::hash_mask_in_place", Long.class);
   455 
   455 
   456     public final int unlockedMask = getConstant("markOopDesc::unlocked_value", Integer.class);
   456     public final int unlockedMask = getConstant("markWord::unlocked_value", Integer.class);
   457     public final int monitorMask = getConstant("markOopDesc::monitor_value", Integer.class, -1);
   457     public final int monitorMask = getConstant("markWord::monitor_value", Integer.class, -1);
   458     public final int biasedLockPattern = getConstant("markOopDesc::biased_lock_pattern", Integer.class);
   458     public final int biasedLockPattern = getConstant("markWord::biased_lock_pattern", Integer.class);
   459 
   459 
   460     // This field has no type in vmStructs.cpp
   460     // This field has no type in vmStructs.cpp
   461     public final int objectMonitorOwner = getFieldOffset("ObjectMonitor::_owner", Integer.class, null, -1);
   461     public final int objectMonitorOwner = getFieldOffset("ObjectMonitor::_owner", Integer.class, null, -1);
   462     public final int objectMonitorRecursions = getFieldOffset("ObjectMonitor::_recursions", Integer.class, "intptr_t", -1);
   462     public final int objectMonitorRecursions = getFieldOffset("ObjectMonitor::_recursions", Integer.class, "intptr_t", -1);
   463     public final int objectMonitorCxq = getFieldOffset("ObjectMonitor::_cxq", Integer.class, "ObjectWaiter*", -1);
   463     public final int objectMonitorCxq = getFieldOffset("ObjectMonitor::_cxq", Integer.class, "ObjectWaiter*", -1);
   464     public final int objectMonitorEntryList = getFieldOffset("ObjectMonitor::_EntryList", Integer.class, "ObjectWaiter*", -1);
   464     public final int objectMonitorEntryList = getFieldOffset("ObjectMonitor::_EntryList", Integer.class, "ObjectWaiter*", -1);
   465     public final int objectMonitorSucc = getFieldOffset("ObjectMonitor::_succ", Integer.class, "Thread*", -1);
   465     public final int objectMonitorSucc = getFieldOffset("ObjectMonitor::_succ", Integer.class, "Thread*", -1);
   466 
   466 
   467     public final int markWordNoHashInPlace = getConstant("markOopDesc::no_hash_in_place", Integer.class);
   467     public final int markWordNoHashInPlace = getConstant("markWord::no_hash_in_place", Integer.class);
   468     public final int markWordNoLockInPlace = getConstant("markOopDesc::no_lock_in_place", Integer.class);
   468     public final int markWordNoLockInPlace = getConstant("markWord::no_lock_in_place", Integer.class);
   469 
   469 
   470     /**
   470     /**
   471      * See {@code markOopDesc::prototype()}.
   471      * See {@code markWord::prototype()}.
   472      */
   472      */
   473     public long arrayPrototypeMarkWord() {
   473     public long arrayPrototypeMarkWord() {
   474         return markWordNoHashInPlace | markWordNoLockInPlace;
   474         return markWordNoHashInPlace | markWordNoLockInPlace;
   475     }
   475     }
   476 
   476 
   477     /**
   477     /**
   478      * See {@code markOopDesc::copy_set_hash()}.
   478      * See {@code markWord::copy_set_hash()}.
   479      */
   479      */
   480     public long tlabIntArrayMarkWord() {
   480     public long tlabIntArrayMarkWord() {
   481         long tmp = arrayPrototypeMarkWord() & (~markOopDescHashMaskInPlace);
   481         long tmp = arrayPrototypeMarkWord() & (~markWordHashMaskInPlace);
   482         tmp |= ((0x2 & markOopDescHashMask) << markOopDescHashShift);
   482         tmp |= ((0x2 & markWordHashMask) << markWordHashShift);
   483         return tmp;
   483         return tmp;
   484     }
   484     }
   485 
   485 
   486     /**
   486     /**
   487      * Mark word right shift to get identity hash code.
   487      * Mark word right shift to get identity hash code.
   488      */
   488      */
   489     public final int identityHashCodeShift = getConstant("markOopDesc::hash_shift", Integer.class);
   489     public final int identityHashCodeShift = getConstant("markWord::hash_shift", Integer.class);
   490 
   490 
   491     /**
   491     /**
   492      * Identity hash code value when uninitialized.
   492      * Identity hash code value when uninitialized.
   493      */
   493      */
   494     public final int uninitializedIdentityHashCodeValue = getConstant("markOopDesc::no_hash", Integer.class);
   494     public final int uninitializedIdentityHashCodeValue = getConstant("markWord::no_hash", Integer.class);
   495 
   495 
   496     public final int methodAccessFlagsOffset = getFieldOffset("Method::_access_flags", Integer.class, "AccessFlags");
   496     public final int methodAccessFlagsOffset = getFieldOffset("Method::_access_flags", Integer.class, "AccessFlags");
   497     public final int methodConstMethodOffset = getFieldOffset("Method::_constMethod", Integer.class, "ConstMethod*");
   497     public final int methodConstMethodOffset = getFieldOffset("Method::_constMethod", Integer.class, "ConstMethod*");
   498     public final int methodIntrinsicIdOffset = versioned.methodIntrinsicIdOffset;
   498     public final int methodIntrinsicIdOffset = versioned.methodIntrinsicIdOffset;
   499     public final int methodFlagsOffset = versioned.methodFlagsOffset;
   499     public final int methodFlagsOffset = versioned.methodFlagsOffset;
   563 
   563 
   564     public final int klassOffset = getFieldValue("java_lang_Class::_klass_offset", Integer.class, "int");
   564     public final int klassOffset = getFieldValue("java_lang_Class::_klass_offset", Integer.class, "int");
   565     public final int arrayKlassOffset = getFieldValue("java_lang_Class::_array_klass_offset", Integer.class, "int");
   565     public final int arrayKlassOffset = getFieldValue("java_lang_Class::_array_klass_offset", Integer.class, "int");
   566 
   566 
   567     public final int basicLockSize = getFieldValue("CompilerToVM::Data::sizeof_BasicLock", Integer.class, "int");
   567     public final int basicLockSize = getFieldValue("CompilerToVM::Data::sizeof_BasicLock", Integer.class, "int");
   568     public final int basicLockDisplacedHeaderOffset = getFieldOffset("BasicLock::_displaced_header", Integer.class, "markOop");
   568     public final int basicLockDisplacedHeaderOffset = getFieldOffset("BasicLock::_displaced_header", Integer.class, "markWord");
   569 
   569 
   570     public final int threadPollingPageOffset = getFieldOffset("Thread::_polling_page", Integer.class, "address", -1);
   570     public final int threadPollingPageOffset = getFieldOffset("Thread::_polling_page", Integer.class, "address", -1);
   571     public final int threadAllocatedBytesOffset = getFieldOffset("Thread::_allocated_bytes", Integer.class, "jlong");
   571     public final int threadAllocatedBytesOffset = getFieldOffset("Thread::_allocated_bytes", Integer.class, "jlong");
   572 
   572 
   573     public final int tlabRefillWasteIncrement = getFlag("TLABWasteIncrement", Integer.class);
   573     public final int tlabRefillWasteIncrement = getFlag("TLABWasteIncrement", Integer.class);