/*
* This file is part of the Jikes RVM project (http://jikesrvm.org).
*
* This file is licensed to You under the Common Public License (CPL);
* You may not use this file except in compliance with the License. You
* may obtain a copy of the License at
*
* http://www.opensource.org/licenses/cpl1.0.php
*
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership.
*/
package org.jikesrvm.adaptive;
import org.jikesrvm.classloader.VM_Field;
import org.jikesrvm.classloader.VM_NormalMethod;
import static org.jikesrvm.runtime.VM_EntrypointHelper.getField;
import static org.jikesrvm.runtime.VM_EntrypointHelper.getMethod;
/**
* Entrypoints that are valid when the build includes the adaptive optimization system.
*/
public interface VM_AosEntrypoints {
VM_NormalMethod osrGetRefAtMethod =
getMethod("Lorg/jikesrvm/osr/OSR_ObjectHolder;", "getRefAt", "(II)Ljava/lang/Object;");
VM_NormalMethod osrCleanRefsMethod = getMethod("Lorg/jikesrvm/osr/OSR_ObjectHolder;", "cleanRefs", "(I)V");
VM_Field methodListenerNumSamplesField =
getField("Lorg/jikesrvm/adaptive/measurements/listeners/VM_MethodListener;", "numSamples", "I");
VM_Field edgeListenerUpdateCalledField =
getField("Lorg/jikesrvm/adaptive/measurements/listeners/VM_EdgeListener;", "updateCalled", "I");
VM_Field edgeListenerSamplesTakenField =
getField("Lorg/jikesrvm/adaptive/measurements/listeners/VM_EdgeListener;", "samplesTaken", "I");
VM_Field yieldCountListenerNumYieldsField =
getField("Lorg/jikesrvm/adaptive/measurements/listeners/VM_YieldCounterListener;", "numYields", "I");
VM_Field counterArrayManagerCounterArraysField =
getField("Lorg/jikesrvm/adaptive/measurements/instrumentation/VM_CounterArrayManager;", "counterArrays", "[[D");
VM_Field invocationCountsField =
getField("Lorg/jikesrvm/adaptive/recompilation/VM_InvocationCounts;", "counts", "[I");
VM_NormalMethod invocationCounterTrippedMethod =
getMethod("Lorg/jikesrvm/adaptive/recompilation/VM_InvocationCounts;", "counterTripped", "(I)V");
VM_Field globalCBSField =
getField("Lorg/jikesrvm/adaptive/recompilation/instrumentation/VM_CounterBasedSampling;", "globalCounter", "I");
VM_Field processorCBSField = getField("Lorg/jikesrvm/scheduler/VM_Processor;", "processor_cbs_counter", "I");
VM_Field cbsResetValueField =
getField("Lorg/jikesrvm/adaptive/recompilation/instrumentation/VM_CounterBasedSampling;", "resetValue", "I");
VM_Field specializedMethodsField =
getField("Lorg/jikesrvm/compilers/opt/OPT_SpecializedMethodPool;",
"specializedMethods",
"[Lorg/jikesrvm/ArchitectureSpecific$VM_CodeArray;");
}