public class AMD64HotSpotCounterOp extends HotSpotCounterOp
HotSpotCounterOp.CounterProcedure
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use
Modifier and Type | Field and Description |
---|---|
private StackSlotValue |
backupSlot |
static LIRInstructionClass<AMD64HotSpotCounterOp> |
TYPE |
config, increments, thread
ADDRESS_FLAGS, ALLOWED_FLAGS
Constructor and Description |
---|
AMD64HotSpotCounterOp(String[] names,
String[] groups,
Value[] increments,
HotSpotRegistersProvider registers,
HotSpotVMConfig config,
StackSlotValue backupSlot) |
AMD64HotSpotCounterOp(String name,
String group,
Value increment,
HotSpotRegistersProvider registers,
HotSpotVMConfig config,
StackSlotValue backupSlot) |
Modifier and Type | Method and Description |
---|---|
private static boolean |
contains(Value[] increments,
Register register)
Tests if the array contains the register.
|
void |
emitCode(CompilationResultBuilder crb) |
private static void |
emitIncrement(AMD64MacroAssembler masm,
Register countersArrayReg,
Value incrementValue,
int displacement) |
asInt, forEachCounter, getDisplacementForLongIndex, getGroups, getIndex, getNames, patchCounterIncrement
destroysCallerSavedRegisters, forEachAlive, forEachAlive, forEachInput, forEachInput, forEachOutput, forEachOutput, forEachRegisterHint, forEachRegisterHint, forEachState, forEachState, forEachState, forEachState, forEachTemp, forEachTemp, getLIRInstructionClass, hasOperands, hasState, id, name, setId, toString, toStringWithIdPrefix, verify, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemp
public static final LIRInstructionClass<AMD64HotSpotCounterOp> TYPE
private StackSlotValue backupSlot
public AMD64HotSpotCounterOp(String name, String group, Value increment, HotSpotRegistersProvider registers, HotSpotVMConfig config, StackSlotValue backupSlot)
public AMD64HotSpotCounterOp(String[] names, String[] groups, Value[] increments, HotSpotRegistersProvider registers, HotSpotVMConfig config, StackSlotValue backupSlot)
public void emitCode(CompilationResultBuilder crb)
emitCode
in class LIRInstruction
private static boolean contains(Value[] increments, Register register)
private static void emitIncrement(AMD64MacroAssembler masm, Register countersArrayReg, Value incrementValue, int displacement)