Skip to content

Commit

Permalink
LibWasm: Remove needless and costly copies
Browse files Browse the repository at this point in the history
Speeds up spidermonkey.wasm instantiation by around 60ms (240ms -> 180ms)
  • Loading branch information
dzfrias authored and awesomekling committed Jul 27, 2024
1 parent 2192c14 commit fc57f51
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions Userland/Libraries/LibWasm/Parser/Parser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1246,7 +1246,7 @@ ParseResult<CodeSection::Func> CodeSection::Func::parse(Stream& stream, size_t s
ScopeLogger<WASM_BINPARSER_DEBUG> logger("Func"sv);
auto locals = TRY(parse_vector<Locals>(stream));
auto body = TRY(Expression::parse(stream, size_hint));
return Func { locals, body };
return Func { move(locals), move(body) };
}

ParseResult<CodeSection::Code> CodeSection::Code::parse(Stream& stream)
Expand All @@ -1261,14 +1261,14 @@ ParseResult<CodeSection::Code> CodeSection::Code::parse(Stream& stream)
// `size / 2` instructions, so we pass that as our size hint.
auto func = TRY(Func::parse(stream, size / 2));

return Code { static_cast<u32>(size), func };
return Code { static_cast<u32>(size), move(func) };
}

ParseResult<CodeSection> CodeSection::parse(Stream& stream)
{
ScopeLogger<WASM_BINPARSER_DEBUG> logger("CodeSection"sv);
auto result = TRY(parse_vector<Code>(stream));
return CodeSection { result };
return CodeSection { move(result) };
}

ParseResult<DataSection::Data> DataSection::Data::parse(Stream& stream)
Expand Down

0 comments on commit fc57f51

Please sign in to comment.