[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.