abstract class InlinerHeuristics extends PerRunInit
- Alphabetic
- By Inheritance
- InlinerHeuristics
- PerRunInit
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new InlinerHeuristics()
Type Members
- final case class InlineRequest(callsite: (callGraph)#Callsite, reason: InlineReason) extends Product with Serializable
Abstract Value Members
- abstract val postProcessor: PostProcessor
Concrete 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 toany2stringadd[InlinerHeuristics] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (InlinerHeuristics, B)
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics toArrowAssoc[InlinerHeuristics] 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
- def canInlineFromSource(sourceFilePath: Option[String], calleeDeclarationClass: InternalName): Boolean
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (InlinerHeuristics) => Boolean, msg: => Any): InlinerHeuristics
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics toEnsuring[InlinerHeuristics] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (InlinerHeuristics) => Boolean): InlinerHeuristics
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics toEnsuring[InlinerHeuristics] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): InlinerHeuristics
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics toEnsuring[InlinerHeuristics] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): InlinerHeuristics
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics toEnsuring[InlinerHeuristics] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[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 toStringFormat[InlinerHeuristics] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def initialize(): Unit
- Definition Classes
- PerRunInit
- def inlineRequest(callsite: (callGraph)#Callsite): 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
).- returns
None
if this callsite should not be inlined according to the active heuristicSome(Left)
if the callsite should be inlined according to the heuristic, but cannot be inlined according to an early, incomplete check (see earlyCanInlineCheck)Some(Right)
if the callsite should be inlined (it's still possible that the callsite cannot be inlined in the end, for example if it contains instructions that would cause an IllegalAccessError in the new class; this is checked in the inliner)
- lazy val inlineSourceMatcher: LazyVar[InlineSourceMatcher]
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def javaSam(internalName: InternalName): Option[String]
- val maxSize: Int
- val mediumSize: Int
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def perRunInit(init: => Unit): Unit
- Definition Classes
- PerRunInit
- 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.
- def selectRequestsForMethodSize(method: MethodNode, requests: List[InlineRequest], methodSizes: Map[MethodNode, Int]): List[InlineRequest]
- val smallSize: Int
- 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def →[B](y: B): (InlinerHeuristics, B)
- Implicit
- This member is added by an implicit conversion from InlinerHeuristics toArrowAssoc[InlinerHeuristics] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
The Scala compiler and reflection APIs.