mirror of
https://github.com/ncruces/go-sqlite3.git
synced 2026-01-11 21:49:13 +00:00
Enable compiler on ARMv8. (#211)
This commit is contained in:
10
.github/workflows/test.yml
vendored
10
.github/workflows/test.yml
vendored
@@ -92,6 +92,14 @@ jobs:
|
|||||||
- name: netbsd
|
- name: netbsd
|
||||||
version: '10.0'
|
version: '10.0'
|
||||||
flags: '-test.v'
|
flags: '-test.v'
|
||||||
|
- name: freebsd
|
||||||
|
arch: arm64
|
||||||
|
version: '14.2'
|
||||||
|
flags: '-test.v -test.short'
|
||||||
|
- name: netbsd
|
||||||
|
arch: arm64
|
||||||
|
version: '10.0'
|
||||||
|
flags: '-test.v -test.short'
|
||||||
- name: openbsd
|
- name: openbsd
|
||||||
version: '7.6'
|
version: '7.6'
|
||||||
flags: '-test.v -test.short'
|
flags: '-test.v -test.short'
|
||||||
@@ -104,6 +112,7 @@ jobs:
|
|||||||
- name: Build
|
- name: Build
|
||||||
env:
|
env:
|
||||||
GOOS: ${{ matrix.os.name }}
|
GOOS: ${{ matrix.os.name }}
|
||||||
|
GOARCH: ${{ matrix.os.arch }}
|
||||||
TESTFLAGS: ${{ matrix.os.flags }}
|
TESTFLAGS: ${{ matrix.os.flags }}
|
||||||
run: .github/workflows/build-test.sh
|
run: .github/workflows/build-test.sh
|
||||||
|
|
||||||
@@ -111,6 +120,7 @@ jobs:
|
|||||||
uses: cross-platform-actions/action@v0.26.0
|
uses: cross-platform-actions/action@v0.26.0
|
||||||
with:
|
with:
|
||||||
operating_system: ${{ matrix.os.name }}
|
operating_system: ${{ matrix.os.name }}
|
||||||
|
architecture: ${{ matrix.os.arch }}
|
||||||
version: ${{ matrix.os.version }}
|
version: ${{ matrix.os.version }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: . ./test.sh
|
run: . ./test.sh
|
||||||
|
|||||||
Binary file not shown.
@@ -45,7 +45,7 @@ cd ~-
|
|||||||
-o bcw2.wasm "build/main.c" \
|
-o bcw2.wasm "build/main.c" \
|
||||||
-I"build" \
|
-I"build" \
|
||||||
-mexec-model=reactor \
|
-mexec-model=reactor \
|
||||||
-matomics -msimd128 -mmutable-globals -mmultivalue \
|
-msimd128 -mmutable-globals -mmultivalue \
|
||||||
-mbulk-memory -mreference-types \
|
-mbulk-memory -mreference-types \
|
||||||
-mnontrapping-fptoint -msign-ext \
|
-mnontrapping-fptoint -msign-ext \
|
||||||
-fno-stack-protector -fno-stack-clash-protection \
|
-fno-stack-protector -fno-stack-clash-protection \
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ go 1.21
|
|||||||
|
|
||||||
toolchain go1.23.0
|
toolchain go1.23.0
|
||||||
|
|
||||||
require github.com/ncruces/go-sqlite3 v0.21.0
|
require github.com/ncruces/go-sqlite3 v0.21.3
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/ncruces/julianday v1.0.0 // indirect
|
github.com/ncruces/julianday v1.0.0 // indirect
|
||||||
github.com/tetratelabs/wazero v1.8.2 // indirect
|
github.com/tetratelabs/wazero v1.8.2 // indirect
|
||||||
golang.org/x/sys v0.28.0 // indirect
|
golang.org/x/sys v0.29.0 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
github.com/ncruces/go-sqlite3 v0.21.0 h1:EwKFoy1hHEopN4sFZarmi+McXdbCcbTuLixhEayXVbQ=
|
github.com/ncruces/go-sqlite3 v0.21.3 h1:hHkfNQLcbnxPJZhC/RGw9SwP3bfkv/Y0xUHWsr1CdMQ=
|
||||||
github.com/ncruces/go-sqlite3 v0.21.0/go.mod h1:zxMOaSG5kFYVFK4xQa0pdwIszqxqJ0W0BxBgwdrNjuA=
|
github.com/ncruces/go-sqlite3 v0.21.3/go.mod h1:zxMOaSG5kFYVFK4xQa0pdwIszqxqJ0W0BxBgwdrNjuA=
|
||||||
github.com/ncruces/julianday v1.0.0 h1:fH0OKwa7NWvniGQtxdJRxAgkBMolni2BjDHaWTxqt7M=
|
github.com/ncruces/julianday v1.0.0 h1:fH0OKwa7NWvniGQtxdJRxAgkBMolni2BjDHaWTxqt7M=
|
||||||
github.com/ncruces/julianday v1.0.0/go.mod h1:Dusn2KvZrrovOMJuOt0TNXL6tB7U2E8kvza5fFc9G7g=
|
github.com/ncruces/julianday v1.0.0/go.mod h1:Dusn2KvZrrovOMJuOt0TNXL6tB7U2E8kvza5fFc9G7g=
|
||||||
github.com/tetratelabs/wazero v1.8.2 h1:yIgLR/b2bN31bjxwXHD8a3d+BogigR952csSDdLYEv4=
|
github.com/tetratelabs/wazero v1.8.2 h1:yIgLR/b2bN31bjxwXHD8a3d+BogigR952csSDdLYEv4=
|
||||||
github.com/tetratelabs/wazero v1.8.2/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs=
|
github.com/tetratelabs/wazero v1.8.2/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs=
|
||||||
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
|
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
|
||||||
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
|
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
|
||||||
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ trap 'rm -f sqlite3.tmp' EXIT
|
|||||||
-o sqlite3.wasm "$ROOT/sqlite3/main.c" \
|
-o sqlite3.wasm "$ROOT/sqlite3/main.c" \
|
||||||
-I"$ROOT/sqlite3" \
|
-I"$ROOT/sqlite3" \
|
||||||
-mexec-model=reactor \
|
-mexec-model=reactor \
|
||||||
-matomics -msimd128 -mmutable-globals -mmultivalue \
|
-msimd128 -mmutable-globals -mmultivalue \
|
||||||
-mbulk-memory -mreference-types \
|
-mbulk-memory -mreference-types \
|
||||||
-mnontrapping-fptoint -msign-ext \
|
-mnontrapping-fptoint -msign-ext \
|
||||||
-fno-stack-protector -fno-stack-clash-protection \
|
-fno-stack-protector -fno-stack-clash-protection \
|
||||||
|
|||||||
Binary file not shown.
4
go.mod
4
go.mod
@@ -8,8 +8,8 @@ require (
|
|||||||
github.com/ncruces/julianday v1.0.0
|
github.com/ncruces/julianday v1.0.0
|
||||||
github.com/ncruces/sort v0.1.2
|
github.com/ncruces/sort v0.1.2
|
||||||
github.com/tetratelabs/wazero v1.8.2
|
github.com/tetratelabs/wazero v1.8.2
|
||||||
golang.org/x/crypto v0.31.0
|
golang.org/x/crypto v0.32.0
|
||||||
golang.org/x/sys v0.28.0
|
golang.org/x/sys v0.29.0
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
|||||||
8
go.sum
8
go.sum
@@ -10,12 +10,12 @@ github.com/psanford/httpreadat v0.1.0 h1:VleW1HS2zO7/4c7c7zNl33fO6oYACSagjJIyMIw
|
|||||||
github.com/psanford/httpreadat v0.1.0/go.mod h1:Zg7P+TlBm3bYbyHTKv/EdtSJZn3qwbPwpfZ/I9GKCRE=
|
github.com/psanford/httpreadat v0.1.0/go.mod h1:Zg7P+TlBm3bYbyHTKv/EdtSJZn3qwbPwpfZ/I9GKCRE=
|
||||||
github.com/tetratelabs/wazero v1.8.2 h1:yIgLR/b2bN31bjxwXHD8a3d+BogigR952csSDdLYEv4=
|
github.com/tetratelabs/wazero v1.8.2 h1:yIgLR/b2bN31bjxwXHD8a3d+BogigR952csSDdLYEv4=
|
||||||
github.com/tetratelabs/wazero v1.8.2/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs=
|
github.com/tetratelabs/wazero v1.8.2/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs=
|
||||||
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
|
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
|
||||||
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
|
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
|
||||||
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
|
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
|
||||||
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||||
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
|
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
|
||||||
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
|
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
|
||||||
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
||||||
lukechampine.com/adiantum v1.1.1 h1:4fp6gTxWCqpEbLy40ExiYDDED3oUNWx5cTqBCtPdZqA=
|
lukechampine.com/adiantum v1.1.1 h1:4fp6gTxWCqpEbLy40ExiYDDED3oUNWx5cTqBCtPdZqA=
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ go 1.21
|
|||||||
toolchain go1.23.0
|
toolchain go1.23.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/ncruces/go-sqlite3 v0.21.0
|
github.com/ncruces/go-sqlite3 v0.21.3
|
||||||
gorm.io/gorm v1.25.12
|
gorm.io/gorm v1.25.12
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -14,6 +14,6 @@ require (
|
|||||||
github.com/jinzhu/now v1.1.5 // indirect
|
github.com/jinzhu/now v1.1.5 // indirect
|
||||||
github.com/ncruces/julianday v1.0.0 // indirect
|
github.com/ncruces/julianday v1.0.0 // indirect
|
||||||
github.com/tetratelabs/wazero v1.8.2 // indirect
|
github.com/tetratelabs/wazero v1.8.2 // indirect
|
||||||
golang.org/x/sys v0.28.0 // indirect
|
golang.org/x/sys v0.29.0 // indirect
|
||||||
golang.org/x/text v0.21.0 // indirect
|
golang.org/x/text v0.21.0 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -2,14 +2,14 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD
|
|||||||
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
|
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
|
||||||
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
|
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
|
||||||
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
|
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
|
||||||
github.com/ncruces/go-sqlite3 v0.21.0 h1:EwKFoy1hHEopN4sFZarmi+McXdbCcbTuLixhEayXVbQ=
|
github.com/ncruces/go-sqlite3 v0.21.3 h1:hHkfNQLcbnxPJZhC/RGw9SwP3bfkv/Y0xUHWsr1CdMQ=
|
||||||
github.com/ncruces/go-sqlite3 v0.21.0/go.mod h1:zxMOaSG5kFYVFK4xQa0pdwIszqxqJ0W0BxBgwdrNjuA=
|
github.com/ncruces/go-sqlite3 v0.21.3/go.mod h1:zxMOaSG5kFYVFK4xQa0pdwIszqxqJ0W0BxBgwdrNjuA=
|
||||||
github.com/ncruces/julianday v1.0.0 h1:fH0OKwa7NWvniGQtxdJRxAgkBMolni2BjDHaWTxqt7M=
|
github.com/ncruces/julianday v1.0.0 h1:fH0OKwa7NWvniGQtxdJRxAgkBMolni2BjDHaWTxqt7M=
|
||||||
github.com/ncruces/julianday v1.0.0/go.mod h1:Dusn2KvZrrovOMJuOt0TNXL6tB7U2E8kvza5fFc9G7g=
|
github.com/ncruces/julianday v1.0.0/go.mod h1:Dusn2KvZrrovOMJuOt0TNXL6tB7U2E8kvza5fFc9G7g=
|
||||||
github.com/tetratelabs/wazero v1.8.2 h1:yIgLR/b2bN31bjxwXHD8a3d+BogigR952csSDdLYEv4=
|
github.com/tetratelabs/wazero v1.8.2 h1:yIgLR/b2bN31bjxwXHD8a3d+BogigR952csSDdLYEv4=
|
||||||
github.com/tetratelabs/wazero v1.8.2/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs=
|
github.com/tetratelabs/wazero v1.8.2/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs=
|
||||||
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
|
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
|
||||||
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
|
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
|
||||||
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
||||||
gorm.io/gorm v1.25.12 h1:I0u8i2hWQItBq1WfE0o2+WuL9+8L21K9e2HHSTE/0f8=
|
gorm.io/gorm v1.25.12 h1:I0u8i2hWQItBq1WfE0o2+WuL9+8L21K9e2HHSTE/0f8=
|
||||||
|
|||||||
@@ -7,14 +7,18 @@ import (
|
|||||||
"github.com/tetratelabs/wazero"
|
"github.com/tetratelabs/wazero"
|
||||||
|
|
||||||
"github.com/ncruces/go-sqlite3"
|
"github.com/ncruces/go-sqlite3"
|
||||||
|
"github.com/ncruces/go-sqlite3/internal/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
// notest
|
// notest
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
sqlite3.RuntimeConfig = wazero.NewRuntimeConfig().
|
if util.CompilerSupported() {
|
||||||
WithMemoryLimitPages(512)
|
sqlite3.RuntimeConfig = wazero.NewRuntimeConfigCompiler()
|
||||||
|
} else {
|
||||||
|
sqlite3.RuntimeConfig = wazero.NewRuntimeConfigInterpreter()
|
||||||
|
}
|
||||||
|
sqlite3.RuntimeConfig = sqlite3.RuntimeConfig.WithMemoryLimitPages(512)
|
||||||
if os.Getenv("CI") != "" {
|
if os.Getenv("CI") != "" {
|
||||||
path := filepath.Join(os.TempDir(), "wazero")
|
path := filepath.Join(os.TempDir(), "wazero")
|
||||||
if err := os.MkdirAll(path, 0777); err == nil {
|
if err := os.MkdirAll(path, 0777); err == nil {
|
||||||
|
|||||||
27
internal/util/compiler.go
Normal file
27
internal/util/compiler.go
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
package util
|
||||||
|
|
||||||
|
import (
|
||||||
|
"runtime"
|
||||||
|
|
||||||
|
"golang.org/x/sys/cpu"
|
||||||
|
)
|
||||||
|
|
||||||
|
func CompilerSupported() bool {
|
||||||
|
switch runtime.GOOS {
|
||||||
|
case "linux", "android",
|
||||||
|
"windows", "darwin",
|
||||||
|
"freebsd", "netbsd", "dragonfly",
|
||||||
|
"solaris", "illumos":
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
switch runtime.GOARCH {
|
||||||
|
case "amd64":
|
||||||
|
return cpu.X86.HasSSE41
|
||||||
|
case "arm64":
|
||||||
|
return true
|
||||||
|
default:
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
13
sqlite.go
13
sqlite.go
@@ -11,7 +11,6 @@ import (
|
|||||||
|
|
||||||
"github.com/tetratelabs/wazero"
|
"github.com/tetratelabs/wazero"
|
||||||
"github.com/tetratelabs/wazero/api"
|
"github.com/tetratelabs/wazero/api"
|
||||||
"github.com/tetratelabs/wazero/experimental"
|
|
||||||
|
|
||||||
"github.com/ncruces/go-sqlite3/internal/util"
|
"github.com/ncruces/go-sqlite3/internal/util"
|
||||||
"github.com/ncruces/go-sqlite3/vfs"
|
"github.com/ncruces/go-sqlite3/vfs"
|
||||||
@@ -49,14 +48,18 @@ func compileSQLite() {
|
|||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
cfg := RuntimeConfig
|
cfg := RuntimeConfig
|
||||||
if cfg == nil {
|
if cfg == nil {
|
||||||
cfg = wazero.NewRuntimeConfig()
|
if util.CompilerSupported() {
|
||||||
if bits.UintSize >= 64 {
|
cfg = wazero.NewRuntimeConfigCompiler()
|
||||||
cfg = cfg.WithMemoryLimitPages(4096) // 256MB
|
|
||||||
} else {
|
} else {
|
||||||
|
cfg = wazero.NewRuntimeConfigInterpreter()
|
||||||
|
}
|
||||||
|
if bits.UintSize < 64 {
|
||||||
cfg = cfg.WithMemoryLimitPages(512) // 32MB
|
cfg = cfg.WithMemoryLimitPages(512) // 32MB
|
||||||
|
} else {
|
||||||
|
cfg = cfg.WithMemoryLimitPages(4096) // 256MB
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cfg = cfg.WithCoreFeatures(api.CoreFeaturesV2 | experimental.CoreFeaturesThreads)
|
cfg = cfg.WithCoreFeatures(api.CoreFeaturesV2)
|
||||||
|
|
||||||
instance.runtime = wazero.NewRuntimeWithConfig(ctx, cfg)
|
instance.runtime = wazero.NewRuntimeWithConfig(ctx, cfg)
|
||||||
|
|
||||||
|
|||||||
@@ -31,8 +31,6 @@ import (
|
|||||||
//go:embed testdata/*
|
//go:embed testdata/*
|
||||||
var scripts embed.FS
|
var scripts embed.FS
|
||||||
|
|
||||||
const qemuCI = runtime.GOARCH != "386" && runtime.GOARCH != "amd64" && runtime.GOARCH != "arm64"
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
rt wazero.Runtime
|
rt wazero.Runtime
|
||||||
module wazero.CompiledModule
|
module wazero.CompiledModule
|
||||||
@@ -155,8 +153,8 @@ func Test_crash01(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_multiwrite01(t *testing.T) {
|
func Test_multiwrite01(t *testing.T) {
|
||||||
if os.Getenv("CI") != "" && qemuCI {
|
if testing.Short() && os.Getenv("CI") != "" {
|
||||||
t.Skip("skipping in CI")
|
t.Skip("skipping in slow CI")
|
||||||
}
|
}
|
||||||
if !vfs.SupportsFileLocking {
|
if !vfs.SupportsFileLocking {
|
||||||
t.Skip("skipping without locks")
|
t.Skip("skipping without locks")
|
||||||
@@ -185,8 +183,8 @@ func Test_config01_memory(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_multiwrite01_memory(t *testing.T) {
|
func Test_multiwrite01_memory(t *testing.T) {
|
||||||
if os.Getenv("CI") != "" && qemuCI {
|
if testing.Short() && os.Getenv("CI") != "" {
|
||||||
t.Skip("skipping in CI")
|
t.Skip("skipping in slow CI")
|
||||||
}
|
}
|
||||||
|
|
||||||
memdb.Create("test.db", nil)
|
memdb.Create("test.db", nil)
|
||||||
@@ -220,8 +218,8 @@ func Test_crash01_wal(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_multiwrite01_wal(t *testing.T) {
|
func Test_multiwrite01_wal(t *testing.T) {
|
||||||
if os.Getenv("CI") != "" && qemuCI {
|
if testing.Short() && os.Getenv("CI") != "" {
|
||||||
t.Skip("skipping in CI")
|
t.Skip("skipping in slow CI")
|
||||||
}
|
}
|
||||||
if !vfs.SupportsSharedMemory {
|
if !vfs.SupportsSharedMemory {
|
||||||
t.Skip("skipping without shared memory")
|
t.Skip("skipping without shared memory")
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ WASI_SDK="$ROOT/tools/wasi-sdk/bin"
|
|||||||
"$WASI_SDK/clang" --target=wasm32-wasi -std=c23 -g0 -O2 \
|
"$WASI_SDK/clang" --target=wasm32-wasi -std=c23 -g0 -O2 \
|
||||||
-o mptest.wasm main.c \
|
-o mptest.wasm main.c \
|
||||||
-I"$ROOT/sqlite3" \
|
-I"$ROOT/sqlite3" \
|
||||||
-matomics -msimd128 -mmutable-globals -mmultivalue \
|
-msimd128 -mmutable-globals -mmultivalue \
|
||||||
-mbulk-memory -mreference-types \
|
-mbulk-memory -mreference-types \
|
||||||
-mnontrapping-fptoint -msign-ext \
|
-mnontrapping-fptoint -msign-ext \
|
||||||
-fno-stack-protector -fno-stack-clash-protection \
|
-fno-stack-protector -fno-stack-clash-protection \
|
||||||
|
|||||||
Binary file not shown.
@@ -10,7 +10,7 @@ WASI_SDK="$ROOT/tools/wasi-sdk/bin"
|
|||||||
"$WASI_SDK/clang" --target=wasm32-wasi -std=c23 -g0 -O2 \
|
"$WASI_SDK/clang" --target=wasm32-wasi -std=c23 -g0 -O2 \
|
||||||
-o speedtest1.wasm main.c \
|
-o speedtest1.wasm main.c \
|
||||||
-I"$ROOT/sqlite3" \
|
-I"$ROOT/sqlite3" \
|
||||||
-matomics -msimd128 -mmutable-globals -mmultivalue \
|
-msimd128 -mmutable-globals -mmultivalue \
|
||||||
-mbulk-memory -mreference-types \
|
-mbulk-memory -mreference-types \
|
||||||
-mnontrapping-fptoint -msign-ext \
|
-mnontrapping-fptoint -msign-ext \
|
||||||
-fno-stack-protector -fno-stack-clash-protection \
|
-fno-stack-protector -fno-stack-clash-protection \
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user