diff options
author | Alon Zakai <azakai@google.com> | 2023-02-03 12:32:25 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-03 12:32:25 -0800 |
commit | 90c726a606cf8f99307a41d8f889de4e1221c4f8 (patch) | |
tree | 8dcecebb36a2aa437a8abbebd8e225aeb4a516cb /src/wasm | |
parent | 42b859f01df94dfffb01258b2305df8ec4d05304 (diff) | |
download | binaryen-90c726a606cf8f99307a41d8f889de4e1221c4f8.tar.gz binaryen-90c726a606cf8f99307a41d8f889de4e1221c4f8.tar.bz2 binaryen-90c726a606cf8f99307a41d8f889de4e1221c4f8.zip |
[Strings] Add experimental string.hash instruction (#5480)
See WebAssembly/stringref#60
Diffstat (limited to 'src/wasm')
-rw-r--r-- | src/wasm/wasm-binary.cpp | 2 | ||||
-rw-r--r-- | src/wasm/wasm-stack.cpp | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 431c39631..b616b5a31 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -7286,6 +7286,8 @@ bool WasmBinaryBuilder::maybeVisitStringMeasure(Expression*& out, op = StringMeasureIsUSV; } else if (code == BinaryConsts::StringViewWTF16Length) { op = StringMeasureWTF16View; + } else if (code == BinaryConsts::StringHash) { + op = StringMeasureHash; } else { return false; } diff --git a/src/wasm/wasm-stack.cpp b/src/wasm/wasm-stack.cpp index a2fba3907..1c12718ce 100644 --- a/src/wasm/wasm-stack.cpp +++ b/src/wasm/wasm-stack.cpp @@ -2338,6 +2338,9 @@ void BinaryInstWriter::visitStringMeasure(StringMeasure* curr) { case StringMeasureWTF16View: o << U32LEB(BinaryConsts::StringViewWTF16Length); break; + case StringMeasureHash: + o << U32LEB(BinaryConsts::StringHash); + break; default: WASM_UNREACHABLE("invalid string.new*"); } |