[WebAssembly] Implement GC for imports
Differential Revision: https://reviews.llvm.org/D44313
llvm-svn: 330454
diff --git a/lld/wasm/MarkLive.cpp b/lld/wasm/MarkLive.cpp
index 38ffbcb..2b30f6a 100644
--- a/lld/wasm/MarkLive.cpp
+++ b/lld/wasm/MarkLive.cpp
@@ -40,13 +40,11 @@
SmallVector<InputChunk *, 256> Q;
auto Enqueue = [&](Symbol *Sym) {
- if (!Sym)
+ if (!Sym || Sym->isLive())
return;
- InputChunk *Chunk = Sym->getChunk();
- if (!Chunk || Chunk->Live)
- return;
- Chunk->Live = true;
- Q.push_back(Chunk);
+ Sym->markLive();
+ if (InputChunk *Chunk = Sym->getChunk())
+ Q.push_back(Chunk);
};
// Add GC root symbols.