Class OperationModel
java.lang.Object
com.oracle.truffle.dsl.processor.bytecode.model.OperationModel
- All Implemented Interfaces:
PrettyPrintable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordModels the constant operand data statically declared on the operation using ConstantOperand annotations.static final recordModels an argument to a begin/emit/end method.static enumNested classes/interfaces inherited from interface com.oracle.truffle.dsl.processor.bytecode.model.PrettyPrintable
PrettyPrintable.PrettyPrinter -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal intintbooleanInternal operations are generated and used internally by the DSL.booleanTransparent operations do not have their own logic; any value produced by their children is simply forwarded to the parent operation.booleanbooleanfinal Stringfinal Stringbooleanfinal BytecodeDSLModel -
Constructor Summary
ConstructorsConstructorDescriptionOperationModel(BytecodeDSLModel parent, int id, OperationModel.OperationKind kind, String name, String javadoc) -
Method Summary
Modifier and TypeMethodDescriptiongetConstantOperandAfterName(int i) getConstantOperandBeforeName(int i) getOperationEndArgumentName(int i) getSpecializationSignature(SpecializationData specialization) getSpecializationSignature(List<SpecializationData> specializations) booleanbooleanisCustom()booleanbooleanintintintvoidpp(PrettyPrintable.PrettyPrinter printer) booleanbooleansetDynamicOperands(DynamicOperandModel... dynamicOperands) setInstruction(InstructionModel instruction) voidsetInstrumentationIndex(int instrumentationIndex) setOperationBeginArguments(OperationModel.OperationArgument... operationBeginArguments) setOperationBeginArgumentVarArgs(boolean varArgs) setOperationEndArguments(OperationModel.OperationArgument... operationEndArguments) setTransparent(boolean isTransparent) setVariadic(boolean isVariadic) setVoid(boolean isVoid) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.oracle.truffle.dsl.processor.bytecode.model.PrettyPrintable
pp
-
Field Details
-
parent
-
id
public final int id -
kind
-
name
-
javadoc
-
isTransparent
public boolean isTransparentTransparent operations do not have their own logic; any value produced by their children is simply forwarded to the parent operation. e.g., blocks do not have their own logic, but are useful to support operation sequencing. Source position-related operations are also transparent. -
isVoid
public boolean isVoid -
isVariadic
public boolean isVariadic -
isInternal
public boolean isInternalInternal operations are generated and used internally by the DSL. They should not be exposed through the builder and should not be serialized. -
instruction
-
customModel
-
constantOperands
-
dynamicOperands
-
constantOperandBeforeNames
-
constantOperandAfterNames
-
operationBeginArguments
-
operationEndArguments
-
operationBeginArgumentVarArgs
public boolean operationBeginArgumentVarArgs -
instrumentationIndex
public int instrumentationIndex
-
-
Constructor Details
-
OperationModel
public OperationModel(BytecodeDSLModel parent, int id, OperationModel.OperationKind kind, String name, String javadoc)
-
-
Method Details
-
numConstantOperandsBefore
public int numConstantOperandsBefore() -
numDynamicOperands
public int numDynamicOperands() -
numConstantOperandsAfter
public int numConstantOperandsAfter() -
hasChildren
public boolean hasChildren() -
setInstrumentationIndex
public void setInstrumentationIndex(int instrumentationIndex) -
getSpecializationSignature
public SpecializationSignatureParser.SpecializationSignature getSpecializationSignature(SpecializationData specialization) -
getSpecializationSignature
public SpecializationSignatureParser.SpecializationSignature getSpecializationSignature(List<SpecializationData> specializations) -
setTransparent
-
setVariadic
-
isTransparent
public boolean isTransparent() -
setVoid
-
getConstantOperandBeforeName
-
getConstantOperandAfterName
-
setDynamicOperands
-
setInstruction
-
setOperationBeginArgumentVarArgs
-
setOperationBeginArguments
public OperationModel setOperationBeginArguments(OperationModel.OperationArgument... operationBeginArguments) -
setOperationEndArguments
public OperationModel setOperationEndArguments(OperationModel.OperationArgument... operationEndArguments) -
getOperationBeginArgumentName
-
getOperationEndArgumentName
-
setInternal
-
pp
- Specified by:
ppin interfacePrettyPrintable
-
isSourceOnly
public boolean isSourceOnly() -
isCustom
public boolean isCustom() -
requiresRootOperation
public boolean requiresRootOperation() -
requiresStackBalancing
public boolean requiresStackBalancing() -
getConstantName
-