Change lexical lookup to use an array instead of hash map. (#3582)

This is primarily being done for performance reasons, removing hash
lookups. The increased memory consumption is accepted.

Refactors LexicalLookup out to its own structure.
This commit is contained in:
Jon Ross-Perkins
2024-01-10 23:06:37 +00:00
committed by GitHub
parent 5e004b854e
commit dc75295a72
9 changed files with 151 additions and 72 deletions
+2 -1
View File
@@ -57,7 +57,8 @@ static auto CopyNameFromImportIR(Context& context,
if (auto import_identifier_id = import_name_id.AsIdentifierId();
import_identifier_id.is_valid()) {
auto name = import_sem_ir.identifiers().Get(import_identifier_id);
return SemIR::NameId::ForIdentifier(context.identifiers().Add(name));
return SemIR::NameId::ForIdentifier(
context.lexical_lookup().AddIdentifier(name));
}
return import_name_id;
}