diff options
author | Alon Zakai <azakai@google.com> | 2023-01-26 16:11:24 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-26 16:11:24 -0800 |
commit | 0e4712f8dbbc43c6c55041e2359f24aa42ae0fdb (patch) | |
tree | d6ad070bb4030ea52e4881de276f8334adb2624d /src/passes/Print.cpp | |
parent | 07362b354b42b3c8cda2eff58fcaa9e74a2b2d18 (diff) | |
download | binaryen-0e4712f8dbbc43c6c55041e2359f24aa42ae0fdb.tar.gz binaryen-0e4712f8dbbc43c6c55041e2359f24aa42ae0fdb.tar.bz2 binaryen-0e4712f8dbbc43c6c55041e2359f24aa42ae0fdb.zip |
[Strings] Add experimental StringNew variants (#5459)
string.from_code_point makes a string from an int code point.
string.new_utf8*_try makes a utf8 string and returns null on a UTF8 encoding
error rather than trap.
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r-- | src/passes/Print.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index d9a4c38e5..8c112d6a5 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -2345,7 +2345,11 @@ struct PrintExpressionContents void visitStringNew(StringNew* curr) { switch (curr->op) { case StringNewUTF8: - printMedium(o, "string.new_wtf8 utf8"); + if (!curr->try_) { + printMedium(o, "string.new_wtf8 utf8"); + } else { + printMedium(o, "string.new_utf8_try"); + } break; case StringNewWTF8: printMedium(o, "string.new_wtf8 wtf8"); @@ -2357,7 +2361,11 @@ struct PrintExpressionContents printMedium(o, "string.new_wtf16"); break; case StringNewUTF8Array: - printMedium(o, "string.new_wtf8_array utf8"); + if (!curr->try_) { + printMedium(o, "string.new_wtf8_array utf8"); + } else { + printMedium(o, "string.new_utf8_array_try"); + } break; case StringNewWTF8Array: printMedium(o, "string.new_wtf8_array wtf8"); @@ -2368,6 +2376,9 @@ struct PrintExpressionContents case StringNewWTF16Array: printMedium(o, "string.new_wtf16_array"); break; + case StringNewFromCodePoint: + printMedium(o, "string.from_code_point"); + break; default: WASM_UNREACHABLE("invalid string.new*"); } |