Interface MultiverseConstants

All Known Subinterfaces:
GammaConstants, GammaObject, GammaTxnExecutor, OrElseBlock, TxnExecutor
All Known Implementing Classes:
AbstractGammaObject, AbstractGammaTxnExecutor, BaseGammaTxnRef, Bugshaker, FatFixedLengthGammaTxn, FatGammaTxnExecutor, FatMonoGammaTxn, FatVariableLengthGammaTxn, GammaOrElseBlock, GammaTxn, GammaTxnBoolean, GammaTxnConfig, GammaTxnDouble, GammaTxnInteger, GammaTxnLong, GammaTxnPool, GammaTxnRef, LeanFixedLengthGammaTxn, LeanGammaTxnExecutor, LeanMonoGammaTxn, LockMode, Tranlocal

public interface MultiverseConstants
An interface containing global constants. It is a final instead of something mutable so that the JIT can completely remove code if some condition has not been met. The advantage is that you don't have to pay to price for adding some kind of check, if it isn't used. The problem is that the scope is all classes loaded by some classloader, share the same configuration. So one STM implementation with sanity checks enabled and the other not, is not possible.

It is an interface so that is can be 'implemented' for easier access.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final boolean
    Indicates of the bugshaker is enabled (for more information see the Bugshaker.
    static final int
    Indicates how often the system should yield when it is spinning.
    static final boolean
    Indicates if tracing (so seeing what is going on inside transactions) is enabled.
  • Field Details

    • SHAKE_BUGS

      static final boolean SHAKE_BUGS
      Indicates of the bugshaker is enabled (for more information see the Bugshaker. If disabled, no overhead because it can be removed by the JIT.
    • TRACING_ENABLED

      static final boolean TRACING_ENABLED
      Indicates if tracing (so seeing what is going on inside transactions) is enabled. Normally this causes overhead of not used, with this flag the complete tracing logic can be removed by the JIT if disabled).
    • SPIN_YIELD

      static final int SPIN_YIELD
      Indicates how often the system should yield when it is spinning. When a thread is yielded, it gives the opportunity to another thread to make progress.
    • LOCKMODE_NONE

      static final int LOCKMODE_NONE
      See Also:
    • LOCKMODE_READ

      static final int LOCKMODE_READ
      See Also:
    • LOCKMODE_WRITE

      static final int LOCKMODE_WRITE
      See Also:
    • LOCKMODE_EXCLUSIVE

      static final int LOCKMODE_EXCLUSIVE
      See Also: