summaryrefslogtreecommitdiff
path: root/vendor/github.com/tetratelabs/wazero/experimental/memory.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/tetratelabs/wazero/experimental/memory.go')
-rw-r--r--vendor/github.com/tetratelabs/wazero/experimental/memory.go52
1 files changed, 0 insertions, 52 deletions
diff --git a/vendor/github.com/tetratelabs/wazero/experimental/memory.go b/vendor/github.com/tetratelabs/wazero/experimental/memory.go
deleted file mode 100644
index 8bf3aa35f..000000000
--- a/vendor/github.com/tetratelabs/wazero/experimental/memory.go
+++ /dev/null
@@ -1,52 +0,0 @@
-package experimental
-
-import (
- "context"
-
- "github.com/tetratelabs/wazero/internal/expctxkeys"
-)
-
-// MemoryAllocator is a memory allocation hook,
-// invoked to create a LinearMemory.
-type MemoryAllocator interface {
- // Allocate should create a new LinearMemory with the given specification:
- // cap is the suggested initial capacity for the backing []byte,
- // and max the maximum length that will ever be requested.
- //
- // Notes:
- // - To back a shared memory, the address of the backing []byte cannot
- // change. This is checked at runtime. Implementations should document
- // if the returned LinearMemory meets this requirement.
- Allocate(cap, max uint64) LinearMemory
-}
-
-// MemoryAllocatorFunc is a convenience for defining inlining a MemoryAllocator.
-type MemoryAllocatorFunc func(cap, max uint64) LinearMemory
-
-// Allocate implements MemoryAllocator.Allocate.
-func (f MemoryAllocatorFunc) Allocate(cap, max uint64) LinearMemory {
- return f(cap, max)
-}
-
-// LinearMemory is an expandable []byte that backs a Wasm linear memory.
-type LinearMemory interface {
- // Reallocates the linear memory to size bytes in length.
- //
- // Notes:
- // - To back a shared memory, Reallocate can't change the address of the
- // backing []byte (only its length/capacity may change).
- // - Reallocate may return nil if fails to grow the LinearMemory. This
- // condition may or may not be handled gracefully by the Wasm module.
- Reallocate(size uint64) []byte
- // Free the backing memory buffer.
- Free()
-}
-
-// WithMemoryAllocator registers the given MemoryAllocator into the given
-// context.Context. The context must be passed when initializing a module.
-func WithMemoryAllocator(ctx context.Context, allocator MemoryAllocator) context.Context {
- if allocator != nil {
- return context.WithValue(ctx, expctxkeys.MemoryAllocatorKey{}, allocator)
- }
- return ctx
-}