Annotation Interface ReportPolymorphism.Megamorphic

Enclosing class:

@Retention(CLASS) @Target(METHOD) public static @interface ReportPolymorphism.Megamorphic
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.