gingerBill
6ce889f4eb
Entity * to std::atomic<Entity *> to remove the need for a PtrMap+Mutex
2025-09-19 11:01:41 +01:00
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
5bc9d79f77
Change mutex usage for missing procedures
2025-09-18 16:56:19 +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
Harold Brenes
9d8e15b3af
Implementes the block ABI.2010.3.16 natively via the objc_block intrinsic and the Objc_Block builtin type.
...
See: https://clang.llvm.org/docs/Block-ABI-Apple.html
2025-08-06 20:27:31 -04:00
gingerBill
620bf162a0
Cache const string16 in LLVM
2025-08-02 12:32:18 +01:00
Harold Brenes
9a87611609
Fix leftover poor indentation for objc_ivars MPSCQueue
2025-07-13 15:39:41 -04:00
gingerBill
c383e550f9
Merge branch 'master' into bill/raddebugger-custom-section
2025-05-22 16:04:42 +01:00
gingerBill
92df892f25
Merge pull request #5064 from harold-b/hb/objc-classes
...
Add support for Objective-C class implementation
2025-05-08 12:58:33 +01:00
gingerBill
ea65a7b870
Move raddbg string stuff to a thread-safe queue
2025-05-07 14:26:10 +01:00
Laytan Laats
ad4866653a
fix disposing builder when not created
...
Fixes #5128
p->builder is created in lb_begin_procedure_body, but that isn't called
if there is no body, and we were still calling dispose at that point.
Moved it into lb_end_procedure_body to match.
2025-05-07 14:39:51 +02:00
Lucas Perlind
83bc2d3c4a
Add asan support for various allocators
2025-05-06 14:55:50 +10:00
Harold Brenes
f3923ed666
Fix indentations
...
Fix Objective-C wrapper procs not forwarding return value
2025-04-27 22:55:53 -04:00
Harold Brenes
a3de9c8de4
Add initial support for Objective-C class implementation
2025-04-20 21:53:46 -04:00
gingerBill
fe040d1bbd
Propagate @(link_section=<string>) to nested declarations
2025-04-08 11:36:53 +01:00
gingerBill
cd5bef4f61
Rewrite objc SEL/Class register handling code
2025-04-03 09:37:38 +01:00
gingerBill
5eaff20f4a
Add mutex for lb_handle_objc_find_or_register_class
2025-04-02 18:26:40 +01:00
gingerBill
d0dd1b2d80
Add mutex for lb_handle_objc_find_or_register_selector
2025-04-02 18:23:08 +01:00
gingerBill
400348c925
Improve global array index to be on a per module basis
2025-02-25 15:06:13 +00:00
gingerBill
5aafbc7f30
Use more deterministic module names
2025-02-25 14:35:54 +00:00
gingerBill
f9d85a7311
Try to make globally generated variables deterministic in name
2025-02-25 14:29:14 +00:00
gingerBill
f56a0a80d3
Use type hash for doc writer
2025-02-24 15:37:54 +00:00
gingerBill
de70e6faa0
Use more type hashes where possible
2025-02-24 15:33:35 +00:00
gingerBill
83f1c879ec
Canonicalize generated procedures (hasher/equal/map)
2025-02-24 15:18:27 +00:00
gingerBill
f0f395c510
Fix canonicalization
2025-02-24 14:24:06 +00:00
gingerBill
46a8991d0f
Canonicalize generated procedures
2025-02-24 14:19:02 +00:00
gingerBill
99d91ccd31
Work on making name mangling deterministic
2025-02-17 11:32:49 +00:00
Laytan Laats
9dc17f4c47
optimize fix
2025-01-24 19:33:57 +01:00
Laytan Laats
b2aaf90f88
fix separate modules with objc code
2025-01-24 19:23:49 +01:00
gingerBill
a2a0a2c8d8
Merge pull request #4611 from tf2spi/4491-max-field-align-pack
...
Add packing + aligned access w/ field_align
2025-01-01 18:03:44 +00:00
gingerBill
7b334d2bd9
Add #branch_location
2025-01-01 17:26:15 +00:00
misomosi
fdf510b7b3
Pack struct when needed, use field_align metadata
2024-12-22 10:05:13 -05:00
gingerBill
44124cb639
Merge pull request #4440 from 0dminnimda/support_llvm19
...
Add support for llvm version 19
2024-11-27 21:15:59 +00:00
gingerBill
e38a08013e
Remove #relative types from the compiler
2024-11-14 16:17:24 +00:00
0dminnimda
dbed2c92b4
Add support for llvm version 19
2024-10-31 15:56:23 +03:00
Laytan Laats
603efa860a
add '#caller_expression'
2024-09-14 22:13:37 +02:00
gingerBill
8e52a52580
Cache the paddding filler type
2024-08-18 18:37:40 +01:00
gingerBill
bc5b41938e
Fix #3964
2024-07-23 02:40:51 +01:00
gingerBill
549311fac9
Fix global variables being "missing" with -use-separate-modules
2024-07-15 12:21:42 +01:00
gingerBill
c5decd3eae
Fix possible race and correct linkage _after_ generation
2024-07-15 11:49:07 +01:00
gingerBill
6959554040
Calculate size and alignment, and reuse memory for all variadic calls within a procedure body
2024-07-14 13:44:47 +01:00
gingerBill
5027c7081e
Reuse slice variable for variadic parameters
2024-07-14 12:50:33 +01:00
gingerBill
3dff83f3dc
Mock out #no_capture for future use
2024-07-14 12:39:30 +01:00
gingerBill
8642d719f0
Imply #no_capture to all variadic parameters
2024-07-14 12:19:47 +01:00
gingerBill
edc793d7c1
Add #no_capture args: ..T to reuse the backing array stack memory
2024-07-14 11:39:05 +01:00
gingerBill
34c6868e78
Merge pull request #3895 from laytan/fix-optimization-mode-attribute
...
remove misleading @(optimization_mode) values and make "none" inhibit optimizations
2024-07-10 13:22:57 +01:00
Laytan Laats
1a20b78633
remove misleading @(optimization_mode) values and make "none" inhibit optimizations
2024-07-08 21:06:57 +02:00