scala

offheap

package offheap

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

Type Members

  1. type Addr = Long

    Physical address representation.

    Physical address representation. It's always an alias to Long on JVM but can also be Int on other platforms (e.g. on JS)

  2. trait Allocator extends AnyRef

    An off-heap memory allocator.

  3. final class Array[A] extends AnyVal

    Off-heap equivalent of scala.Array.

    Off-heap equivalent of scala.Array. Can only be used with statically known values of type parameter which also has to be off-heap allocatable.

    All combinator methods are implemented through macros and attempt to eliminate closures that are passed to them whenever possible.

  4. class CastException extends Exception

    An exception that is thrown when safe as[T] cast fails.

  5. final class EmbedArray[A] extends AnyVal

    An alternative implemenation of an array that inlines allocation of given offheap class into the array layout.

    An alternative implemenation of an array that inlines allocation of given offheap class into the array layout. This effectively makes it an array of structs in C sense.

  6. class InaccessibleMemoryException extends Exception

    An exception that is thrown in checked memory mode when a pointer to inaccassible memory is dereferenced.

    An exception that is thrown in checked memory mode when a pointer to inaccassible memory is dereferenced. (e.g. pointer to closed region)

  7. class Memory extends AnyRef

  8. class OutOfMemoryException extends Exception

    An exception that is thrown when Allocator can not allocate requested memory.

  9. final class Pool extends AnyRef

    Efficient pool of fixed-size memory pages.

    Efficient pool of fixed-size memory pages. Allocations from underlying allocator are performed in big chunks of memory that are sliced into pages of requested size.

    Pages and chunks are organized in a intrusive linked list way to minimise memory overhead and re-use the same nodes for the whole lifetime of the pool.

    Memory is reclaimed back to underlying alocator once the pool is finalized.

  10. final class PoolRegion extends Region

    An optimized implementation of region that performs all allocations sequentially in pages that are claimed from memory pool.

    An optimized implementation of region that performs all allocations sequentially in pages that are claimed from memory pool. It can not perform allocations bigger than memory pool page. This limitation is trade off to achieve superior allocation and deallocation performance.

  11. trait Region extends Allocator

    Family of scoped memory allocators.

    Family of scoped memory allocators. Allocated memory is available as long as execution is still in given region scope and is cleaned up once it's done

    A few memory management implemenations are available. It's possible to pick the desirable implementation using an implicit instance of Region.Props.

  12. class RegionClosedException extends Exception

    An exception that is thrown whenever one tries to call methods of the closed region.

  13. type Size = Long

    Physical memory size representation It's always an alias to Long on JVM but can also be Int on other platforms (e.g.

    Physical memory size representation It's always an alias to Long on JVM but can also be Int on other platforms (e.g. on JS)

  14. final macro class data extends Annotation with StaticAnnotation

    Macro annotation that transforms given class into case-class-like offheap class.

    Macro annotation that transforms given class into case-class-like offheap class.

    Annotations
    @compileTimeOnly( ... )
  15. final class embed extends Annotation with StaticAnnotation

    Annotation that marks fields as embedded.

    Annotation that marks fields as embedded. Such fields are effectively inlined into the outer class in terms of their data layout.

  16. final macro class variant extends Annotation with StaticAnnotation

    Macro annotation that transforms given class into sealed-abstract-class-like offheap class.

    Macro annotation that transforms given class into sealed-abstract-class-like offheap class. All off-heap classes defined in its companion form an off-heap child-parent relationship.

    Annotations
    @compileTimeOnly( ... )

Value Members

  1. object Array

  2. object EmbedArray

  3. object Pool

  4. object PoolRegion

  5. object Region

  6. macro def alignmentOf[T]: Size

    Alignment of given type T when used as a field in offheap class.

  7. macro def alignmentOfEmbed[T]: Size

    Alignment of given type T when used as an embed field in offheap class.

  8. package internal

  9. object malloc extends Allocator

    Underyling OS allocator that does not attempt to perform any automatic memory management (all allocations must have accompanied calls to free.)

  10. macro def offsetOf[T](field: String): Size

    Offset of given field in offheap class T.

  11. macro def sizeOf[T]: Size

    Size of given type T when used as a field in offheap class.

  12. macro def sizeOfEmbed[T]: Size

    Size of given type T when used as an embed field in offheap class.

  13. macro def strideOf[T]: Size

    Size of memory between successive elements in Array[T].

  14. macro def strideOfEmbed[T]: Size

    Size of memory between successive elements in EmbedArray[T].

Inherited from AnyRef

Inherited from Any

Ungrouped