...
1 package binary
2
3 import (
4 "bytes"
5
6 "github.com/tetratelabs/wazero/internal/wasm"
7 )
8
9
10
11
12 func decodeMemory(
13 r *bytes.Reader,
14 memorySizer func(minPages uint32, maxPages *uint32) (min, capacity, max uint32),
15 memoryLimitPages uint32,
16 ) (*wasm.Memory, error) {
17 min, maxP, err := decodeLimitsType(r)
18 if err != nil {
19 return nil, err
20 }
21
22 min, capacity, max := memorySizer(min, maxP)
23 mem := &wasm.Memory{Min: min, Cap: capacity, Max: max, IsMaxEncoded: maxP != nil}
24
25 return mem, mem.Validate(memoryLimitPages)
26 }
27
View as plain text