Package com.oracle.truffle.api.dsl
Annotation Interface ReportPolymorphism.Megamorphic
- Enclosing class:
ReportPolymorphism
Specializations annotated with this annotation are considered megamorphic. This means that on
the first activation of such a specialization the node will
report a polymorphic specialization
.
This annotation can be used independently of ReportPolymorphism
. This means that a
node need not report every polymorphic specialization as with ReportPolymorphism
but
only ones that produce generic and expensive cases. For example, if a node has several fast
specializations and a very slow generic specialization it does not make sense to report
activations of these fast specializations as polymorphic specializations as they perform well
even without runtime intervention (e.g. Splitting). On the other hand, the activation of the
generic case is slow and something that the runtime might be able to remove.- Since:
- 20.3