Class/Object

sigmastate.interpreter

PrecompiledScriptProcessor

Related Docs: object PrecompiledScriptProcessor | package interpreter

Permalink

class PrecompiledScriptProcessor extends AnyRef

Script processor which holds pre-compiled reducers for the given scripts. This class is thread-safe.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PrecompiledScriptProcessor
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PrecompiledScriptProcessor(settings: ScriptProcessorSettings)

    Permalink

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. val cache: LoadingCache[CacheKey, ScriptReducer]

    Permalink

    The cache which stores MRU set of pre-compiled reducers.

  6. val cacheListener: RemovalListener[CacheKey, ScriptReducer]

    Permalink

    Called when a cache item is removed.

    Called when a cache item is removed.

    Attributes
    protected
  7. val cacheLoader: CacheLoader[CacheKey, ScriptReducer]

    Permalink

    Loader to be used on a cache miss.

    Loader to be used on a cache miss. The loader creates a new ScriptReducer for the given CacheKey. The default loader creates an instance of PrecompiledScriptReducer which stores its own IRContext and compiles costF, calcF graphs.

    Attributes
    protected
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def createIR(): IRContext

    Permalink

    Creates a new instance of IRContex to be used in reducers.

    Creates a new instance of IRContex to be used in reducers. The default implementation can be overriden in derived classes.

    Attributes
    protected
  10. final def eq(arg0: AnyRef): Boolean

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  14. def getPredefStats(): Seq[Int]

    Permalink

    Obtain hit counter for each predefined script.

    Obtain hit counter for each predefined script. The order of counters corresponds to the order of the scripts in settings.

  15. def getReducer(key: CacheKey): ScriptReducer

    Permalink

    Looks up reducer for the given key using its 'ergoTreeBytes' property.

    Looks up reducer for the given key using its 'ergoTreeBytes' property. It first looks up for predefReducers, if not found it looks up in the cache. If there is no cache entry, the cacheLoader is used to load a new ScriptReducer.

    key

    a script key to lookup pre-compiled reducer.

    returns

    a reducer for the given script May throw an exception if error happens and no soft-fork condition detected in key.vs.

  16. def getReducer(ergoTree: ErgoTree, vs: SigmaValidationSettings): ScriptReducer

    Permalink

    An overload version of the method which looks up reducer for the given ErgoTree using its 'bytes' property.

    An overload version of the method which looks up reducer for the given ErgoTree using its 'bytes' property. See also getReducer(key).

    ergoTree

    a tree to lookup pre-compiled reducer.

    vs

    validation settings which are used to detect soft-fork condition

    returns

    a reducer for the given tree May throw an exception if error happens and no soft-fork condition detected in vs.

  17. def getStats(): ProcessorStats

    Permalink

    Returns accumulated statistics info.

  18. def hashCode(): Int

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  23. def onEvictedCacheEntry(key: CacheKey): Unit

    Permalink

    Called when the cache entry is evicted.

    Called when the cache entry is evicted.

    Attributes
    protected
  24. def onReportStats(stats: ProcessorStats): Unit

    Permalink

    Called to report processor stats.

    Called to report processor stats.

    Attributes
    protected
  25. val predefReducers: AVHashMap[CacheKey, (ScriptReducer, AtomicInteger)]

    Permalink

    Holds for each ErgoTree bytes the corresponding pre-compiled reducer.

    Holds for each ErgoTree bytes the corresponding pre-compiled reducer. Since AVHashMap is not thread-safe it should be immutable after it is constructed. However the counters will be updated on each increase.

    Attributes
    protected
  26. val settings: ScriptProcessorSettings

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

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

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

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

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

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

Inherited from AnyRef

Inherited from Any

Ungrouped