scala.tools.nsc.backend.jvm.opt

LocalOpt

object LocalOpt

Intra-Method optimizations.

Source
LocalOpt.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. LocalOpt
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  5. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  15. def removeEmptyExceptionHandlers(method: MethodNode): Boolean

    Remove exception handlers that cover empty code blocks.

    Remove exception handlers that cover empty code blocks. A block is considered empty if it consist only of labels, frames, line numbers, nops and gotos.

    Note that no instructions are eliminated.

    returns

    true if some exception handler was eliminated.

  16. def removeEmptyExceptionHandlers(clazz: ClassNode): Boolean

    Remove exception handlers that cover empty code blocks from all methods of clazz.

    Remove exception handlers that cover empty code blocks from all methods of clazz. Returns true if any exception handler was eliminated.

  17. def removeUnreachableCode(clazz: ClassNode): Boolean

    Remove unreachable instructions from all (non-abstract) methods.

    Remove unreachable instructions from all (non-abstract) methods.

    clazz

    The class whose methods are optimized

    returns

    true if unreachable code was elminated in some method, false otherwise.

  18. def removeUnusedLocalVariableNodes(method: MethodNode): Boolean

    Remove all non-parameter entries from the local variable table which denote variables that are not actually read or written.

    Remove all non-parameter entries from the local variable table which denote variables that are not actually read or written.

    Note that each entry in the local variable table has a start, end and index. Two entries with the same index, but distinct start / end ranges are different variables, they may have not the same type or name.

    TODO: also re-allocate locals to occupy fewer slots after eliminating unused ones

  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  20. def toString(): String

    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped