Record Class PartialEvaluationMethodInfo
java.lang.Object
java.lang.Record
com.oracle.truffle.compiler.PartialEvaluationMethodInfo
- Record Components:
loopExplosion- Queries how loops inmethodwith constant number of invocations should be unrolled.inlineForPartialEvaluation- Gets an object describing whether and how a method can be inlined based on Truffle directives during partial evaluationinlineForTruffleBoundary- Gets an object describing whether and how a method can be inlined based on Truffle directives after partial evaluation e.g. during later inlining phases.isInlineable- Determines ifmethodcan be inlined by the runtime (independently from Truffle).isSpecializationMethod- Determines ifmethodis annotated bySpecialization.
public record PartialEvaluationMethodInfo(TruffleCompilerRuntime.LoopExplosionKind loopExplosion, TruffleCompilerRuntime.InlineKind inlineForPartialEvaluation, TruffleCompilerRuntime.InlineKind inlineForTruffleBoundary, boolean isInlineable, boolean isSpecializationMethod)
extends Record
TODO GR-44222 as soon as the annotation API is available in libgraal this can be moved to the
compiler implementation side.
-
Constructor Summary
ConstructorsConstructorDescriptionPartialEvaluationMethodInfo(TruffleCompilerRuntime.LoopExplosionKind loopExplosion, TruffleCompilerRuntime.InlineKind inlineForPartialEvaluation, TruffleCompilerRuntime.InlineKind inlineForTruffleBoundary, boolean isInlineable, boolean isSpecializationMethod) Creates an instance of aPartialEvaluationMethodInforecord class. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.Returns the value of theinlineForPartialEvaluationrecord component.Returns the value of theinlineForTruffleBoundaryrecord component.booleanReturns the value of theisInlineablerecord component.booleanReturns the value of theisSpecializationMethodrecord component.Returns the value of theloopExplosionrecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
PartialEvaluationMethodInfo
public PartialEvaluationMethodInfo(TruffleCompilerRuntime.LoopExplosionKind loopExplosion, TruffleCompilerRuntime.InlineKind inlineForPartialEvaluation, TruffleCompilerRuntime.InlineKind inlineForTruffleBoundary, boolean isInlineable, boolean isSpecializationMethod) Creates an instance of aPartialEvaluationMethodInforecord class.- Parameters:
loopExplosion- the value for theloopExplosionrecord componentinlineForPartialEvaluation- the value for theinlineForPartialEvaluationrecord componentinlineForTruffleBoundary- the value for theinlineForTruffleBoundaryrecord componentisInlineable- the value for theisInlineablerecord componentisSpecializationMethod- the value for theisSpecializationMethodrecord component
-
-
Method Details
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with thecomparemethod from their corresponding wrapper classes. -
loopExplosion
Returns the value of theloopExplosionrecord component.- Returns:
- the value of the
loopExplosionrecord component
-
inlineForPartialEvaluation
Returns the value of theinlineForPartialEvaluationrecord component.- Returns:
- the value of the
inlineForPartialEvaluationrecord component
-
inlineForTruffleBoundary
Returns the value of theinlineForTruffleBoundaryrecord component.- Returns:
- the value of the
inlineForTruffleBoundaryrecord component
-
isInlineable
public boolean isInlineable()Returns the value of theisInlineablerecord component.- Returns:
- the value of the
isInlineablerecord component
-
isSpecializationMethod
public boolean isSpecializationMethod()Returns the value of theisSpecializationMethodrecord component.- Returns:
- the value of the
isSpecializationMethodrecord component
-