Class FlatNodeGenFactory
java.lang.Object
com.oracle.truffle.dsl.processor.generator.FlatNodeGenFactory
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic final classstatic enumstatic final classstatic enum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final int -
Constructor Summary
ConstructorsConstructorDescriptionFlatNodeGenFactory(ProcessorContext context, FlatNodeGenFactory.GeneratorMode mode, NodeData node, StaticConstants constants, NodeConstants nodeConstants, NodeGeneratorPlugs plugs) FlatNodeGenFactory(ProcessorContext context, FlatNodeGenFactory.GeneratorMode mode, NodeData node, Collection<NodeData> stateSharingNodes, Map<CacheExpression, String> sharedCaches, StaticConstants constants, NodeConstants nodeConstants, NodeGeneratorPlugs plugs) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddQuickeningStateParametersTo(CodeExecutableElement method, FlatNodeGenFactory.FrameState frameState, Collection<SpecializationData> specializations) create(CodeTypeElement clazz) static CodeVariableElementcreateContextReferenceConstant(StaticConstants constants, TypeMirror languageType) createExecuteChild(CodeTreeBuilder parent, FlatNodeGenFactory.FrameState originalFrameState, FlatNodeGenFactory.FrameState frameState, NodeExecutionData execution, FlatNodeGenFactory.LocalVariable target) createExecuteMethod(CodeTypeElement clazz, CodeExecutableElement baseMethod, List<SpecializationData> specializations, boolean skipStateChecks) createInitializeCaches(SpecializationData specialization, List<CacheExpression> expressions, CodeExecutableElement method, String receiverName) Used byExportsGeneratorto eagerly initialize caches referenced in accepts.static List<InlineFieldData> createInlinedFields(NodeData node) createIsImplicitTypeStateCheck(FlatNodeGenFactory.FrameState frameState, TypeMirror targetType, TypeMirror specializationType, int signatureIndex) static CodeVariableElementcreateLanguageReferenceConstant(StaticConstants constants, TypeMirror languageType) static CodeVariableElementcreateLibraryConstant(StaticConstants constants, TypeMirror libraryTypeMirror) createOnlyActive(FlatNodeGenFactory.FrameState frameState, List<SpecializationData> filteredSpecializations, Collection<SpecializationData> allSpecializations) static booleanguardNeedsNodeStateBit(SpecializationData specialization, GuardExpression guard) static booleanguardNeedsSpecializationStateBit(SpecializationData specialization, GuardExpression guard) static booleanguardNeedsStateBit(SpecializationData specialization, GuardExpression guard) static booleanisLayoutBenefittingFromNeverDefault(SpecializationData specialization) static booleanshouldUseSpecializationClassBySize(SpecializationData specialization) static booleansubstituteNodeWithSpecializationClass(SpecializationData specialization) static booleanuseSpecializationClass(SpecializationData specialization)
-
Field Details
-
DEFAULT_MAX_BIT_WIDTH
public static final int DEFAULT_MAX_BIT_WIDTH- See Also:
-
INLINED_NODE_INDEX
public static final int INLINED_NODE_INDEX- See Also:
-
-
Constructor Details
-
FlatNodeGenFactory
public FlatNodeGenFactory(ProcessorContext context, FlatNodeGenFactory.GeneratorMode mode, NodeData node, StaticConstants constants, NodeConstants nodeConstants, NodeGeneratorPlugs plugs) -
FlatNodeGenFactory
public FlatNodeGenFactory(ProcessorContext context, FlatNodeGenFactory.GeneratorMode mode, NodeData node, Collection<NodeData> stateSharingNodes, Map<CacheExpression, String> sharedCaches, StaticConstants constants, NodeConstants nodeConstants, NodeGeneratorPlugs plugs)
-
-
Method Details
-
createInlinedFields
-
isLayoutBenefittingFromNeverDefault
-
useSpecializationClass
-
shouldUseSpecializationClassBySize
-
create
-
createUncachedFields
-
createInitializeCaches
public CodeTree createInitializeCaches(SpecializationData specialization, List<CacheExpression> expressions, CodeExecutableElement method, String receiverName) Used byExportsGeneratorto eagerly initialize caches referenced in accepts. -
createLanguageReferenceConstant
public static CodeVariableElement createLanguageReferenceConstant(StaticConstants constants, TypeMirror languageType) -
createContextReferenceConstant
public static CodeVariableElement createContextReferenceConstant(StaticConstants constants, TypeMirror languageType) -
createLibraryConstant
public static CodeVariableElement createLibraryConstant(StaticConstants constants, TypeMirror libraryTypeMirror) -
createExecuteMethod
public CodeExecutableElement createExecuteMethod(CodeTypeElement clazz, CodeExecutableElement baseMethod, List<SpecializationData> specializations, boolean skipStateChecks) -
createUncached
-
createExecuteChild
public FlatNodeGenFactory.ChildExecutionResult createExecuteChild(CodeTreeBuilder parent, FlatNodeGenFactory.FrameState originalFrameState, FlatNodeGenFactory.FrameState frameState, NodeExecutionData execution, FlatNodeGenFactory.LocalVariable target) -
guardNeedsStateBit
-
guardNeedsNodeStateBit
public static boolean guardNeedsNodeStateBit(SpecializationData specialization, GuardExpression guard) -
guardNeedsSpecializationStateBit
public static boolean guardNeedsSpecializationStateBit(SpecializationData specialization, GuardExpression guard) -
substituteNodeWithSpecializationClass
-
createOnlyActive
public CodeTree createOnlyActive(FlatNodeGenFactory.FrameState frameState, List<SpecializationData> filteredSpecializations, Collection<SpecializationData> allSpecializations) -
createIsImplicitTypeStateCheck
public CodeTree createIsImplicitTypeStateCheck(FlatNodeGenFactory.FrameState frameState, TypeMirror targetType, TypeMirror specializationType, int signatureIndex) -
addQuickeningStateParametersTo
public void addQuickeningStateParametersTo(CodeExecutableElement method, FlatNodeGenFactory.FrameState frameState, Collection<SpecializationData> specializations)
-