Commit Graph

5789 Commits

Author SHA1 Message Date
gingerBill
ad85ec765b More const union improvements 2025-09-24 10:29:32 +01:00
gingerBill
bad495519b Improve const union attemps 2025-09-24 10:08:25 +01:00
gingerBill
31f0aaa62f Try to improve const union LLVM construction 2025-09-24 09:55:22 +01:00
gingerBill
90d1229ead Make LLVM_WEAK_MONOMORPHIZATION opt-in again 2025-09-24 09:13:48 +01:00
Lucas Perlind
15b4b9277a spin in recursive mutex lock; use compare exchange for broadcast 2025-09-24 15:54:58 +10:00
Lucas Perlind
eca2758d8b Revert "Reimplement RwMutex on non-windows systems"
This reverts commit e9d20a9b4a.
2025-09-24 12:40:01 +10:00
gingerBill
e9d20a9b4a Reimplement RwMutex on non-windows systems 2025-09-23 11:38:32 +01:00
gingerBill
2f132b51ce Add missing gen 2025-09-23 01:23:01 +01:00
gingerBill
c9eef7c835 Single thread lb_create_startup_runtime_generate_body 2025-09-22 21:10:01 +01:00
gingerBill
f36ade8c64 Remove extra checks 2025-09-19 16:44:57 +01:00
gingerBill
9b8771b475 Handle missing procedures better 2025-09-19 16:15:04 +01:00
gingerBill
655176e5e7 Remove comments of dead code 2025-09-19 15:17:38 +01:00
gingerBill
76705c6800 Convert missing_procedures_to_check to a queue 2025-09-19 14:18:09 +01:00
gingerBill
6bca1475ed Convert procedures_to_generate to a queue 2025-09-19 14:15:25 +01:00
gingerBill
ee3b10335b Split further 2025-09-19 13:59:58 +01:00
gingerBill
f1e3977cf9 Split up startup call into separate calls 2025-09-19 13:57:52 +01:00
gingerBill
ec91e2c15b Separate ini global var stuff 2025-09-19 13:52:25 +01:00
gingerBill
a8b2b1a23b Temporarily revert anonymous procedure load balancing 2025-09-19 13:49:09 +01:00
gingerBill
31cafda30d Remove unused variable 2025-09-19 12:31:06 +01:00
gingerBill
be1e889abb Remove debug message 2025-09-19 12:29:26 +01:00
gingerBill
6338e0a8a3 Allow unions with one variant to be constant 2025-09-19 11:56:44 +01:00
gingerBill
1a4da5cb0f Distribute anonymous procedure literals correctly across LLVM modules 2025-09-19 11:13:18 +01:00
gingerBill
6ce889f4eb Entity * to std::atomic<Entity *> to remove the need for a PtrMap+Mutex 2025-09-19 11:01:41 +01:00
gingerBill
5f76d6ce15 Support -linker:mold 2025-09-19 10:25:11 +01:00
gingerBill
1507cc01a5 Merge branch 'master' of https://github.com/odin-lang/Odin 2025-09-18 23:26:23 +01:00
gingerBill
5d14df4112 Multithread lb_module_init 2025-09-18 23:26:11 +01:00
gingerBill
4d2854f561 Merge pull request #5632 from kalsprite/x386
windows i386 support
2025-09-18 22:01:14 +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