public class AMD64HotSpotCounterOp extends HotSpotCounterOp
HotSpotCounterOp.CounterProcedureLIRInstruction.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, threadADDRESS_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, patchCounterIncrementdestroysCallerSavedRegisters, 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, visitEachTemppublic 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 LIRInstructionprivate static boolean contains(Value[] increments, Register register)
private static void emitIncrement(AMD64MacroAssembler masm, Register countersArrayReg, Value incrementValue, int displacement)