From 0e4712f8dbbc43c6c55041e2359f24aa42ae0fdb Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Thu, 26 Jan 2023 16:11:24 -0800 Subject: [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. --- src/passes/Print.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/passes/Print.cpp') 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*"); } -- cgit v1.2.3