Big simplification and improvement of the entity collection system, reducing unneeded steps for packages

This commit is contained in:
gingerBill
2021-07-27 20:45:50 +01:00
parent 116e98b378
commit 9cd5ea59dd
7 changed files with 355 additions and 298 deletions
+2 -2
View File
@@ -191,8 +191,6 @@ struct Scope {
std::atomic<Scope *> head_child;
StringMap<Entity *> elements;
Array<Ast *> delayed_directives;
Array<Ast *> delayed_imports;
PtrSet<Scope *> imported;
i32 flags; // ScopeFlag
@@ -295,6 +293,8 @@ struct CheckerInfo {
// NOTE(bill): If the semantic checker (check_proc_body) is to ever to be multithreaded,
// these variables will be of contention
BlockingMutex scope_mutex;
// NOT recursive & Only used at the end of `check_proc_body`
// This is a possible source of contention but probably not
// too much of a problem in practice