Commit Graph

71 Commits

Author SHA1 Message Date
gingerBill
8e4bdcfb98 Remove disabled attribute from unimplemented 2023-10-25 11:41:24 +01:00
gingerBill
f3f0ab6e2c On -disable-assert, panic will still work but not print the caller location 2023-10-25 11:34:09 +01:00
Jeroen van Rijn
74bbb1167f Fix #2763
Fixes #2763
2023-08-22 20:18:54 +02:00
gingerBill
9b54b99bf6 Use positional and named arguments within the core library 2023-06-21 01:17:05 +01:00
gingerBill
6fe2df1d7d Add more documentation to numerous @builtin procedures in package runtime 2023-05-30 23:42:21 +01:00
gingerBill
1e17f44991 Improve error handling for resize and reserve procedures 2023-05-22 11:47:36 +01:00
gingerBill
7298054974 Add require_results to make builtin procedures 2023-05-22 11:19:13 +01:00
Tetralux
1c5ce75d9f [runtime] Pass along #caller_location in append_nothing() 2023-05-12 23:05:28 +00:00
gingerBill
2d699fd13b Fix again append on zero sized types 2023-04-19 15:34:40 +01:00
gingerBill
13c321b8fb Fix missing cast in array_elems 2023-04-19 15:31:51 +01:00
Fabian Sperber
830d2007a6 Remove usage of global_default_temp_allocator_data when there is no default allocator (freestanding, JS or --default-to-nil-allocator) 2023-03-13 20:12:54 +01:00
gingerBill
8ddb493b96 Add #optional_allocator_error to make_map 2023-02-14 10:28:04 +00:00
Tetralux
588c52a854 [runtime] Fix typo in shrink_dynamic_array() 2022-12-11 09:10:17 +00:00
gingerBill
bbe44b49bc Correct map_insert 2022-11-14 11:47:56 +00:00
gingerBill
ad0f11668b Correct map_reserve_dynamic caused by an bizarre code generation bug 2022-11-13 14:53:58 +00:00
gingerBill
5d47e2a166 Change map_reserve_dynamic no do anything when current capacity is greater than specified for the reserve 2022-11-11 11:24:34 +00:00
gingerBill
b475481788 Get deleted key and value for delete_key 2022-11-11 11:19:34 +00:00
gingerBill
3858422f1d Use mem_resize where possible 2022-11-09 20:59:49 +00:00
gingerBill
366779f8c7 Fix bug with allocator not getting set on a map 2022-11-08 16:06:10 +00:00
gingerBill
dae299b781 Make map_free_dynamic take the total size of the allocation 2022-11-08 15:40:30 +00:00
gingerBill
ed58374964 Make Map_Info store pointers to cell info rather than inline 2022-11-08 12:18:36 +00:00
gingerBill
c96e0afbf1 Begin work on implementing the new map internals 2022-11-07 23:02:21 +00:00
gingerBill
6a14c3edb4 Make raw_data an intrinsic rather a @(builtin) runtime procedure 2022-10-30 22:05:29 +00:00
gingerBill
83ffb68bb7 Fix typo in map_insert 2022-09-23 12:09:46 +01:00
gingerBill
0380601bb4 Fix map_insert 2022-09-21 23:47:33 +01:00
gingerBill
ff97a73152 Reduce unnecessary map gets 2022-09-21 13:03:13 +01:00
gingerBill
9e3ea92829 Inline many calls and delete unused procedures 2022-09-17 14:59:16 +01:00
gingerBill
81f10f53ad Correct delete_key 2022-09-17 13:22:23 +01:00
gingerBill
fbf036a654 Wrap __dynamic_map_find for certain cases 2022-09-17 13:11:29 +01:00
gingerBill
b967ae2739 Change internal map indices to use a distinct uint rather than just int 2022-09-17 12:21:23 +01:00
gingerBill
ef372bd861 Replace #optional_second with #optional_allocator_error 2022-09-12 13:08:32 +01:00
gingerBill
96be494730 Fix append_nothing 2022-08-26 22:21:19 +01:00
gingerBill
ffa87f55c4 Add a return value to append that states the number of elements that were returned 2022-08-26 16:20:47 +01:00
Jeroen van Rijn
8c1dfabb6b Fix append for size_of(E) == 0 2022-08-23 16:00:14 +02:00
gingerBill
659c3c528d Update delete to pass size in bytes to free when possible 2022-08-08 15:16:18 +01:00
gingerBill
576914aee1 Make unreachable() a built-in compiler-level procedure 2022-08-05 11:57:33 +01:00
gingerBill
e0ecdd4b24 Simplify logic of append of zero sized elements 2022-08-02 11:13:53 +01:00
gingerBill
08f5259d77 Replace insert_at with inject_at and assign_at 2022-07-24 23:07:35 +01:00
gingerBill
670f18ad1b Minor change to shrink 2022-06-12 16:12:24 +01:00
Tetralux
fa2296a124 [runtime] Add builtin shrink for dynamic arrays and maps
Asks the allocator to shrink the backing allocation to the current __length__, or a capacity
of the user's choosing.

Returns `(did_shrink: bool, err: mem.Allocator_Error)`.

```
shrink(&array) // shrinks to len(array)
shrink(&array, N) // shrink to N capacity

shrink(&map) // shrinks down to len(map)
shrink(&map, N) // shrink to N capacity
```
2022-06-04 23:29:47 +00:00
gingerBill
63d6c08d90 Add raw_simd_data 2022-05-25 22:09:38 +01:00
gingerBill
3ec70c5517 Merge functionality of #maybe with the standard 'union' functionality 2022-05-23 12:04:19 +01:00
gingerBill
8c1499dbc2 Make raw_data return [^]T types 2022-05-23 11:48:05 +01:00
gingerBill
be8de4a1ff Update arch enum 2022-05-01 23:52:55 +01:00
gingerBill
9349dfba8f Add new builtin container_of 2022-04-27 12:39:45 +01:00
Jeroen van Rijn
19dc84e300 Reinstate NBC. 2022-03-15 19:37:04 +01:00
Jeroen van Rijn
a932168f50 [runtime] fix insert_at procedure group. 2022-03-15 19:35:00 +01:00
gingerBill
d269dbcd40 Add comment for the internals of assert 2022-01-23 22:01:54 +00:00
gingerBill
f57201bbd1 Remove unneeded semicolons from the core library 2021-08-31 22:32:53 +01:00
gingerBill
251da264ed Remove unneeded semicolons from the core library 2021-08-31 22:21:13 +01:00