Try to make globally generated variables deterministic in name

This commit is contained in:
gingerBill
2025-02-25 14:29:14 +00:00
parent 22ab8935c4
commit f9d85a7311
5 changed files with 35 additions and 34 deletions
+13 -2
View File
@@ -2112,7 +2112,13 @@ gb_internal lbAddr lb_handle_objc_find_or_register_selector(lbProcedure *p, Stri
}
if (!entity) {
lbAddr default_addr = lb_add_global_generated(default_module, t_objc_SEL, {}, &entity);
gbString global_name = gb_string_make(temporary_allocator(), "__$objc_selector-");
global_name = gb_string_append_length(global_name, name.text, name.len);
lbAddr default_addr = lb_add_global_generated_with_name(
default_module, t_objc_SEL, {},
make_string(cast(u8 const *)global_name, gb_string_length(global_name)),
&entity);
string_map_set(&default_module->objc_selectors, name, lbObjcRef{entity, default_addr});
}
@@ -2169,7 +2175,12 @@ gb_internal lbAddr lb_handle_objc_find_or_register_class(lbProcedure *p, String
}
if (!entity) {
lbAddr default_addr = lb_add_global_generated(default_module, t_objc_Class, {}, &entity);
gbString global_name = gb_string_make(temporary_allocator(), "__$objc_class-");
global_name = gb_string_append_length(global_name, name.text, name.len);
lbAddr default_addr = lb_add_global_generated_with_name(default_module, t_objc_Class, {},
make_string(cast(u8 const *)global_name, gb_string_length(global_name)),
&entity);
string_map_set(&default_module->objc_classes, name, lbObjcRef{entity, default_addr});
}