public class SPARCHotSpotCounterOp extends HotSpotCounterOp
Modifier and Type | Class and Description |
---|---|
private class |
SPARCHotSpotCounterOp.IncrementEmitter |
HotSpotCounterOp.CounterProcedure
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use
Modifier and Type | Field and Description |
---|---|
private int[] |
counterPatchOffsets |
static LIRInstructionClass<SPARCHotSpotCounterOp> |
TYPE |
config, increments, thread
ADDRESS_FLAGS, ALLOWED_FLAGS
Constructor and Description |
---|
SPARCHotSpotCounterOp(String[] names,
String[] groups,
Value[] increments,
HotSpotRegistersProvider registers,
HotSpotVMConfig config) |
SPARCHotSpotCounterOp(String name,
String group,
Value increment,
HotSpotRegistersProvider registers,
HotSpotVMConfig config) |
Modifier and Type | Method and Description |
---|---|
void |
emitCode(CompilationResultBuilder crb) |
private void |
emitIncrement(int counterIndex,
SPARCMacroAssembler masm,
SPARCAddress counterAddr,
Value increment) |
int[] |
getCounterPatchOffsets() |
void |
patchCounterIncrement(Assembler asm,
int[] increment)
Patches the increment value in the instruction emitted by the
emitIncrement(int, SPARCMacroAssembler, SPARCAddress, Value) method. |
asInt, forEachCounter, getDisplacementForLongIndex, getGroups, getIndex, getNames
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<SPARCHotSpotCounterOp> TYPE
private int[] counterPatchOffsets
public SPARCHotSpotCounterOp(String name, String group, Value increment, HotSpotRegistersProvider registers, HotSpotVMConfig config)
public SPARCHotSpotCounterOp(String[] names, String[] groups, Value[] increments, HotSpotRegistersProvider registers, HotSpotVMConfig config)
public void emitCode(CompilationResultBuilder crb)
emitCode
in class LIRInstruction
private void emitIncrement(int counterIndex, SPARCMacroAssembler masm, SPARCAddress counterAddr, Value increment)
public void patchCounterIncrement(Assembler asm, int[] increment)
emitIncrement(int, SPARCMacroAssembler, SPARCAddress, Value)
method. This method is
used if patching is needed after assembly.patchCounterIncrement
in class HotSpotCounterOp
asm
- increment
- public int[] getCounterPatchOffsets()