org.scalajs.core.tools.optimizer

GenIncOptimizer

abstract class GenIncOptimizer extends AnyRef

Incremental optimizer. An incremental optimizer consumes the reachability analysis produced by an Analyzer, as well as trees for classes, and optimizes them in an incremental way. It maintains state between runs to do a minimal amount of work on every run, based on detecting what parts of the program must be re-optimized, and keeping optimized results from previous runs for the rest.

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

Instance Constructors

  1. new GenIncOptimizer(semantics: Semantics)

Type Members

  1. class Class extends MethodContainer

    Class in the class hierarchy (not an interface).

    Class in the class hierarchy (not an interface). A class may be a module class. A class knows its superclass and the interfaces it implements. It also maintains a list of its direct subclasses, so that the instances of Class form a tree of the class hierarchy.

  2. type GetClassTreeIfChanged = (String, Option[String]) ⇒ Option[(ClassDef, Option[String])]

  3. abstract class InterfaceType extends Unregisterable

    Type of a class or interface.

    Type of a class or interface. Types are created on demand when a method is called on a given ClassType.

    Fully concurrency safe unless otherwise noted.

  4. abstract class MethodContainer extends AnyRef

    Base class for Class and TraitImpl.

  5. abstract class MethodImpl extends OptimizerCore.MethodImpl with AbstractMethodID with Unregisterable

    A method implementation.

    A method implementation. It must be concrete, and belong either to a Class or a TraitImpl.

    A single instance is **not** concurrency safe (unless otherwise noted in a method comment). However, the global state modifications are concurrency safe.

  6. class StaticsNamespace extends MethodContainer

    Namespace for static members of a class.

  7. trait Unregisterable extends AnyRef

    Thing from which a MethodImpl can unregister itself from.

Abstract Value Members

  1. abstract val CollOps: AbsCollOps

    Attributes
    protected
  2. abstract def getInterface(encodedName: String): InterfaceType

    Attributes
    protected
  3. abstract def newMethodImpl(owner: MethodContainer, encodedName: String): MethodImpl

    Attributes
    protected
  4. abstract def processAllTaggedMethods(): Unit

    Optimizer part: process all methods that need reoptimizing.

    Optimizer part: process all methods that need reoptimizing. PROCESS PASS ONLY. (This IS the process pass).

    Attributes
    protected
  5. abstract def scheduleMethod(method: MethodImpl): Unit

    Schedule a method for processing in the PROCESS PASS

    Schedule a method for processing in the PROCESS PASS

    Attributes
    protected

Concrete 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. def findClass(encodedName: String): Class

  10. def findStaticsNamespace(encodedName: String): StaticsNamespace

  11. def getClass(encodedName: String): Option[Class]

  12. final def getClass(): java.lang.Class[_]

    Definition Classes
    AnyRef → Any
  13. def getStaticsNamespace(encodedName: String): Option[StaticsNamespace]

  14. def hashCode(): Int

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

    Definition Classes
    Any
  16. def logProcessingMethods(count: Int): Unit

    Attributes
    protected
  17. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  21. def toString(): String

    Definition Classes
    AnyRef → Any
  22. def update(analyzer: Analyzer, getClassTreeIfChanged: GetClassTreeIfChanged, considerPositions: Boolean, logger: Logger): Unit

    Update the incremental analyzer with a new run.

  23. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped