Class BytecodeDSLModel
java.lang.Object
com.oracle.truffle.dsl.processor.model.MessageContainer
com.oracle.truffle.dsl.processor.model.Template
com.oracle.truffle.dsl.processor.bytecode.model.BytecodeDSLModel
- All Implemented Interfaces:
PrettyPrintable,Iterable<MessageContainer>
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.dsl.processor.model.MessageContainer
MessageContainer.MessageNested classes/interfaces inherited from interface com.oracle.truffle.dsl.processor.bytecode.model.PrettyPrintable
PrettyPrintable.PrettyPrinter -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal TypeMirrorbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanfinal List<CustomOperationModel> final Stringbooleanbooleanfinal TypeElementFields inherited from class com.oracle.truffle.dsl.processor.model.MessageContainer
types -
Constructor Summary
ConstructorsConstructorDescriptionBytecodeDSLModel(ProcessorContext context, TypeElement templateType, AnnotationMirror mirror, String name, TypeMirror abstractBuilderType) -
Method Summary
Modifier and TypeMethodDescriptioncustomRegularOperation(OperationModel.OperationKind kind, String name, String javadoc, TypeElement typeElement, AnnotationMirror mirror) customShortCircuitOperation(OperationModel.OperationKind kind, String name, String javadoc, AnnotationMirror mirror) voidprotected List<MessageContainer> findProvidedTag(TypeMirror searchTag) getCustomOperationForType(TypeElement typeElement) getInstructionByName(String name) getInvalidateInstruction(int length) getName()getOperationByName(String name) instruction(InstructionModel.InstructionKind kind, String name, Signature signature) booleanisBoxingEliminated(TypeMirror mirror) booleanbooleanisTagProvided(TypeMirror tagClass) booleanbooleanoperation(OperationModel.OperationKind kind, String name, String javadoc) voidpp(PrettyPrintable.PrettyPrinter printer) quickenInstruction(InstructionModel base, Signature signature, String specializationName) shortCircuitInstruction(String name, ShortCircuitInstructionModel shortCircuitModel) toString()booleanMethods inherited from class com.oracle.truffle.dsl.processor.model.Template
dump, getContext, getTemplateType, getTemplateTypeAnnotationMethods inherited from class com.oracle.truffle.dsl.processor.model.MessageContainer
addError, addError, addError, addError, addSuppressableWarning, addSuppressableWarning, addWarning, addWarning, addWarning, addWarning, collectMessages, emitMessages, getMessageAnnotation, getMessageAnnotationValue, getMessages, getMessagesForModification, hasErrors, hasErrorsOrWarnings, iterator, redirectMessages, redirectMessagesOnGeneratedElementsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface com.oracle.truffle.dsl.processor.bytecode.model.PrettyPrintable
pp
-
Field Details
-
templateType
-
modelName
-
abstractBuilderType
-
languageClass
-
enableUncachedInterpreter
public boolean enableUncachedInterpreter -
enableSerialization
public boolean enableSerialization -
enableQuickening
public boolean enableQuickening -
allowUnsafe
public boolean allowUnsafe -
enableYield
public boolean enableYield -
storeBciInFrame
public boolean storeBciInFrame -
specializationDebugListener
public boolean specializationDebugListener -
enableSpecializationIntrospection
public boolean enableSpecializationIntrospection -
enableTagInstrumentation
public boolean enableTagInstrumentation -
enableRootTagging
public boolean enableRootTagging -
enableRootBodyTagging
public boolean enableRootBodyTagging -
enableBlockScoping
public boolean enableBlockScoping -
defaultLocalValue
-
defaultLocalValueExpression
-
fdConstructor
-
fdBuilderConstructor
-
interceptControlFlowException
-
interceptInternalException
-
interceptTruffleException
-
typeSystem
-
boxingEliminatedTypes
-
serializedFields
-
blockOperation
-
rootOperation
-
conditionalOperation
-
whileOperation
-
tryCatchOperation
-
tryFinallyOperation
-
tryCatchOtherwiseOperation
-
finallyHandlerOperation
-
loadConstantOperation
-
loadNullOperation
-
loadLocalOperation
-
loadLocalMaterializedOperation
-
tagOperation
-
storeLocalOperation
-
storeLocalMaterializedOperation
-
ifThenOperation
-
ifThenElseOperation
-
returnOperation
-
sourceSectionOperation
-
sourceOperation
-
prolog
-
epilogReturn
-
epilogExceptional
-
nullInstruction
-
popInstruction
-
dupInstruction
-
returnInstruction
-
branchInstruction
-
branchBackwardInstruction
-
branchFalseInstruction
-
storeLocalInstruction
-
throwInstruction
-
loadConstantInstruction
-
loadNullInstruction
-
yieldInstruction
-
loadVariadicInstruction
-
mergeVariadicInstruction
-
storeNullInstruction
-
tagEnterInstruction
-
tagLeaveValueInstruction
-
tagLeaveVoidInstruction
-
tagYieldInstruction
-
tagResumeInstruction
-
clearLocalInstruction
-
instrumentations
-
tagTreeNodeLibrary
-
-
Constructor Details
-
BytecodeDSLModel
public BytecodeDSLModel(ProcessorContext context, TypeElement templateType, AnnotationMirror mirror, String name, TypeMirror abstractBuilderType)
-
-
Method Details
-
getName
-
getProvidedTags
-
isTagProvided
-
signature
-
findProvidedTag
-
getProvidedRootTag
-
getProvidedRootBodyTag
-
isBytecodeUpdatable
public boolean isBytecodeUpdatable() -
getInvalidateInstruction
-
getInvalidateInstructions
-
operation
-
getInstrumentations
-
customRegularOperation
public CustomOperationModel customRegularOperation(OperationModel.OperationKind kind, String name, String javadoc, TypeElement typeElement, AnnotationMirror mirror) -
customShortCircuitOperation
public CustomOperationModel customShortCircuitOperation(OperationModel.OperationKind kind, String name, String javadoc, AnnotationMirror mirror) -
getCustomOperationForType
-
quickenInstruction
public InstructionModel quickenInstruction(InstructionModel base, Signature signature, String specializationName) -
instruction
public InstructionModel instruction(InstructionModel.InstructionKind kind, String name, Signature signature) -
shortCircuitInstruction
public InstructionModel shortCircuitInstruction(String name, ShortCircuitInstructionModel shortCircuitModel) -
getMessageElement
- Overrides:
getMessageElementin classTemplate
-
finalizeInstructions
public void finalizeInstructions() -
findChildContainers
- Overrides:
findChildContainersin classTemplate
-
usesBoxingElimination
public boolean usesBoxingElimination() -
isBoxingEliminated
-
getOperationByName
-
getOperations
-
getUserOperations
-
getInstructions
-
getInstructionByName
-
getCustomOperationForOperation
-
needsBciSlot
public boolean needsBciSlot() -
materializedAccessesNeedLocalIndex
public boolean materializedAccessesNeedLocalIndex() -
pp
- Specified by:
ppin interfacePrettyPrintable
-
toString
-
findOperation
-