Narrow type info mutex usage

This commit is contained in:
gingerBill
2023-01-02 20:38:37 +00:00
parent d2ec2d1606
commit 09c26e6be0
+2 -3
View File
@@ -1731,10 +1731,7 @@ gb_internal void add_type_info_type(CheckerContext *c, Type *t) {
if (build_context.disallow_rtti) { if (build_context.disallow_rtti) {
return; return;
} }
mutex_lock(&c->info->type_info_mutex);
add_type_info_type_internal(c, t); add_type_info_type_internal(c, t);
mutex_unlock(&c->info->type_info_mutex);
} }
gb_internal void add_type_info_type_internal(CheckerContext *c, Type *t) { gb_internal void add_type_info_type_internal(CheckerContext *c, Type *t) {
@@ -1751,6 +1748,7 @@ gb_internal void add_type_info_type_internal(CheckerContext *c, Type *t) {
add_type_info_dependency(c->info, c->decl, t); add_type_info_dependency(c->info, c->decl, t);
MUTEX_GUARD_BLOCK(&c->info->type_info_mutex) {
auto found = map_get(&c->info->type_info_map, t); auto found = map_get(&c->info->type_info_map, t);
if (found != nullptr) { if (found != nullptr) {
// Types have already been added // Types have already been added
@@ -1779,6 +1777,7 @@ gb_internal void add_type_info_type_internal(CheckerContext *c, Type *t) {
// NOTE(bill): If a previous one exists already, no need to continue // NOTE(bill): If a previous one exists already, no need to continue
return; return;
} }
}
// Add nested types // Add nested types