summaryrefslogtreecommitdiff
path: root/vendor/github.com/ncruces/go-sqlite3/internal/util/mmap_other.go
blob: a0a3ba67d45c96637ae45c40df805bb649824beb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//go:build !unix || !(amd64 || arm64 || riscv64) || sqlite3_noshm || sqlite3_nosys

package util

import (
	"context"

	"github.com/ncruces/go-sqlite3/internal/alloc"
	"github.com/tetratelabs/wazero/experimental"
)

type mmapState struct{}

func withAllocator(ctx context.Context) context.Context {
	return experimental.WithMemoryAllocator(ctx,
		experimental.MemoryAllocatorFunc(func(cap, max uint64) experimental.LinearMemory {
			if cap == max {
				return alloc.Virtual(cap, max)
			}
			return alloc.Slice(cap, max)
		}))
}