interpreter,compiler(arm64): clears higher bits in i32.load_8/16_s (#725)

Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
This commit is contained in:
Takeshi Yoneda
2022-07-28 15:45:07 +09:00
committed by GitHub
parent d1336806d6
commit c5daf5a218
12 changed files with 1718 additions and 1800 deletions

View File

@@ -249,3 +249,19 @@ func Test722(t *testing.T) {
require.Equal(t, uint64(1), ret[0])
})
}
func Test725(t *testing.T) {
functions := []string{"i32.load8_s", "i32.load16_s"}
run(t, func(t *testing.T, r wazero.Runtime) {
mod, err := r.InstantiateModuleFromBinary(ctx, getWasmBinary(t, 725))
require.NoError(t, err)
for _, fn := range functions {
f := mod.ExportedFunction(fn)
require.NotNil(t, f)
_, err := f.Call(ctx)
require.Error(t, err)
require.Contains(t, err.Error(), "out of bounds memory")
}
})
}