[PATCH] D43933: [WebAssembly] Pass ownership of body to SyntheticFunction . NFC

Rui Ueyama via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 1 10:13:41 PST 2018


ruiu added a comment.

LGTM

It feels like there's some way to simplify the code in other way though. One idea is to add `OS` member to a synthetic section and add contents to that stream, instead of creating a function body beforehand and pass it to the synthetic function's constructor. Maybe there are other possibilities too. But I don't think that's not very important at the moment.



================
Comment at: wasm/InputChunks.h:156
+  SyntheticFunction(const WasmSignature &S, std::string Body, StringRef Name)
+      : InputFunction(S, nullptr, nullptr), Name(Name), Body(std::move(Body)) {}
 
----------------
sbc100 wrote:
> Seems reasonable.  I'm not sure if the ownership passing and move semantics stuff is overkill here in lld land though.  Seems like make<> and the arenaAllocator might be preferred/simpler.  I'll defer to @ruiu 
Yeah, that's good point. I was thinking about that. In lld, we don't do memory management per object since almost all heap-allocated objects are needed until the last moment when we flush everything to disk. That said, I'm perhaps OK with this. This is a small piece of code, and we can change later when we change the mind.


Repository:
  rLLD LLVM Linker

https://reviews.llvm.org/D43933





More information about the llvm-commits mailing list