summaryrefslogtreecommitdiff
path: root/vendor/github.com/tetratelabs/wazero/internal/platform
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/tetratelabs/wazero/internal/platform')
-rw-r--r--vendor/github.com/tetratelabs/wazero/internal/platform/platform.go20
-rw-r--r--vendor/github.com/tetratelabs/wazero/internal/platform/platform_amd64.go7
-rw-r--r--vendor/github.com/tetratelabs/wazero/internal/platform/platform_arm64.go7
3 files changed, 15 insertions, 19 deletions
diff --git a/vendor/github.com/tetratelabs/wazero/internal/platform/platform.go b/vendor/github.com/tetratelabs/wazero/internal/platform/platform.go
index b9af094c1..532cc7b8c 100644
--- a/vendor/github.com/tetratelabs/wazero/internal/platform/platform.go
+++ b/vendor/github.com/tetratelabs/wazero/internal/platform/platform.go
@@ -6,18 +6,28 @@ package platform
import (
"runtime"
-)
-// archRequirementsVerified is set by platform-specific init to true if the platform is supported
-var archRequirementsVerified bool
+ "github.com/tetratelabs/wazero/api"
+ "github.com/tetratelabs/wazero/experimental"
+)
// CompilerSupported includes constraints here and also the assembler.
func CompilerSupported() bool {
+ return CompilerSupports(api.CoreFeaturesV2)
+}
+
+func CompilerSupports(features api.CoreFeatures) bool {
switch runtime.GOOS {
case "linux", "darwin", "freebsd", "netbsd", "dragonfly", "windows":
- return archRequirementsVerified
+ if runtime.GOARCH == "arm64" {
+ if features.IsEnabled(experimental.CoreFeaturesThreads) {
+ return CpuFeatures.Has(CpuFeatureArm64Atomic)
+ }
+ return true
+ }
+ fallthrough
case "solaris", "illumos":
- return runtime.GOARCH == "amd64" && archRequirementsVerified
+ return runtime.GOARCH == "amd64" && CpuFeatures.Has(CpuFeatureAmd64SSE4_1)
default:
return false
}
diff --git a/vendor/github.com/tetratelabs/wazero/internal/platform/platform_amd64.go b/vendor/github.com/tetratelabs/wazero/internal/platform/platform_amd64.go
deleted file mode 100644
index 59aaf5eae..000000000
--- a/vendor/github.com/tetratelabs/wazero/internal/platform/platform_amd64.go
+++ /dev/null
@@ -1,7 +0,0 @@
-package platform
-
-// init verifies that the current CPU supports the required AMD64 instructions
-func init() {
- // Ensure SSE4.1 is supported.
- archRequirementsVerified = CpuFeatures.Has(CpuFeatureAmd64SSE4_1)
-}
diff --git a/vendor/github.com/tetratelabs/wazero/internal/platform/platform_arm64.go b/vendor/github.com/tetratelabs/wazero/internal/platform/platform_arm64.go
deleted file mode 100644
index a8df707c7..000000000
--- a/vendor/github.com/tetratelabs/wazero/internal/platform/platform_arm64.go
+++ /dev/null
@@ -1,7 +0,0 @@
-package platform
-
-// init verifies that the current CPU supports the required ARM64 features
-func init() {
- // Ensure atomic instructions are supported.
- archRequirementsVerified = CpuFeatures.Has(CpuFeatureArm64Atomic)
-}