public final class SpecializationData extends TemplateMethod
| Modifier and Type | Class and Description |
|---|---|
static class |
SpecializationData.Idempotence |
static class |
SpecializationData.SpecializationKind |
TemplateMethod.TypeSignatureMessageContainer.MessageFRAME_NAME, NO_NATURAL_ORDERtypes| Constructor and Description |
|---|
SpecializationData(NodeData node,
TemplateMethod template,
SpecializationData.SpecializationKind kind) |
SpecializationData(NodeData node,
TemplateMethod template,
SpecializationData.SpecializationKind kind,
List<SpecializationThrowsData> exceptions,
boolean hasUnexpectedResultRewrite,
boolean reportPolymorphism,
boolean reportMegamorphism) |
addParameter, compareBySignature, createReferenceName, findParameter, findParameter, findParameterOrDie, getDynamicParameters, getDynamicTypes, getFrame, getId, getMarkerAnnotation, getMessageAnnotation, getMessageElement, getMethod, getMethodName, getNaturalOrder, getParameters, getReturnType, getReturnTypeAndParameters, getSignatureParameters, getSignatureSize, getSpecification, getTemplate, getTypeSignature, setIdaddError, addError, addError, addError, addSuppressableWarning, addSuppressableWarning, addWarning, addWarning, collectMessages, emitMessages, getMessageAnnotationValue, getMessages, getMessagesForModification, hasErrors, hasErrorsOrWarnings, iterator, redirectMessages, redirectMessagesOnGeneratedElementsclone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic SpecializationData(NodeData node, TemplateMethod template, SpecializationData.SpecializationKind kind, List<SpecializationThrowsData> exceptions, boolean hasUnexpectedResultRewrite, boolean reportPolymorphism, boolean reportMegamorphism)
public SpecializationData(NodeData node, TemplateMethod template, SpecializationData.SpecializationKind kind)
public SpecializationData copy()
public boolean isNodeReceiverVariable(VariableElement var)
public boolean isNodeReceiverBound(DSLExpression expression)
public boolean isUncachedSpecialization()
public void setUnrollIndex(int unrollIndex)
public int getUnrollIndex()
public void setUnroll(int unroll)
public boolean hasUnroll()
public boolean isUnrolled()
public int getUnroll()
public boolean isCompilationFinalExpression(DSLExpression expression)
public boolean isPrepareForAOT()
public void setPrepareForAOT(boolean prepareForAOT)
public void setUncachedSpecialization(SpecializationData removeCompanion)
public SpecializationData getUncachedSpecialization()
public boolean needsVirtualFrame()
public boolean needsTruffleBoundary()
public boolean needsPushEncapsulatingNode()
public boolean isAnyLibraryBoundInGuard()
public boolean isLibraryBoundInGuard(CacheExpression cachedLibrary)
public boolean isTrivialExpression(DSLExpression expression)
public void setReachesFallback(boolean reachesFallback)
public boolean isReportPolymorphism()
public boolean isReportMegamorphism()
public boolean isReachesFallback()
public boolean isGuardBoundWithCache(GuardExpression guardExpression)
public Set<CacheExpression> getBoundCaches(DSLExpression guardExpression, boolean transitiveCached)
public void setKind(SpecializationData.SpecializationKind kind)
public SpecializationData.Idempotence getIdempotence(DSLExpression expression)
public Set<ExecutableElement> getBoundMethods(DSLExpression expression)
public boolean isDynamicParameterBound(DSLExpression expression, boolean transitive)
public Parameter findByVariable(VariableElement variable)
public DSLExpression getLimitExpression()
public void setLimitExpression(DSLExpression limitExpression)
public void setInsertBefore(SpecializationData insertBefore)
public void setInsertBeforeName(String insertBeforeName)
public SpecializationData getInsertBefore()
public String getInsertBeforeName()
public Set<SpecializationData> getReplaces()
public void setReplaces(Set<SpecializationData> replaces)
public Set<SpecializationData> getReplacedBy()
public void setReplacedBy(Set<SpecializationData> replacedBy)
public void setReachable(boolean reachable)
public void setReplaced(boolean replaced)
public boolean isReachable()
public boolean isReplaced()
protected List<MessageContainer> findChildContainers()
findChildContainers in class TemplateMethodpublic boolean needsState(ProcessorContext context)
public boolean needsRewrite(ProcessorContext context)
public int compareTo(TemplateMethod other)
compareTo in interface Comparable<TemplateMethod>compareTo in class TemplateMethodpublic void setIndex(int order)
public int getIndex()
public int getIntrospectionIndex()
public NodeData getNode()
public boolean isSpecialized()
public boolean isFallback()
public List<SpecializationThrowsData> getExceptions()
public boolean hasUnexpectedResultRewrite()
public List<GuardExpression> getGuards()
public void setLocalActivationProbability(double activationProbability)
public double getLocalActivationProbability()
public double getActivationProbability()
public String toString()
toString in class TemplateMethodpublic boolean isFrameUsedByGuard()
public List<CacheExpression> getCaches()
public void setCaches(List<CacheExpression> caches)
public void setAssumptionExpressions(List<AssumptionExpression> assumptionExpressions)
public List<AssumptionExpression> getAssumptionExpressions()
public boolean hasMultipleInstances()
public boolean isGuardBindsExclusiveCache()
public boolean isConstantLimit()
public int getMaximumNumberOfInstances()
public boolean isReachableAfter(SpecializationData prev)
public CacheExpression findCache(Parameter resolvedParameter)