class InlinerHeuristics[BT <: BTypes] extends AnyRef
- Alphabetic
- By Inheritance
- InlinerHeuristics
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new InlinerHeuristics(bTypes: BT)
Type Members
- case class InlineRequest (callsite: Callsite, post: List[InlineRequest], reason: String) extends Product with Serializable
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics[BT] to any2stringadd[InlinerHeuristics[BT]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (InlinerHeuristics[BT], B)
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics[BT] to ArrowAssoc[InlinerHeuristics[BT]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- val bTypes: BT
- def canInlineFromSource(sourceFilePath: Option[String]): Boolean
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
ensuring(cond: (InlinerHeuristics[BT]) ⇒ Boolean, msg: ⇒ Any): InlinerHeuristics[BT]
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics[BT] to Ensuring[InlinerHeuristics[BT]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (InlinerHeuristics[BT]) ⇒ Boolean): InlinerHeuristics[BT]
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics[BT] to Ensuring[InlinerHeuristics[BT]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): InlinerHeuristics[BT]
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics[BT] to Ensuring[InlinerHeuristics[BT]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): InlinerHeuristics[BT]
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics[BT] to Ensuring[InlinerHeuristics[BT]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics[BT] to StringFormat[InlinerHeuristics[BT]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
inlineRequest(callsite: Callsite, selectedRequestsForCallee: Set[InlineRequest]): Option[Either[OptimizerWarning, InlineRequest]]
Returns the inline request for a callsite if the callsite should be inlined according to the current heuristics (
-Yopt-inline-heuristics
).Returns the inline request for a callsite if the callsite should be inlined according to the current heuristics (
-Yopt-inline-heuristics
).The resulting inline request may contain post-inlining requests of callsites that in turn are also selected as individual inlining requests.
- returns
None
if this callsite should not be inlined according to the active heuristicSome(Left)
if the callsite cannot be inlined (for example because that would cause an IllegalAccessError) but should be according to the heuristic TODO: what if a downstream inline request would cause an IAE and we don't create an InlineRequest for the original callsite? new subclass of OptimizerWarning.Some(Right)
if the callsite should be and can be inlined
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def javaSam(internalName: InternalName): Option[String]
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
selectCallsitesForInlining: Map[MethodNode, Set[InlineRequest]]
Select callsites from the call graph that should be inlined, grouped by the containing method.
Select callsites from the call graph that should be inlined, grouped by the containing method. Cyclic inlining requests are allowed, the inliner will eliminate requests to break cycles.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (InlinerHeuristics[BT], B)
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics[BT] to ArrowAssoc[InlinerHeuristics[BT]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
The Scala compiler API.
The following resources are useful for Scala plugin/compiler development: