wazevo: fixes newAlignedOpaque not to use unsafe (#2043)

Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
This commit is contained in:
Takeshi Yoneda
2024-02-11 17:42:25 -08:00
committed by GitHub
parent 392dcf732a
commit 184a6a0d1e

View File

@@ -79,10 +79,11 @@ func newAlignedOpaque(size int) moduleContextOpaque {
if size%16 != 0 {
panic("size must be a multiple of 16")
}
type _16 [16]byte
buf := make([]_16, size/16)
slice := unsafe.Slice(&buf[0][0], size)
return *(*moduleContextOpaque)(&slice)
buf := make([]byte, size+16)
// Align the buffer to 16 bytes.
rem := uintptr(unsafe.Pointer(&buf[0])) % 16
buf = buf[16-rem:]
return buf
}
func putLocalMemory(opaque []byte, offset wazevoapi.Offset, mem *wasm.MemoryInstance) {