package org.graalvm.compiler.hotspot;
import jdk.vm.ci.hotspot.HotSpotVMConfigAccess;
import jdk.vm.ci.hotspot.HotSpotVMConfigStore;
final class GraalHotSpotVMConfigVersioned extends HotSpotVMConfigAccess {
GraalHotSpotVMConfigVersioned(HotSpotVMConfigStore store) {
super(store);
}
private boolean initInlineNotify() {
String syncKnobs = getFlag("SyncKnobs", String.class, "");
return syncKnobs == null || !syncKnobs.contains("InlineNotify=0");
}
final boolean inlineNotify = initInlineNotify();
final boolean useCRC32CIntrinsics = getFlag("UseCRC32CIntrinsics", Boolean.class);
final int javaThreadReservedStackActivationOffset = getFieldOffset("JavaThread::_reserved_stack_activation", Integer.class, "address");
final int methodFlagsOffset = getFieldOffset("Method::_flags", Integer.class, "u2");
final long throwDelayedStackOverflowErrorEntry = getFieldValue("StubRoutines::_throw_delayed_StackOverflowError_entry", Long.class, "address");
final long enableStackReservedZoneAddress = getAddress("SharedRuntime::enable_stack_reserved_zone");
final int methodIntrinsicIdOffset = getFieldOffset("Method::_intrinsic_id", Integer.class, "u2");
final int methodCodeOffset = getFieldOffset("Method::_code", Integer.class, "CompiledMethod*");
final int invocationCounterIncrement = getConstant("InvocationCounter::count_increment", Integer.class);
final int invocationCounterShift = getConstant("InvocationCounter::count_shift", Integer.class);
final byte dirtyCardValue = getConstant("CardTable::dirty_card", Byte.class);
final byte g1YoungCardValue = getConstant("G1CardTable::g1_young_gen", Byte.class);
final int g1SATBQueueMarkingOffset = getConstant("G1ThreadLocalData::satb_mark_queue_active_offset", Integer.class);
final int g1SATBQueueIndexOffset = getConstant("G1ThreadLocalData::satb_mark_queue_index_offset", Integer.class);
final int g1SATBQueueBufferOffset = getConstant("G1ThreadLocalData::satb_mark_queue_buffer_offset", Integer.class);
final int g1CardQueueIndexOffset = getConstant("G1ThreadLocalData::dirty_card_queue_index_offset", Integer.class);
final int g1CardQueueBufferOffset = getConstant("G1ThreadLocalData::dirty_card_queue_buffer_offset", Integer.class);
final long heapTopAddress = getFieldValue("CompilerToVM::Data::_heap_top_addr", Long.class, "HeapWord* volatile*");
final long codeCacheLowBound = getFieldValue("CodeCache::_low_bound", Long.class, "address");
final long codeCacheHighBound = getFieldValue("CodeCache::_high_bound", Long.class, "address");
boolean useFastTLABRefill = false;
}