mirror of
https://github.com/TecharoHQ/anubis.git
synced 2026-04-12 03:28:45 +00:00
fix(wasm): use interpreter on aarch64 for now
Signed-off-by: Xe Iaso <me@xeiaso.net>
This commit is contained in:
14
wasm/wasm.go
14
wasm/wasm.go
@@ -7,6 +7,7 @@ import (
|
||||
"io"
|
||||
"math"
|
||||
"os"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"sync"
|
||||
"time"
|
||||
@@ -45,7 +46,18 @@ func NewRunner(ctx context.Context, fname string, fin io.ReadCloser) (*Runner, e
|
||||
return nil, fmt.Errorf("wasm: can't read from fin: %w", err)
|
||||
}
|
||||
|
||||
r := wazero.NewRuntime(ctx)
|
||||
var cfg wazero.RuntimeConfig
|
||||
|
||||
switch runtime.GOARCH {
|
||||
case "amd64":
|
||||
cfg = wazero.NewRuntimeConfigCompiler()
|
||||
default:
|
||||
cfg = wazero.NewRuntimeConfigInterpreter()
|
||||
}
|
||||
|
||||
cfg = cfg.WithMemoryLimitPages(512)
|
||||
|
||||
r := wazero.NewRuntimeWithConfig(ctx, cfg)
|
||||
|
||||
_, err = r.NewHostModuleBuilder("anubis").
|
||||
NewFunctionBuilder().
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"crypto/sha256"
|
||||
"fmt"
|
||||
"io/fs"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -58,6 +59,9 @@ func TestAlgos(t *testing.T) {
|
||||
|
||||
for _, kind := range []string{"baseline", "simd128"} {
|
||||
for _, fname := range fnames {
|
||||
if filepath.Ext(fname.Name()) != ".wasm" {
|
||||
continue
|
||||
}
|
||||
t.Run(kind+"/"+fname.Name(), func(t *testing.T) {
|
||||
abiTest(t, kind, fname.Name(), 16)
|
||||
})
|
||||
@@ -139,6 +143,10 @@ func BenchmarkValidate(b *testing.B) {
|
||||
difficulty = 16
|
||||
}
|
||||
|
||||
if filepath.Ext(fname) != ".wasm" {
|
||||
continue
|
||||
}
|
||||
|
||||
b.Run(fname, func(b *testing.B) {
|
||||
fin, err := web.Static.Open("static/wasm/simd128/" + fname)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user