Commit Graph

5760 Commits

Author SHA1 Message Date
gingerBill 5d14df4112 Multithread lb_module_init 2025-09-18 23:26:11 +01:00
gingerBill 9cf69576ab More improvements to minimize code gen size 2025-09-18 20:58:24 +01:00
gingerBill 4b0a07ba27 Minor rearrangement 2025-09-18 17:06:09 +01:00
gingerBill 37e1e00623 Revert global procedure threading 2025-09-18 16:57:21 +01:00
gingerBill 5bc9d79f77 Change mutex usage for missing procedures 2025-09-18 16:56:19 +01:00
gingerBill 111e2f0c1b After global procedures and types are generated, then queue the generation of the procedures for each module 2025-09-18 16:53:00 +01:00
gingerBill 5559916d5c Mulithread startup procedure body generation 2025-09-18 16:35:04 +01:00
gingerBill 0f307fbc5d Use multiple modules per file in package runtime 2025-09-18 15:34:19 +01:00
gingerBill 738a72943b Try moving parapoly procs into a separate module when doing weak monomorphization 2025-09-18 15:04:16 +01:00
xenobas 3e7395eba6 fix: fix segfault on string_to_string16 2025-09-16 21:40:57 +01:00
gingerBill 11be0cb4ab Use permanent_allocator() instead of temporary_allocator() temporarily to fix a bug 2025-09-14 17:37:17 +01:00
gingerBill 7db57e2d9c Temporarily disable TEMPORARY_ALLOCATOR_GUARD 2025-09-14 17:24:22 +01:00
gingerBill 22261f9e71 Fix temporary_allocator 2025-09-14 17:21:33 +01:00
gingerBill 5ea2e1fe60 Minimize mutex usage when in single threaded mode. 2025-09-10 21:41:52 +01:00
gingerBill 992cad101c Minor mutex rearrangement 2025-09-10 21:16:56 +01:00
gingerBill 549edcc0f9 Use a RwMutex instead of BlockingMutex 2025-09-10 21:00:43 +01:00
gingerBill 34e3d30780 More thread contention removal 2025-09-10 20:51:52 +01:00
gingerBill 0476d33a6c Remove global PtrMap<Type *, GenTypesData *> and store on the TypeNamed directly 2025-09-10 20:45:26 +01:00
gingerBill d3602ca634 Removal of some old checks 2025-09-10 20:37:39 +01:00
gingerBill bc36ea4170 Use macro instead of a C++ iterator - for speed
C++ iterators are bad.
2025-09-10 20:11:36 +01:00
gingerBill 228ddd6903 Inline some ptr set iterators 2025-09-10 20:02:39 +01:00
gingerBill 1c648126c7 Move more from heap_allocator() to temporary_allocator() 2025-09-10 19:47:29 +01:00
gingerBill 01258d4817 Multithread "check all scope usages" 2025-09-10 19:38:30 +01:00
gingerBill a36a8722dc Minimize more thread contention 2025-09-10 19:30:32 +01:00
gingerBill 21b1173076 Minor clean up of permanent/temporary arena usage 2025-09-10 18:20:20 +01:00
gingerBill af37ba76c1 Use arena in calculate_global_init_order 2025-09-10 18:02:02 +01:00
gingerBill 1e0902677f Multithread min dep set by removing the set itself 2025-09-10 17:29:11 +01:00
gingerBill 60684ff028 Multithread some of the min dep system 2025-09-10 13:39:06 +01:00
gingerBill 70d396c8ad Split type and inline cycles into separate loops 2025-09-10 13:26:07 +01:00
gingerBill 629777b988 Multithread check_update_dependency_tree_for_procedures 2025-09-10 12:42:36 +01:00
Jeroen van Rijn 1d561247f5 Add nullptr checks to more type helpers. 2025-09-09 20:45:32 +02:00
gingerBill 9abc3f67b5 Fix constant procedure parameters when passing literals 2025-09-09 10:36:22 +01:00
gingerBill 0711806c21 Merge pull request #5653 from smoke-y/emptyParen
Fix compiler segfault when trying to use () as type
2025-09-06 12:23:48 +01:00
smoke-y 5f60e7cdc0 formatting 2025-09-05 21:28:49 +05:30
smoke-y 906eddd1d4 formatting 2025-09-05 21:28:00 +05:30
smoke-y 5161731ce0 proc at type lvl seg fault 2025-09-05 11:27:28 +05:30
smoke-y c01ba41955 fix empty parentheses seg fault 2025-09-05 11:02:01 +05:30
A1029384756 3074146784 skip errors on polymorphic procs when in a proc group with other options 2025-08-28 11:30:47 -04:00
gingerBill 9381040711 Fix parentheses for raddbg expression 2025-08-22 09:32:17 +01:00
gingerBill 46d4f22ef4 Remove debug print 2025-08-22 09:29:44 +01:00
gingerBill 23689d0c01 Improve the raddbg type views generated from fmt-based struct field tags 2025-08-22 09:29:07 +01:00
gingerBill d5b1fc48fb Add @(raddbg_type_view=<optional-string>)
If no string parameter is provided, then one will be generated from the struct field tags.
The attribute must be applied if the automatic struct field tag approach is to be used.
2025-08-21 17:14:33 +01:00
gingerBill 409e397566 Fix bug with $fn: proc() when passed with a global variable 2025-08-18 21:47:09 +01:00
gingerBill 2648bd8fcd Allow #+feature global-context for @(init) and @(fini) procedures as an interim measure 2025-08-12 09:51:16 +01:00
gingerBill 8df69c95c3 Add -integer-division-by-zero:all-bits 2025-08-10 18:29:08 +01:00
gingerBill b6e0b48481 Rename block names from div to mod. 2025-08-10 17:58:46 +01:00
gingerBill 4cbcb3ace7 Add shortcut for unsigned_x/power_of_two -> unsigned_x >> log2(power_of_two) 2025-08-10 17:53:07 +01:00
gingerBill da76c743e9 Add shortcut for division by a constant 2025-08-10 17:42:49 +01:00
gingerBill ecb6b35da5 Fix name canonicalization for named specialized forms 2025-08-10 15:29:53 +01:00
gingerBill 983f3ec423 Add #+feature global-context
This allows to use of `context` in the global scope on a per file basis.
2025-08-10 15:03:30 +01:00