Commit graph

27 commits

Author SHA1 Message Date
koniifer f8c8b3ea79 fix arena 2025-01-31 18:57:21 +00:00
Talha Qamar 82f218272e More work on this 2025-01-31 22:28:13 +05:00
Talha Qamar 6b99bb6f7f Added Arena Allocator (crime against humanity) 2025-01-31 21:17:28 +05:00
koniifer 8414cd9dab needlessly over-engineered testing system 2025-01-31 13:13:56 +00:00
koniifer c6c0b5cd66 implement fork (ableos now supports it) 2025-01-30 21:46:59 +00:00
koniifer 2d9dd38380 i had more code but the compiler said no 2025-01-28 19:42:36 +00:00
koniifer 3045d0a190 hack in "ok" load balancing for lily.collections.HashMap. (make the memory efficiency much worse too) (really we should not use nested dynamic arrays for buckets...)
add some helper functions to lily.collections.Vec for optimisation reasons
optimise lily.alloc.SimpleAllocator a little bit
delete lily.alloc.PageAllocator because it sucks
lily.iter.Iterator.fold bug fix
2025-01-26 19:58:22 +00:00
koniifer 33cf8d7209 iterator work
improve performance of split, chars, chars_ref
properly implement lily.iter.Iterator.fold
partially implement lily.iter.Iterator.collect
fix lily.iter.Skip logic
code cleanup
write proposed iterator spec
2025-01-18 18:49:46 +00:00
koniifer bfe75481e3 medium sized work
make objdump output prettier
print strings in structs correctly
temporary printf bugfix
implement a bunch of iterator functions
implement iterator for string.split, string.chars, string.chars_ref
minor hashmap fixes
implement item, key, and value iterators for hashmaps
implement reserve and new_with_capacity for vecs
2025-01-17 12:39:01 +00:00
koniifer a5e89020c4 lots of work again again
reorganise files again
update spec
prefer ^u8 to ^void
use better-than-c names for memory functions
start work on iterators (spec incomplete)
start work on page allocator
implement arbitrary quicksort
implement into_iter, sort, sort_with, find for Vec(T)
minor improvement to soundness of Type struct
2025-01-15 17:41:51 +00:00
koniifer fd42e53ae5 lots of work again (mostly broken on libc target)
implement foldhash
implement hashmap
squash & log some more bugs
clean up Target & Config interfaces
add rudimentary math functions
extract allocators to new directory
implement vec.get_ref
fix capitalisation
document some of lily's type spec
2025-01-10 19:32:27 +00:00
koniifer fc35e0eb34 add missing features 2025-01-07 19:47:15 -06:00
koniifer e4d72a6352 fixes and documenting all used ableos ecalls 2025-01-08 01:03:42 +00:00
koniifer 70a81a3dd9 finish reorganisation
implement better comptime configuration & target handling
adjust build script
2025-01-08 00:16:03 +00:00
koniifer 7d678d8c0f saving 2025-01-07 21:07:29 +00:00
koniifer cb8e995127 fix 2025-01-06 00:11:02 +00:00
koniifer 15f1351049 write the rest of the formatter, but compiler wants to kill me 2025-01-06 00:10:12 +00:00
koniifer 73184afea4 add option to dump assembly to build script. add hbc_flags script variable. 2025-01-05 23:19:41 +00:00
koniifer fb67c9b382 lots of work
improve build script
reorganise stuff
fix some bugs
improve Type struct
start working on string, fmt, rand
null terminator no longer required on strings
better document bugs
minor opts
2025-01-05 16:50:02 +00:00
koniifer 2f74ac8cc0 documenting some compiler bugs with (compiler) bug: tag.
see main.hb for vague details

also make build script install hbc for you
2025-01-02 03:53:02 +00:00
koniifer 29889918eb add out directory option 2025-01-01 20:37:20 +00:00
koniifer 9e7c78b5f1 improve build script 2025-01-01 20:18:26 +00:00
koniifer 13538ea0be much more robust allocator & vector 2025-01-01 18:52:08 +00:00
koniifer 83f4595c74 properly deinit allocator (revealing new bug) 2024-12-31 22:37:54 +00:00
koniifer 03bf6548dc new bug found 2024-12-31 22:15:45 +00:00
koniifer 5232c465d2 hello world 2024-12-31 18:23:56 +00:00
koniifer c040aced10 Initial commit 2024-12-31 11:47:31 -06:00