Commit Graph

324 Commits

Author SHA1 Message Date
gingerBill
04cb889aed Begin interning ScopeMap strings 2026-03-17 11:04:32 +00:00
gingerBill
1744f57d01 Use permanent_alloc_item directly rather than through the gb_alloc_item generic interface 2026-03-16 16:03:27 +00:00
gingerBill
a0685f0511 Add intrinsics.likely and intrinsics.unlikely 2026-03-15 15:39:52 +00:00
gingerBill
8e23c58620 Add intrinsics type_fixed_capacity_dynamic_array_len_offset and type_is_fixed_capacity_dynamic_array 2026-03-12 17:39:44 +00:00
gingerBill
f1dbe9c242 [dynamic; N]T proof of concept: fixed capacity dynamic array (akin to small_array.Small_Array(N, T)) 2026-03-11 16:46:33 +00:00
gingerBill
bb7496a2fc Add intrinsics.count_trailing_ones and intrinsics.count_leading_ones 2026-02-02 14:28:16 +00:00
gingerBill
2608f92fee Use std::atomic for Ast.viral_state_flags and Ast_Ident.entity 2026-02-02 10:48:30 +00:00
gingerBill
92bef45781 Fix #6183 2026-01-27 09:44:52 +00:00
Franz Hoeltermann
ac35e0336b Fix indentation 2026-01-14 10:42:43 +01:00
Franz
c64fad8ef7 Add warning for size_of(&x) expressions 2026-01-14 00:43:06 +01:00
gingerBill
d380b0877d Add intrinsics.type_is_superset_of 2025-11-17 10:03:05 +00:00
gingerBill
074a8d7df5 constant_truncate -> constant_trunc to be consistent with other intrinsics 2025-10-30 09:37:09 +00:00
gingerBill
99520d82fd Add intrinsics.constant_(floor|truncate|ceil|round) 2025-10-30 08:52:21 +00:00
gingerBill
13ddf66cc9 Fix declaration of type_is_bit_field 2025-10-30 08:39:22 +00:00
gingerBill
26b3a4d182 Handle concatenation at the end 2025-10-10 12:09:41 +01:00
gingerBill
1387c3d311 Remove unneeded type expression 2025-10-10 12:04:22 +01:00
gingerBill
24bc044d78 Support fixed-length arrays for intrinsics.concatenate 2025-10-10 12:00:44 +01:00
gingerBill
5e12532eba Add basic type inference to the arguments 2025-10-10 11:50:02 +01:00
gingerBill
061b14e164 Allow intrinsics.concatenate to be variadic 2025-10-10 11:48:18 +01:00
gingerBill
1572ed57b6 Add intrinsics.concatenate 2025-10-10 11:40:36 +01:00
gingerBill
adc44312bf const string -> constant string 2025-10-09 10:36:50 +01:00
gingerBill
a60058259d Allow intrinsics.type_union_tag_offset with maybe-like unions 2025-10-09 10:25:48 +01:00
gingerBill
41c523faa5 Add intrinsics.type_is_raw_union 2025-10-09 10:10:49 +01:00
gingerBill
e001e402c2 Add intrinsics.type_is_cstring and intrinsics.type_is_cstring16 2025-10-09 09:55:14 +01:00
Harold Brenes
5af13f5d53 Automatically emit objc_msgSend calls when calling imported or implemented Objective-C methods
- Add intrinsics.objc_super()

- Emit objc_msgSendSuper2 calls when an objc method call is combined with objc_super(self)

- Fix objc_block return value ABI for large struct returns

- Fix objc_implement method wrappers bad ABI for large struct returns and indirect args

- Simplify parameter forwarding for objc_imlpement methods

- Add intrinsics.objc_instancetype to mimi Objective-C instancetype* returns
  This facilitates returning the correct type on subclasses when calling mehtods
  such as `alloc`, `init`, `retain`, etc.

- Refactor Objective-C class implementations generation so that hierarchies are properly initialized

- Better codegen for context passing with ivar-based autocontext

- Allow @superclass on imported objc-c objects

- Better codegen for block forwarding invoker, arguments are forwarded directly
2025-09-29 20:37:48 -04:00
gingerBill
21b1173076 Minor clean up of permanent/temporary arena usage 2025-09-10 18:20:20 +01:00
gingerBill
a0e9a98d61 Merge pull request #5547 from harold-b/hb.objc_block_intrinsic
Implements the Apple block ABI.2010.3.16 natively via `objc_block` intrinsic
2025-08-07 16:08:38 +01:00
gingerBill
3de300d2f9 Fix typo 2025-08-07 12:38:15 +01:00
gingerBill
34b4b84b64 Add intrinsics.type_canonical_name 2025-08-07 12:34:41 +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
eae43f1225 Merge branch 'master' into bill/utf16-strings 2025-08-05 15:07:06 +01:00
gingerBill
c910b5e583 Add intrinsics.type_is_nearly_simple_compare 2025-08-04 12:13:30 +01:00
gingerBill
620bf162a0 Cache const string16 in LLVM 2025-08-02 12:32:18 +01:00
gingerBill
bb4bc316a4 for in string16; Support string16 across core 2025-08-02 12:20:35 +01:00
gingerBill
ae02d3d02d Begin supporting string16 across the core library 2025-08-02 11:55:16 +01:00
gingerBill
2561427dd3 Add string16 and cstring16 (UTF-16 based strings) 2025-08-02 11:00:15 +01:00
Colin Davidson
4d9fdf5bd3 move to checker error, rather than panic 2025-07-29 13:09:05 -07:00
Colin Davidson
9a2e6fff48 switch to read_cycle_counter_frequency from arm64_read_cycle_counter_freq, trap on invalid arch 2025-07-29 12:21:46 -07:00
Colin Davidson
1848e0df05 use the correct frequency for the arm tsc timer 2025-07-28 15:10:42 -07:00
gingerBill
19a075211f Merge pull request #5442 from jon-lipstate/table_lookup
table lookup simd intrinsic
2025-07-22 11:14:54 +01:00
Jon Lipstate
6c81df82a6 cleanup langauge / errors about table vs swizzle 2025-07-16 23:43:41 -07:00
Jon Lipstate
3e5de5f705 add did you mean for card/len 2025-07-16 23:23:11 -07:00
Jon Lipstate
ecd41b155d rename table_lookup to runtime_swizzle 2025-07-16 21:54:24 -07:00
FourteenBrush
980370a24b Add union kind assertion to enum_constant_entity_cmp 2025-07-11 21:23:21 +02:00
FourteenBrush
2dd0b75289 Fix BigInt leaking 2025-07-11 21:07:28 +02:00
FourteenBrush
64bb0d1c7d Allocate temp array instead of sorting in place 2025-07-11 19:38:01 +02:00
FourteenBrush
8cbf75c928 Add type_enum_is_contiguous intrinsic 2025-07-11 17:03:49 +02:00
Jon Lipstate
019084a17f table lookup intrinsic 2025-07-05 13:55:14 -07:00
Jeroen van Rijn
29d9a12491 Add check_all scripts 2025-06-16 22:26:24 +02:00
iarkn
3152be01b9 Add intrinsics.type_is_bit_field proc 2025-06-06 16:01:13 +02:00