MemoryOrder

scala.scalanative.nir.MemoryOrder$
See theMemoryOrder companion class
object MemoryOrder

Attributes

Companion
class
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

case object AcqRel extends MemoryOrder

Acts as both an Acquire and Release operation on its address.

Acts as both an Acquire and Release operation on its address.

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class MemoryOrder
class Object
trait Matchable
class Any
Show all
Self type
AcqRel.type
case object Acquire extends MemoryOrder

In addition to the guarantees of Monotonic, a synchronizes-with edge may be formed with a release operation.

In addition to the guarantees of Monotonic, a synchronizes-with edge may be formed with a release operation.

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class MemoryOrder
class Object
trait Matchable
class Any
Show all
Self type
Acquire.type
case object Monotonic extends MemoryOrder

In addition to the guarantees of Unordered, there is a single total order for modifications by monotonic operations on each address.

In addition to the guarantees of Unordered, there is a single total order for modifications by monotonic operations on each address.

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class MemoryOrder
class Object
trait Matchable
class Any
Show all
Self type
Monotonic.type
case object Release extends MemoryOrder

In addition to the guarantees of Monotonic, if this operation writes a value which is subsequently read by an acquire operation, it synchronizes-with that operation.

In addition to the guarantees of Monotonic, if this operation writes a value which is subsequently read by an acquire operation, it synchronizes-with that operation.

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class MemoryOrder
class Object
trait Matchable
class Any
Show all
Self type
Release.type
case object SeqCst extends MemoryOrder

In addition to the guarantees of AcqRel, there is a global total order on all sequentially-consistent operations on all addresses, which is consistent with the happens-before partial order and with the modification orders of all the affected addresses.

In addition to the guarantees of AcqRel, there is a global total order on all sequentially-consistent operations on all addresses, which is consistent with the happens-before partial order and with the modification orders of all the affected addresses.

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class MemoryOrder
class Object
trait Matchable
class Any
Show all
Self type
SeqCst.type
case object Unordered extends MemoryOrder

The set of values that can be read is governed by the happens-before partial order

The set of values that can be read is governed by the happens-before partial order

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class MemoryOrder
class Object
trait Matchable
class Any
Show all
Self type
Unordered.type

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror

The name of the type

The name of the type

Attributes

Inherited from:
Mirror