diff --git a/api/envoy/extensions/wasm/v3/wasm.proto b/api/envoy/extensions/wasm/v3/wasm.proto
index 54ef437cbaf7e..58b7b57c489d0 100644
--- a/api/envoy/extensions/wasm/v3/wasm.proto
+++ b/api/envoy/extensions/wasm/v3/wasm.proto
@@ -50,7 +50,7 @@ message VmConfig {
string vm_id = 1;
// The Wasm runtime type, defaults to the first available Wasm engine used at Envoy build-time.
- // The priority to search for the available engine is: v8 -> wasmtime -> wamr -> wavm.
+ // The priority to search for the available engine is: v8 -> wasmtime -> wamr.
// Available Wasm runtime types are registered as extensions. The following runtimes are included
// in Envoy code base:
//
@@ -68,11 +68,6 @@ message VmConfig {
// **envoy.wasm.runtime.wamr**: `WAMR `_-based WebAssembly runtime.
// This runtime is not enabled in the official build.
//
- // .. _extension_envoy.wasm.runtime.wavm:
- //
- // **envoy.wasm.runtime.wavm**: `WAVM `_-based WebAssembly runtime.
- // This runtime is not enabled in the official build.
- //
// .. _extension_envoy.wasm.runtime.wasmtime:
//
// **envoy.wasm.runtime.wasmtime**: `Wasmtime `_-based WebAssembly runtime.
diff --git a/bazel/BUILD b/bazel/BUILD
index 19578ec3c59e7..c4749d3140d37 100644
--- a/bazel/BUILD
+++ b/bazel/BUILD
@@ -497,12 +497,6 @@ config_setting(
values = {"define": "zlib=ng"},
)
-# TODO: consider converting WAVM VM support to an extension (https://github.com/envoyproxy/envoy/issues/12574)
-config_setting(
- name = "wasm_wavm",
- values = {"define": "wasm=wavm"},
-)
-
config_setting(
name = "wasm_v8",
values = {"define": "wasm=v8"},
diff --git a/bazel/README.md b/bazel/README.md
index 03a8008bcf05c..02ad261e62b61 100644
--- a/bazel/README.md
+++ b/bazel/README.md
@@ -738,7 +738,6 @@ To enable a specific WebAssembly (Wasm) engine, you'll need to pass `--define wa
* `v8` (the default included engine)
* `wamr`
* `wasmtime`
-* `wavm`
If you're building from a custom build repository, the parameters need to prefixed with `@envoy`, for example
`--@envoy//source/extensions/filters/http/kill_request:enabled`.
diff --git a/bazel/envoy_build_system.bzl b/bazel/envoy_build_system.bzl
index 90fd023733b28..604e9f86bc616 100644
--- a/bazel/envoy_build_system.bzl
+++ b/bazel/envoy_build_system.bzl
@@ -38,7 +38,6 @@ load(
_envoy_select_wasm_v8 = "envoy_select_wasm_v8",
_envoy_select_wasm_wamr = "envoy_select_wasm_wamr",
_envoy_select_wasm_wasmtime = "envoy_select_wasm_wasmtime",
- _envoy_select_wasm_wavm = "envoy_select_wasm_wavm",
)
load(
":envoy_test.bzl",
@@ -252,7 +251,6 @@ envoy_select_wasm_cpp_tests = _envoy_select_wasm_cpp_tests
envoy_select_wasm_rust_tests = _envoy_select_wasm_rust_tests
envoy_select_wasm_v8 = _envoy_select_wasm_v8
envoy_select_wasm_wamr = _envoy_select_wasm_wamr
-envoy_select_wasm_wavm = _envoy_select_wasm_wavm
envoy_select_wasm_wasmtime = _envoy_select_wasm_wasmtime
envoy_select_linkstatic = _envoy_linkstatic
diff --git a/bazel/envoy_select.bzl b/bazel/envoy_select.bzl
index 87d5c71eefa23..8caee534fab4f 100644
--- a/bazel/envoy_select.bzl
+++ b/bazel/envoy_select.bzl
@@ -154,7 +154,6 @@ def envoy_select_wasm_v8(xs):
"@envoy//bazel:wasm_v8": xs,
"@envoy//bazel:wasm_wamr": [],
"@envoy//bazel:wasm_wasmtime": [],
- "@envoy//bazel:wasm_wavm": [],
"@envoy//bazel:wasm_disabled": [],
# TODO(phlax): re-enable once issues with llvm profiler are resolved
# (see https://github.com/envoyproxy/envoy/issues/24164)
@@ -168,7 +167,6 @@ def envoy_select_wasm_v8_bool():
"@envoy//bazel:wasm_v8": True,
"@envoy//bazel:wasm_wamr": False,
"@envoy//bazel:wasm_wasmtime": False,
- "@envoy//bazel:wasm_wavm": False,
"@envoy//bazel:wasm_disabled": False,
# TODO(phlax): re-enable once issues with llvm profiler are resolved
# (see https://github.com/envoyproxy/envoy/issues/24164)
@@ -183,13 +181,6 @@ def envoy_select_wasm_wamr(xs):
"//conditions:default": [],
})
-# Selects the given values depending on the Wasm runtimes enabled in the current build.
-def envoy_select_wasm_wavm(xs):
- return select({
- "@envoy//bazel:wasm_wavm": xs,
- "//conditions:default": [],
- })
-
# Selects the given values depending on the Wasm runtimes enabled in the current build.
def envoy_select_wasm_wasmtime(xs):
return select({
diff --git a/bazel/foreign_cc/BUILD b/bazel/foreign_cc/BUILD
index d80b6b2182937..b863192e58a7d 100644
--- a/bazel/foreign_cc/BUILD
+++ b/bazel/foreign_cc/BUILD
@@ -349,133 +349,6 @@ envoy_cmake(
}),
)
-envoy_cmake(
- name = "llvm",
- cache_entries = {
- # Disable both: BUILD and INCLUDE, since some of the INCLUDE
- # targets build code instead of only generating build files.
- "LLVM_BUILD_BENCHMARKS": "off",
- "LLVM_INCLUDE_BENCHMARKS": "off",
- "LLVM_BUILD_DOCS": "off",
- "LLVM_INCLUDE_DOCS": "off",
- "LLVM_BUILD_EXAMPLES": "off",
- "LLVM_INCLUDE_EXAMPLES": "off",
- "LLVM_BUILD_RUNTIME": "off",
- "LLVM_BUILD_RUNTIMES": "off",
- "LLVM_INCLUDE_RUNTIMES": "off",
- "LLVM_BUILD_TESTS": "off",
- "LLVM_INCLUDE_TESTS": "off",
- "LLVM_BUILD_TOOLS": "off",
- "LLVM_INCLUDE_TOOLS": "off",
- "LLVM_BUILD_UTILS": "off",
- "LLVM_INCLUDE_UTILS": "off",
- "LLVM_ENABLE_IDE": "off",
- "LLVM_ENABLE_LIBEDIT": "off",
- "LLVM_ENABLE_LIBXML2": "off",
- "LLVM_ENABLE_TERMINFO": "off",
- "LLVM_ENABLE_ZLIB": "off",
- "LLVM_TARGETS_TO_BUILD": "X86",
- "CMAKE_CXX_COMPILER_FORCED": "on",
- # Workaround for the issue with statically linked libstdc++
- # using -l:libstdc++.a.
- "CMAKE_CXX_FLAGS": "-lstdc++",
- },
- env = {
- # Workaround for the -DDEBUG flag added in fastbuild on macOS,
- # which conflicts with DEBUG macro used in LLVM.
- "CFLAGS": "-UDEBUG",
- "CXXFLAGS": "-UDEBUG",
- "ASMFLAGS": "-UDEBUG",
- },
- lib_source = "@org_llvm_llvm//:all",
- out_static_libs = select({
- "//conditions:default": [
- # This list must be updated when the bazel llvm version is updated
- # (in `bazel/repository_locations.bzl`)
- #
- # The list can be regenerated by compiling the correct/updated llvm version
- # from sources and running:
- #
- # `llvm-config --libnames`
- #
- "libLLVMWindowsManifest.a",
- "libLLVMXRay.a",
- "libLLVMLibDriver.a",
- "libLLVMDlltoolDriver.a",
- "libLLVMCoverage.a",
- "libLLVMLineEditor.a",
- "libLLVMX86Disassembler.a",
- "libLLVMX86AsmParser.a",
- "libLLVMX86CodeGen.a",
- "libLLVMX86Desc.a",
- "libLLVMX86Info.a",
- "libLLVMOrcJIT.a",
- "libLLVMMCJIT.a",
- "libLLVMJITLink.a",
- "libLLVMOrcTargetProcess.a",
- "libLLVMOrcShared.a",
- "libLLVMInterpreter.a",
- "libLLVMExecutionEngine.a",
- "libLLVMRuntimeDyld.a",
- "libLLVMSymbolize.a",
- "libLLVMDebugInfoPDB.a",
- "libLLVMDebugInfoGSYM.a",
- "libLLVMOption.a",
- "libLLVMObjectYAML.a",
- "libLLVMMCA.a",
- "libLLVMMCDisassembler.a",
- "libLLVMLTO.a",
- "libLLVMPasses.a",
- "libLLVMCFGuard.a",
- "libLLVMCoroutines.a",
- "libLLVMObjCARCOpts.a",
- "libLLVMHelloNew.a",
- "libLLVMipo.a",
- "libLLVMVectorize.a",
- "libLLVMLinker.a",
- "libLLVMInstrumentation.a",
- "libLLVMFrontendOpenMP.a",
- "libLLVMFrontendOpenACC.a",
- "libLLVMExtensions.a",
- "libLLVMDWARFLinker.a",
- "libLLVMGlobalISel.a",
- "libLLVMMIRParser.a",
- "libLLVMAsmPrinter.a",
- "libLLVMDebugInfoDWARF.a",
- "libLLVMSelectionDAG.a",
- "libLLVMCodeGen.a",
- "libLLVMIRReader.a",
- "libLLVMAsmParser.a",
- "libLLVMInterfaceStub.a",
- "libLLVMFileCheck.a",
- "libLLVMFuzzMutate.a",
- "libLLVMTarget.a",
- "libLLVMScalarOpts.a",
- "libLLVMInstCombine.a",
- "libLLVMAggressiveInstCombine.a",
- "libLLVMTransformUtils.a",
- "libLLVMBitWriter.a",
- "libLLVMAnalysis.a",
- "libLLVMProfileData.a",
- "libLLVMObject.a",
- "libLLVMTextAPI.a",
- "libLLVMMCParser.a",
- "libLLVMMC.a",
- "libLLVMDebugInfoCodeView.a",
- "libLLVMDebugInfoMSF.a",
- "libLLVMBitReader.a",
- "libLLVMCore.a",
- "libLLVMRemarks.a",
- "libLLVMBitstreamReader.a",
- "libLLVMBinaryFormat.a",
- "libLLVMSupport.a",
- "libLLVMDemangle.a",
- ],
- }),
- tags = ["skip_on_windows"],
- alwayslink = True,
-)
-
envoy_cmake(
name = "nghttp2",
cache_entries = {
@@ -522,36 +395,6 @@ envoy_cmake(
tags = ["skip_on_windows"],
)
-envoy_cmake(
- name = "wavm",
- cache_entries = {
- "LLVM_DIR": "$EXT_BUILD_DEPS/copy_llvm/llvm/lib/cmake/llvm",
- "WAVM_ENABLE_STATIC_LINKING": "on",
- "WAVM_ENABLE_RELEASE_ASSERTS": "on",
- "WAVM_ENABLE_UNWIND": "on",
- # Workaround for the issue with statically linked libstdc++
- # using -l:libstdc++.a.
- "CMAKE_CXX_FLAGS": "-lstdc++ -Wno-unused-command-line-argument",
- },
- env = {
- # Workaround for the -DDEBUG flag added in fastbuild on macOS,
- # which conflicts with DEBUG macro used in LLVM.
- "CFLAGS": "-UDEBUG",
- "CXXFLAGS": "-UDEBUG -Wno-error=unused-but-set-variable",
- "ASMFLAGS": "-UDEBUG",
- },
- lib_source = "@com_github_wavm_wavm//:all",
- out_binaries = ["wavm"],
- out_static_libs = select({
- "//conditions:default": [
- "libWAVM.a",
- "libWAVMUnwind.a",
- ],
- }),
- tags = ["skip_on_windows"],
- deps = [":llvm"],
-)
-
envoy_cmake(
name = "zlib",
cache_entries = {
diff --git a/bazel/foreign_cc/llvm.patch b/bazel/foreign_cc/llvm.patch
deleted file mode 100644
index cd02f28424017..0000000000000
--- a/bazel/foreign_cc/llvm.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-# Workaround for Envoy's CMAKE_BUILD_TYPE=Bazel.
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -247,7 +247,7 @@
- string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
-
- if (CMAKE_BUILD_TYPE AND
-- NOT uppercase_CMAKE_BUILD_TYPE MATCHES "^(DEBUG|RELEASE|RELWITHDEBINFO|MINSIZEREL)$")
-+ NOT uppercase_CMAKE_BUILD_TYPE MATCHES "^(DEBUG|RELEASE|RELWITHDEBINFO|MINSIZEREL|BAZEL)$")
- message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
- endif()
-
-# Workaround for a missing -fuse-ld flag in CXXFLAGS, which results in
-# different linkers being used during configure and compilation phases.
---- a/cmake/modules/HandleLLVMOptions.cmake
-+++ b/cmake/modules/HandleLLVMOptions.cmake
-@@ -718,8 +718,6 @@ endif()
- if (UNIX AND CMAKE_GENERATOR STREQUAL "Ninja")
- include(CheckLinkerFlag)
- check_linker_flag("-Wl,--color-diagnostics" LINKER_SUPPORTS_COLOR_DIAGNOSTICS)
-- append_if(LINKER_SUPPORTS_COLOR_DIAGNOSTICS "-Wl,--color-diagnostics"
-- CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
- endif()
-
- # Add flags for add_dead_strip().
diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl
index bec5940badf38..76ecae835286b 100644
--- a/bazel/repositories.bzl
+++ b/bazel/repositories.bzl
@@ -382,9 +382,7 @@ def envoy_dependencies(skip_targets = []):
_rust_deps()
_kafka_deps()
- _org_llvm_llvm()
_com_github_wamr()
- _com_github_wavm_wavm()
_com_github_wasmtime()
_com_github_wasm_c_api()
@@ -1359,18 +1357,6 @@ def _com_github_gperftools_gperftools():
actual = "@envoy//bazel/foreign_cc:gperftools",
)
-def _org_llvm_llvm():
- external_http_archive(
- name = "org_llvm_llvm",
- build_file_content = BUILD_ALL_CONTENT,
- patch_args = ["-p1"],
- patches = ["@envoy//bazel/foreign_cc:llvm.patch"],
- )
- native.bind(
- name = "llvm",
- actual = "@envoy//bazel/foreign_cc:llvm",
- )
-
def _com_github_wamr():
external_http_archive(
name = "com_github_wamr",
@@ -1381,16 +1367,6 @@ def _com_github_wamr():
actual = "@envoy//bazel/foreign_cc:wamr",
)
-def _com_github_wavm_wavm():
- external_http_archive(
- name = "com_github_wavm_wavm",
- build_file_content = BUILD_ALL_CONTENT,
- )
- native.bind(
- name = "wavm",
- actual = "@envoy//bazel/foreign_cc:wavm",
- )
-
def _com_github_wasmtime():
external_http_archive(
name = "com_github_wasmtime",
diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl
index 5c15f4e87db34..6d338a347f28d 100644
--- a/bazel/repository_locations.bzl
+++ b/bazel/repository_locations.bzl
@@ -1059,26 +1059,6 @@ REPOSITORY_LOCATIONS_SPEC = dict(
license = "Apache-2.0",
license_url = "https://github.com/bazelbuild/rules_pkg/blob/{version}/LICENSE",
),
- org_llvm_llvm = dict(
- # When changing this, you must re-generate the list of llvm libs
- # see `bazel/foreign_cc/BUILD` for further information.
- project_name = "LLVM",
- project_desc = "LLVM Compiler Infrastructure",
- project_url = "https://llvm.org",
- version = "12.0.1",
- sha256 = "7d9a8405f557cefc5a21bf5672af73903b64749d9bc3a50322239f56f34ffddf",
- strip_prefix = "llvm-{version}.src",
- urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/llvm-{version}.src.tar.xz"],
- release_date = "2021-07-09",
- use_category = ["dataplane_ext"],
- extensions = [
- "envoy.wasm.runtime.wamr",
- "envoy.wasm.runtime.wavm",
- ],
- cpe = "cpe:2.3:a:llvm:*:*",
- license = "Apache-2.0",
- license_url = "https://github.com/llvm/llvm-project/blob/llvmorg-{version}/llvm/LICENSE.TXT",
- ),
com_github_wamr = dict(
project_name = "Webassembly Micro Runtime",
project_desc = "A standalone runtime with a small footprint for WebAssembly",
@@ -1094,19 +1074,6 @@ REPOSITORY_LOCATIONS_SPEC = dict(
license = "Apache-2.0",
license_url = "https://github.com/bytecodealliance/wasm-micro-runtime/blob/{version}/LICENSE",
),
- com_github_wavm_wavm = dict(
- project_name = "WAVM",
- project_desc = "WebAssembly Virtual Machine",
- project_url = "https://wavm.github.io",
- version = "3f9a150cac7faf28eab357a2c5b83d2ec740c7d9",
- sha256 = "82e05ade03fdac60cf863972d3e7420a771ef4a18afad26ac442554ab0be1207",
- strip_prefix = "WAVM-{version}",
- urls = ["https://github.com/WAVM/WAVM/archive/{version}.tar.gz"],
- release_date = "2022-05-14",
- use_category = ["dataplane_ext"],
- extensions = ["envoy.wasm.runtime.wavm"],
- cpe = "cpe:2.3:a:webassembly_virtual_machine_project:webassembly_virtual_machine:*",
- ),
com_github_wasmtime = dict(
project_name = "wasmtime",
project_desc = "A standalone runtime for WebAssembly",
@@ -1417,7 +1384,6 @@ REPOSITORY_LOCATIONS_SPEC = dict(
"envoy.wasm.runtime.null",
"envoy.wasm.runtime.v8",
"envoy.wasm.runtime.wamr",
- "envoy.wasm.runtime.wavm",
"envoy.wasm.runtime.wasmtime",
],
release_date = "2023-05-01",
@@ -1443,7 +1409,6 @@ REPOSITORY_LOCATIONS_SPEC = dict(
"envoy.wasm.runtime.null",
"envoy.wasm.runtime.v8",
"envoy.wasm.runtime.wamr",
- "envoy.wasm.runtime.wavm",
"envoy.wasm.runtime.wasmtime",
],
release_date = "2023-12-19",
diff --git a/ci/do_ci.sh b/ci/do_ci.sh
index 1c04c4250292c..2cecbff3f793a 100755
--- a/ci/do_ci.sh
+++ b/ci/do_ci.sh
@@ -427,21 +427,12 @@ case $CI_TARGET in
"${TEST_TARGETS[@]}" \
--test_tag_filters=-nofips \
--build_tests_only
- echo "Building and testing with wasm=wavm: ${TEST_TARGETS[*]}"
- bazel_with_collection \
- test "${BAZEL_BUILD_OPTIONS[@]}" \
- --config=compile-time-options \
- --define wasm=wavm \
- -c fastbuild \
- "${TEST_TARGETS[@]}" \
- --test_tag_filters=-nofips \
- --build_tests_only
# "--define log_debug_assert_in_release=enabled" must be tested with a release build, so run only
# these tests under "-c opt" to save time in CI.
bazel_with_collection \
test "${BAZEL_BUILD_OPTIONS[@]}" \
--config=compile-time-options \
- --define wasm=wavm \
+ --define wasm=wasmtime \
-c opt \
@envoy//test/common/common:assert_test \
@envoy//test/server:server_test
@@ -449,15 +440,15 @@ case $CI_TARGET in
bazel_with_collection \
test "${BAZEL_BUILD_OPTIONS[@]}" \
--config=compile-time-options \
- --define wasm=wavm \
+ --define wasm=wamtime \
-c opt \
@envoy//test/common/common:assert_test \
--define log_fast_debug_assert_in_release=enabled \
--define log_debug_assert_in_release=disabled
- echo "Building binary with wasm=wavm... and logging disabled"
+ echo "Building binary with wasm=wasmtime... and logging disabled"
bazel build "${BAZEL_BUILD_OPTIONS[@]}" \
--config=compile-time-options \
- --define wasm=wavm \
+ --define wasm=wasmtime \
--define enable_logging=disabled \
-c fastbuild \
@envoy//source/exe:envoy-static \
diff --git a/docs/root/configuration/other_features/wasm.rst b/docs/root/configuration/other_features/wasm.rst
index f34146e68138e..25c23c7ccf6e3 100644
--- a/docs/root/configuration/other_features/wasm.rst
+++ b/docs/root/configuration/other_features/wasm.rst
@@ -12,10 +12,9 @@ The following runtimes are supported by Envoy:
envoy.wasm.runtime.v8, "`V8 `_-based runtime"
envoy.wasm.runtime.wamr, "`WAMR `_ runtime"
envoy.wasm.runtime.wasmtime, "`Wasmtime `_ runtime"
- envoy.wasm.runtime.wavm, "`WAVM `_ runtime"
envoy.wasm.runtime.null, "Compiled modules linked into Envoy"
-WAMR(WASM-Micro-Runtime), Wasmtime and WAVM runtimes are not included in Envoy release image by default.
+WAMR(WASM-Micro-Runtime), Wasmtime runtime is not included in Envoy release image by default.
Wasm runtime emits the following statistics:
diff --git a/source/extensions/common/wasm/wasm_vm.cc b/source/extensions/common/wasm/wasm_vm.cc
index fc225eb3045ba..aaf20e95569a7 100644
--- a/source/extensions/common/wasm/wasm_vm.cc
+++ b/source/extensions/common/wasm/wasm_vm.cc
@@ -79,8 +79,7 @@ bool isWasmEngineAvailable(absl::string_view runtime) {
absl::string_view getFirstAvailableWasmEngineName() {
constexpr absl::string_view wasm_engines[] = {
- "envoy.wasm.runtime.v8", "envoy.wasm.runtime.wasmtime", "envoy.wasm.runtime.wamr",
- "envoy.wasm.runtime.wavm"};
+ "envoy.wasm.runtime.v8", "envoy.wasm.runtime.wasmtime", "envoy.wasm.runtime.wamr"};
for (const auto wasm_engine : wasm_engines) {
if (isWasmEngineAvailable(wasm_engine)) {
return wasm_engine;
diff --git a/source/extensions/common/wasm/wasm_vm.h b/source/extensions/common/wasm/wasm_vm.h
index 139d06c87f690..e347428e1155d 100644
--- a/source/extensions/common/wasm/wasm_vm.h
+++ b/source/extensions/common/wasm/wasm_vm.h
@@ -38,7 +38,8 @@ class WasmException : public EnvoyException {
using WasmVmPtr = std::unique_ptr;
-// Create a new low-level Wasm VM using runtime of the given type (e.g. "envoy.wasm.runtime.wavm").
+// Create a new low-level Wasm VM using runtime of the given type (e.g.
+// "envoy.wasm.runtime.wasmtime").
WasmVmPtr createWasmVm(absl::string_view runtime);
/**
diff --git a/source/extensions/extensions_build_config.bzl b/source/extensions/extensions_build_config.bzl
index a3fa5c9831e2d..1425006ffaf4d 100644
--- a/source/extensions/extensions_build_config.bzl
+++ b/source/extensions/extensions_build_config.bzl
@@ -348,7 +348,6 @@ EXTENSIONS = {
"envoy.wasm.runtime.null": "//source/extensions/wasm_runtime/null:config",
"envoy.wasm.runtime.v8": "//source/extensions/wasm_runtime/v8:config",
"envoy.wasm.runtime.wamr": "//source/extensions/wasm_runtime/wamr:config",
- "envoy.wasm.runtime.wavm": "//source/extensions/wasm_runtime/wavm:config",
"envoy.wasm.runtime.wasmtime": "//source/extensions/wasm_runtime/wasmtime:config",
#
diff --git a/source/extensions/extensions_metadata.yaml b/source/extensions/extensions_metadata.yaml
index 771ae0f999c3a..88957f155d5e5 100644
--- a/source/extensions/extensions_metadata.yaml
+++ b/source/extensions/extensions_metadata.yaml
@@ -1354,14 +1354,6 @@ envoy.wasm.runtime.wasmtime:
# is updated to capture additional Wasm runtimes".
security_posture: unknown
status: alpha
-envoy.wasm.runtime.wavm:
- categories:
- - envoy.wasm.runtime
- # "This may never change from unknown until the threat model at
- # https://envoyproxy.io/docs/envoy/latest/intro/arch_overview/security/threat_model#core-and-extensions
- # is updated to capture additional Wasm runtimes".
- security_posture: unknown
- status: alpha
envoy.watchdog.profile_action:
categories:
- envoy.guarddog_actions
diff --git a/source/extensions/wasm_runtime/wavm/BUILD b/source/extensions/wasm_runtime/wavm/BUILD
deleted file mode 100644
index fa65a029b17b4..0000000000000
--- a/source/extensions/wasm_runtime/wavm/BUILD
+++ /dev/null
@@ -1,21 +0,0 @@
-load(
- "//bazel:envoy_build_system.bzl",
- "envoy_cc_extension",
- "envoy_extension_package",
-)
-load("//bazel:envoy_select.bzl", "envoy_select_wasm_wavm")
-
-licenses(["notice"]) # Apache 2
-
-envoy_extension_package()
-
-envoy_cc_extension(
- name = "config",
- srcs = envoy_select_wasm_wavm(["config.cc"]),
- deps = envoy_select_wasm_wavm([
- "//envoy/registry",
- "//source/extensions/common/wasm:wasm_runtime_factory_interface",
- "@proxy_wasm_cpp_host//:base_lib",
- "@proxy_wasm_cpp_host//:wavm_lib",
- ]),
-)
diff --git a/source/extensions/wasm_runtime/wavm/config.cc b/source/extensions/wasm_runtime/wavm/config.cc
deleted file mode 100644
index c2b3d93a29e42..0000000000000
--- a/source/extensions/wasm_runtime/wavm/config.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "envoy/registry/registry.h"
-
-#include "source/extensions/common/wasm/wasm_runtime_factory.h"
-
-#include "include/proxy-wasm/wavm.h"
-
-namespace Envoy {
-namespace Extensions {
-namespace Common {
-namespace Wasm {
-
-class WavmRuntimeFactory : public WasmRuntimeFactory {
-public:
- WasmVmPtr createWasmVm() override { return proxy_wasm::createWavmVm(); }
-
- std::string name() const override { return "envoy.wasm.runtime.wavm"; }
-};
-
-#if defined(PROXY_WASM_HAS_RUNTIME_WAVM)
-REGISTER_FACTORY(WavmRuntimeFactory, WasmRuntimeFactory);
-#endif
-
-} // namespace Wasm
-} // namespace Common
-} // namespace Extensions
-} // namespace Envoy
diff --git a/test/extensions/bootstrap/wasm/wasm_speed_test.cc b/test/extensions/bootstrap/wasm/wasm_speed_test.cc
index aaadd74ba6e21..2c1333fbb8a39 100644
--- a/test/extensions/bootstrap/wasm/wasm_speed_test.cc
+++ b/test/extensions/bootstrap/wasm/wasm_speed_test.cc
@@ -91,12 +91,6 @@ static void bmWasmSimpleCallSpeedTest(benchmark::State& state, std::string test,
std::string("null")); \
BENCHMARK_CAPTURE(bmWasmSimpleCallSpeedTest, WasmSpeedTest_##_t, std::string(#_t), \
std::string("wamr"));
-#elif defined(PROXY_WASM_HAS_RUNTIME_WAVM)
-#define B(_t) \
- BENCHMARK_CAPTURE(bmWasmSimpleCallSpeedTest, NullSpeedTest_##_t, std::string(#_t), \
- std::string("null")); \
- BENCHMARK_CAPTURE(bmWasmSimpleCallSpeedTest, WasmSpeedTest_##_t, std::string(#_t), \
- std::string("wavm"));
#elif defined(PROXY_WASM_HAS_RUNTIME_WASMTIME)
#define B(_t) \
BENCHMARK_CAPTURE(bmWasmSimpleCallSpeedTest, NullSpeedTest_##_t, std::string(#_t), \
diff --git a/test/extensions/common/wasm/BUILD b/test/extensions/common/wasm/BUILD
index 62daee5c4c169..cbd4bb7ade1e5 100644
--- a/test/extensions/common/wasm/BUILD
+++ b/test/extensions/common/wasm/BUILD
@@ -100,7 +100,6 @@ envoy_cc_test_library(
"//source/extensions/wasm_runtime/v8:config",
"//source/extensions/wasm_runtime/wamr:config",
"//source/extensions/wasm_runtime/wasmtime:config",
- "//source/extensions/wasm_runtime/wavm:config",
],
)
diff --git a/test/extensions/common/wasm/wasm_runtime.cc b/test/extensions/common/wasm/wasm_runtime.cc
index db5ecc6e400b0..e21f9835cea05 100644
--- a/test/extensions/common/wasm/wasm_runtime.cc
+++ b/test/extensions/common/wasm/wasm_runtime.cc
@@ -10,9 +10,6 @@ std::vector sandboxRuntimes() {
#if defined(PROXY_WASM_HAS_RUNTIME_V8)
runtimes.push_back("v8");
#endif
-#if defined(PROXY_WASM_HAS_RUNTIME_WAVM)
- runtimes.push_back("wavm");
-#endif
#if defined(PROXY_WASM_HAS_RUNTIME_WAMR)
runtimes.push_back("wamr");
#endif
diff --git a/test/extensions/filters/http/wasm/BUILD b/test/extensions/filters/http/wasm/BUILD
index 2b4f39eb46314..004163e9c65fe 100644
--- a/test/extensions/filters/http/wasm/BUILD
+++ b/test/extensions/filters/http/wasm/BUILD
@@ -18,7 +18,6 @@ envoy_package()
envoy_extension_cc_test(
name = "wasm_filter_test",
- size = "enormous", # For WAVM without precompilation. TODO: add precompilation.
srcs = ["wasm_filter_test.cc"],
data = envoy_select_wasm_cpp_tests([
"//test/extensions/filters/http/wasm/test_data:test_cpp.wasm",
@@ -55,7 +54,6 @@ envoy_extension_cc_test(
envoy_extension_cc_test(
name = "config_test",
- size = "enormous", # For WAVM without precompilation. TODO: add precompilation.
srcs = ["config_test.cc"],
data = envoy_select_wasm_cpp_tests([
"//test/extensions/filters/http/wasm/test_data:test_cpp.wasm",
diff --git a/test/extensions/filters/http/wasm/test_data/BUILD b/test/extensions/filters/http/wasm/test_data/BUILD
index fe2816d95412f..c9e28cd8de9df 100644
--- a/test/extensions/filters/http/wasm/test_data/BUILD
+++ b/test/extensions/filters/http/wasm/test_data/BUILD
@@ -178,22 +178,3 @@ cc_proto_library(
name = "test_cc_proto",
deps = [":test_proto"],
)
-
-# TODO: FIXME
-#
-#filegroup(
-# name = "wavm_binary",
-# srcs = ["//bazel/foreign_cc:wavm"],
-# output_group = "wavm",
-#)
-#
-#genrule(
-# name = "test_cpp_wavm_compile",
-# srcs = [":test_cpp.wasm"],
-# outs = ["test_cpp.wavm_compiled.wasm"],
-# cmd = "./$(location wavm_binary) compile $(location test_cpp.wasm) $(location test_cpp.wavm_compiled.wasm)",
-# tools = [
-# ":test_cpp.wasm",
-# ":wavm_binary",
-# ],
-#)
diff --git a/test/per_file_coverage.sh b/test/per_file_coverage.sh
index cd8604d486dc0..d34afbad937e3 100755
--- a/test/per_file_coverage.sh
+++ b/test/per_file_coverage.sh
@@ -56,7 +56,6 @@ declare -a KNOWN_LOW_COVERAGE=(
"source/common/tls/private_key:88.9"
"source/extensions/wasm_runtime/wamr:0.0" # Not enabled in coverage build
"source/extensions/wasm_runtime/wasmtime:0.0" # Not enabled in coverage build
-"source/extensions/wasm_runtime/wavm:0.0" # Not enabled in coverage build
"source/extensions/watchdog:83.3" # Death tests within extensions
"source/extensions/listener_managers:70.5"
"source/extensions/listener_managers/validation_listener_manager:70.5"
diff --git a/tools/spelling/spelling_dictionary.txt b/tools/spelling/spelling_dictionary.txt
index 1a1eae3faa568..fb499ae910a46 100644
--- a/tools/spelling/spelling_dictionary.txt
+++ b/tools/spelling/spelling_dictionary.txt
@@ -470,7 +470,6 @@ VM
VPN
WAITFORONE
WASM
-WAVM
WIP
WKT
WRONGPASS