Packages

abstract class ClosureOptimizer extends AnyRef

Source
ClosureOptimizer.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ClosureOptimizer
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ClosureOptimizer()

Type Members

  1. case class Local(local: Int, opcodeOffset: Int) extends Product with Serializable

    Stores a local variable index the opcode offset required for operating on that variable.

    Stores a local variable index the opcode offset required for operating on that variable.

    The xLOAD / xSTORE opcodes are in the following sequence: I, L, F, D, A, so the offset for a local variable holding a reference (A) is 4. See also method getOpcode in scala.tools.asm.Type.

  2. case class LocalsList(locals: List[Local]) extends Product with Serializable

    A list of local variables.

    A list of local variables. Each local stores information about its type, see class Local.

Abstract Value Members

  1. abstract val postProcessor: PostProcessor

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from ClosureOptimizer toany2stringadd[ClosureOptimizer] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (ClosureOptimizer, B)
    Implicit
    This member is added by an implicit conversion from ClosureOptimizer toArrowAssoc[ClosureOptimizer] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. def ensuring(cond: (ClosureOptimizer) => Boolean, msg: => Any): ClosureOptimizer
    Implicit
    This member is added by an implicit conversion from ClosureOptimizer toEnsuring[ClosureOptimizer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  9. def ensuring(cond: (ClosureOptimizer) => Boolean): ClosureOptimizer
    Implicit
    This member is added by an implicit conversion from ClosureOptimizer toEnsuring[ClosureOptimizer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: Boolean, msg: => Any): ClosureOptimizer
    Implicit
    This member is added by an implicit conversion from ClosureOptimizer toEnsuring[ClosureOptimizer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean): ClosureOptimizer
    Implicit
    This member is added by an implicit conversion from ClosureOptimizer toEnsuring[ClosureOptimizer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. def rewriteClosureApplyInvocations(methods: Option[Iterable[MethodNode]], inlinerState: Map[MethodNode, (inliner)#MethodInlinerState]): LinkedHashSet[MethodNode]

    If a closure is allocated and invoked within the same method, re-write the invocation to the closure body method.

    If a closure is allocated and invoked within the same method, re-write the invocation to the closure body method.

    Note that the closure body method (generated by delambdafy:method) takes additional parameters for the values captured by the closure. The bytecode is transformed from

    [generate captured values] [closure init, capturing values] [...] [load closure object] [generate closure invocation arguments] [invoke closure.apply]

    to

    [generate captured values] [store captured values into new locals] [load the captured values from locals] // a future optimization will eliminate the closure [closure init, capturing values] // instantiation if the closure object becomes unused [...] [load closure object] [generate closure invocation arguments] [store argument values into new locals] [drop the closure object] [load captured values from locals] [load argument values from locals] [invoke the closure body method]

    methods

    The methods to check for rewrites. If not defined, check all methods with closure instantiations.

    returns

    The changed methods. The order of the resulting sequence is deterministic.

  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  27. object LocalsList extends java.io.Serializable

Deprecated Value Members

  1. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from ClosureOptimizer toStringFormat[ClosureOptimizer] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  2. def [B](y: B): (ClosureOptimizer, B)
    Implicit
    This member is added by an implicit conversion from ClosureOptimizer toArrowAssoc[ClosureOptimizer] 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.

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromClosureOptimizer to any2stringadd[ClosureOptimizer]

Inherited by implicit conversion StringFormat fromClosureOptimizer to StringFormat[ClosureOptimizer]

Inherited by implicit conversion Ensuring fromClosureOptimizer to Ensuring[ClosureOptimizer]

Inherited by implicit conversion ArrowAssoc fromClosureOptimizer to ArrowAssoc[ClosureOptimizer]

Ungrouped