1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 02:07:34 +00:00

LibWasm: Use AllocatingMemoryStream around Wasm::Printer

This commit is contained in:
Tim Schumacher 2023-01-09 12:06:13 +01:00 committed by Linus Groh
parent 7d4a30af56
commit 52cb066cae
2 changed files with 12 additions and 6 deletions

View file

@ -4,6 +4,7 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibCore/MemoryStream.h>
#include <LibWasm/AbstractMachine/Configuration.h>
#include <LibWasm/AbstractMachine/Interpreter.h>
#include <LibWasm/Printer/Printer.h>
@ -85,9 +86,11 @@ Result Configuration::execute(Interpreter& interpreter)
void Configuration::dump_stack()
{
auto print_value = []<typename... Ts>(CheckedFormatString<Ts...> format, Ts... vs) {
DuplexMemoryStream memory_stream;
Printer { memory_stream }.print(vs...);
ByteBuffer buffer = memory_stream.copy_into_contiguous_buffer();
Core::Stream::AllocatingMemoryStream memory_stream;
Core::Stream::WrapInAKOutputStream wrapped_memory_stream { memory_stream };
Printer { wrapped_memory_stream }.print(vs...);
auto buffer = ByteBuffer::create_uninitialized(memory_stream.used_buffer_size()).release_value_but_fixme_should_propagate_errors();
memory_stream.read_entire_buffer(buffer).release_value_but_fixme_should_propagate_errors();
dbgln(format.view(), StringView(buffer).trim_whitespace());
};
for (auto const& entry : stack().entries()) {