Class/Object

org.scalajs.core.tools.optimizer

GenIncOptimizer

Related Docs: object GenIncOptimizer | package optimizer

Permalink

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
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GenIncOptimizer(semantics: Semantics, outputMode: OutputMode, considerPositions: Boolean)

    Permalink

    semantics

    Required Scala.js Semantics

    outputMode

    Output mode

    considerPositions

    Should positions be considered when comparing tree hashes

  2. new GenIncOptimizer(semantics: Semantics, considerPositions: Boolean)

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.6.3) Use the overload with an explicit output mode

Type Members

  1. class Class extends MethodContainer

    Permalink

    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. abstract class InterfaceType extends Unregisterable

    Permalink

    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.

  3. abstract class MethodContainer extends AnyRef

    Permalink

    Base class for Class and TraitImpl.

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

    Permalink

    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.

  5. class StaticsNamespace extends MethodContainer

    Permalink

    Namespace for static members of a class.

  6. trait Unregisterable extends AnyRef

    Permalink

    Thing from which a MethodImpl can unregister itself from.

Abstract Value Members

  1. abstract val CollOps: AbsCollOps

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

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

    Permalink
    Attributes
    protected
  4. abstract def processAllTaggedMethods(): Unit

    Permalink

    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

    Permalink

    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

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

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

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

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

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

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. def findClass(encodedName: String): Class

    Permalink
  10. def findStaticsNamespace(encodedName: String): StaticsNamespace

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

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

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

    Permalink
  14. def hashCode(): Int

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  21. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  22. def update(unit: LinkingUnit, logger: Logger): LinkingUnit

    Permalink

    Update the incremental analyzer with a new run.

  23. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped