Commit graph

80 commits

Author SHA1 Message Date
Aurélien Geron
c10b25cf6e
Fixes #7065 in List.dropAt, author: @bhansconnect 2024-09-19 10:43:05 +12:00
Brendan Hansknecht
e722faaf58
add fluxsort 2024-07-28 20:33:47 -07:00
Brendan Hansknecht
d2129aea62
full quadsort minus final merge 2024-07-28 20:33:43 -07:00
Brendan Hansknecht
52af8c588e
start adding the basis for quadsort for blitsort 2024-07-28 20:33:39 -07:00
Brendan Hansknecht
82764dc697
switch to passing the copy function into zig (implement llvm) 2024-07-21 19:04:57 -07:00
Brendan Hansknecht
d028aa3c74
try a different formulation. Maybe it will avoid lookup table 2024-07-21 18:17:37 -07:00
Brendan Hansknecht
f3cae9147c
generate all static size memcpy's 2024-07-21 17:03:07 -07:00
Brendan Hansknecht
fec875d045
have zig generate more efficient copy functions 2024-07-21 14:56:21 -07:00
Brendan Hansknecht
2772aa4912
fix slice refcounting mistakes that can modify data before a list 2024-07-17 22:19:40 -07:00
Brendan Hansknecht
2fd2c25c13
guard all inc and dec calls in zig by elements_refcounted to avoid noop loops 2024-07-13 10:39:58 -07:00
Brendan Hansknecht
9052fbd09c
fix List.sublist and add some more refcounting tests 2024-07-13 10:39:58 -07:00
Brendan Hansknecht
675e0693a4
clarify function name 2024-07-13 10:39:57 -07:00
Brendan Hansknecht
c734a27b59
move List.map* into roc 2024-07-13 10:39:56 -07:00
Brendan Hansknecht
94cb4fb8ff
remove inc functions from list.map*, the closure will inc in necessary 2024-07-13 10:39:56 -07:00
Brendan Hansknecht
266fe4bdc8
fix zig tests 2024-07-13 10:39:56 -07:00
Brendan Hansknecht
6b761f6f81
fix zig builtin compilation and warnings 2024-07-13 10:39:53 -07:00
Brendan Hansknecht
0d0a4a8806
Update refcounting of list builtins to the new system. 2024-07-13 10:39:53 -07:00
Brendan Hansknecht
44cd1ee9c4
Avoid accessing unallocated bytes in list.incref 2024-07-13 10:39:52 -07:00
Brendan Hansknecht
3c842196fa
Update LLVM to properly increment and decrement lists 2024-07-13 10:39:51 -07:00
Brendan Hansknecht
255cc31ad9
change zig bitcode refcounting to require whether or not an element is refcounted
This also requires zig bitcode to have access to the dec functions for elements.
This is needed so that zig will be able to free elements in lists.
2024-07-13 10:39:51 -07:00
shua
f7bec802c0
PR: rename to List.concatUtf8 2024-06-08 13:36:20 +02:00
Richard Feldman
d378a14414
Minor zig refactor 2024-02-13 19:49:11 -05:00
Richard Feldman
0b42a902ab
Have List.withCapacity lowlevel use u64 over usize 2024-01-31 20:29:17 -05:00
Richard Feldman
5b2998966b
Update List.replace to no longer use Nat 2024-01-26 16:06:09 -05:00
Richard Feldman
a8918a4e3b
Update List.dropAt to no longer use Nat 2024-01-26 16:06:09 -05:00
Richard Feldman
a71188dc30
Update List.sublist to no longer use Nat 2024-01-26 16:06:08 -05:00
Richard Feldman
2cf7b5b5ca
Update List.swap to no longer use Nat 2024-01-26 16:06:08 -05:00
Richard Feldman
27474d4ed8
Update List.reserve to no longer use Nat 2024-01-26 16:06:08 -05:00
Folkert
f1ffc36efe
add List.clone 2024-01-20 20:29:07 +01:00
Brendan Hansknecht
f262102299
cleanup list and str builtin naming from refcount to allocation 2023-12-10 19:52:28 -08:00
Brendan Hansknecht
2e2e609547
update zig to 0.11 and update build script
Also update memcpy to avoid recursive memcpy due to optimizations.
2023-10-23 13:50:30 -07:00
Folkert
cf54304cf4
add lowlevel to inc/dec a data pointer 2023-04-28 15:30:23 +02:00
Brendan Hansknecht
2a6c82c937
fix bug where we don't decrement elements if the list is non-unique 2023-03-16 12:12:28 -07:00
Brendan Hansknecht
a955a4937c
misc list refcounting updates 2023-03-16 12:12:28 -07:00
Brendan Hansknecht
ce29c7e92f
fix bugs from recent changes and additions 2023-03-16 12:12:27 -07:00
Brendan Hansknecht
1319ba4844
add List.releaseExcessCapacity builtin 2023-03-13 17:43:21 -07:00
Brendan Hansknecht
b94a046b0d
make sure to check raw capacity when decrementing refcounts 2023-03-13 14:08:24 -07:00
Brendan Hansknecht
dfb748fb03
misc cleanup + change refcount pointer to avoid branching 2023-03-13 14:08:24 -07:00
Brendan Hansknecht
5f6910f747
add todo about upgrading to bit manipulation 2023-03-13 14:08:24 -07:00
Brendan Hansknecht
f96a63c1d4
correct case for zig naming 2023-03-13 14:08:23 -07:00
Brendan Hansknecht
146dff5446
add llvm refcounting and fix memory leak 2023-03-13 14:08:23 -07:00
Brendan Hansknecht
cda37a5d1b
use seamless slices for List.dropAt when possible 2023-03-13 14:08:23 -07:00
Brendan Hansknecht
4ced1bcfdd
add baseline of seamless slices 2023-03-13 14:08:23 -07:00
Brendan Hansknecht
e32c5f6514
standardize on decref instead of deinit for name 2023-03-13 14:08:23 -07:00
Brendan Hansknecht
440c0518f1
Change list.deinit to take alignment directly
In doing so remove the many class directly to utils.decref
2023-03-13 14:08:22 -07:00
Folkert
0af11c210e
fix memory leak in List.concat 2023-01-26 20:31:33 +01:00
Folkert
4e5b106f98
use capacity instead of length in list deinit 2023-01-20 21:44:41 +01:00
Folkert
437498b7ac
list decrement must use capacity, not length 2023-01-14 13:14:37 +01:00
Folkert
05e23f8c5c
decref owned but empty list in List.concat 2022-12-29 00:13:24 +01:00
Folkert
2dfa7d6ef1
fix memory leak in List.concat 2022-12-28 22:52:32 +01:00