Lines Matching refs:sym

91 void SymbolTable::replace(StringRef name, Symbol* sym) {  in replace()  argument
93 symVector[it->second] = sym; in replace()
110 Symbol *sym = reinterpret_cast<Symbol *>(make<SymbolUnion>()); in insertName() local
111 sym->isUsedInRegularObj = false; in insertName()
112 sym->canInline = true; in insertName()
113 sym->traced = trace; in insertName()
114 sym->forceExport = false; in insertName()
115 symVector.emplace_back(sym); in insertName()
116 return {sym, true}; in insertName()
314 auto replaceSym = [&](Symbol *sym) { in addDefinedFunction() argument
318 auto* newSym = replaceSymbol<DefinedFunction>(sym, name, flags, file, function); in addDefinedFunction()
659 Symbol *sym = addUndefinedTable(name, name, module, flags, nullptr, type); in createUndefinedIndirectFunctionTable() local
660 sym->markLive(); in createUndefinedIndirectFunctionTable()
661 sym->forceExport = config->exportTable; in createUndefinedIndirectFunctionTable()
662 return cast<TableSymbol>(sym); in createUndefinedIndirectFunctionTable()
672 TableSymbol *sym = addSyntheticTable(name, flags, table); in createDefinedIndirectFunctionTable() local
673 sym->markLive(); in createDefinedIndirectFunctionTable()
674 sym->forceExport = config->exportTable; in createDefinedIndirectFunctionTable()
675 return sym; in createDefinedIndirectFunctionTable()
716 void SymbolTable::addLazy(ArchiveFile *file, const Archive::Symbol *sym) { in addLazy() argument
717 LLVM_DEBUG(dbgs() << "addLazy: " << sym->getName() << "\n"); in addLazy()
718 StringRef name = sym->getName(); in addLazy()
725 replaceSymbol<LazySymbol>(s, name, 0, file, *sym); in addLazy()
743 file, *sym); in addLazy()
749 file->addMember(sym); in addLazy()
759 bool SymbolTable::getFunctionVariant(Symbol* sym, const WasmSignature *sig, in getFunctionVariant() argument
761 LLVM_DEBUG(dbgs() << "getFunctionVariant: " << sym->getName() << " -> " in getFunctionVariant()
767 auto &variants = symVariants[CachedHashStringRef(sym->getName())]; in getFunctionVariant()
769 variants.push_back(sym); in getFunctionVariant()
804 void SymbolTable::wrap(Symbol *sym, Symbol *real, Symbol *wrap) { in wrap() argument
806 int &origIdx = symMap[CachedHashStringRef(sym->getName())]; in wrap()
809 LLVM_DEBUG(dbgs() << "wrap: " << sym->getName() << "\n"); in wrap()
826 InputFunction *SymbolTable::replaceWithUnreachable(Symbol *sym, in replaceWithUnreachable() argument
829 auto *func = make<SyntheticFunction>(sig, sym->getName(), debugName); in replaceWithUnreachable()
834 replaceSymbol<DefinedFunction>(sym, debugName, WASM_SYMBOL_BINDING_LOCAL, in replaceWithUnreachable()
838 sym->isStub = true; in replaceWithUnreachable()
842 void SymbolTable::replaceWithUndefined(Symbol *sym) { in replaceWithUndefined() argument
845 StringRef debugName = saver().save("undefined_weak:" + toString(*sym)); in replaceWithUndefined()
846 replaceWithUnreachable(sym, *sym->getSignature(), debugName); in replaceWithUndefined()
848 sym->setHidden(true); in replaceWithUndefined()
856 for (Symbol *sym : getSymbols()) { in handleWeakUndefines()
857 if (sym->isUndefWeak() && sym->isUsedInRegularObj) { in handleWeakUndefines()
858 if (sym->getSignature()) { in handleWeakUndefines()
859 replaceWithUndefined(sym); in handleWeakUndefines()
865 assert(!isa<FunctionSymbol>(sym)); in handleWeakUndefines()
875 auto *sym = reinterpret_cast<DefinedFunction *>(make<SymbolUnion>()); in createUndefinedStub() local
876 sym->isUsedInRegularObj = true; in createUndefinedStub()
877 sym->canInline = true; in createUndefinedStub()
878 sym->traced = false; in createUndefinedStub()
879 sym->forceExport = false; in createUndefinedStub()
880 sym->signature = &sig; in createUndefinedStub()
882 sym, "undefined_stub", WASM_SYMBOL_VISIBILITY_HIDDEN, nullptr, nullptr); in createUndefinedStub()
883 replaceWithUnreachable(sym, sig, "undefined_stub"); in createUndefinedStub()
884 stubFunctions[sig] = sym; in createUndefinedStub()
885 return sym; in createUndefinedStub()