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