Jakub Doka
3c5f5dea95
removing inlining restrictions
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 23:16:24 +01:00
Jakub Doka
c8bdcd148c
ficing malformed alignment of structs
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 23:06:20 +01:00
Jakub Doka
9752c1f736
yep
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 22:25:03 +01:00
Jakub Doka
59d2a0025e
yes
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 22:08:17 +01:00
Jakub Doka
27811d2e6f
fixed some
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 21:03:43 +01:00
Jakub Doka
2c360f5626
yes
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 17:46:10 +01:00
Jakub Doka
c3184a536f
welp
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 17:34:04 +01:00
Jakub Doka
6e18fecb50
disabling null checks and nerfing the mem opts
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 17:15:07 +01:00
Jakub Doka
e328d43a32
refactoring strong ref to be less memorty efficient but easier to use
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-18 11:20:00 +01:00
Jakub Doka
8a9f109ffb
starting the lang rework, also learded a new pattern of borrowing
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-11 11:02:51 +01:00
Jakub Doka
fa2c4bcd8f
save
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-10 10:30:42 +01:00
Jakub Doka
18e8a831ab
adding target @target directive
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-01 22:56:40 +01:00
Jakub Doka
8aee4f2890
Properly deduplicating imported functions
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-01 21:24:03 +01:00
Jakub Doka
da5bd3d36a
making the invalid escape sequence fully explain the sintax
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-01 19:49:19 +01:00
Jakub Doka
6f94ae2b2a
reducing amound ot needless diagnostics caused transitively
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-01 19:20:56 +01:00
Jakub Doka
58479deca1
polishing the compiler cli (cheating with clap)
...
also adding the raylib example
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-30 13:26:38 +01:00
Jakub Doka
68186ec0ce
supporting translation of all nodes
...
TODO: handle ABI argument passing
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-29 16:37:24 +01:00
Jakub Doka
ee67ebb017
adding cranelift backend
...
also splitting hbc binary into a separate crate to avoid dependency
cycle, the backand is thus far capable of compiling the simplest program
that returns an custom status code
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-29 13:30:29 +01:00
Jakub Doka
08fc9d6ab6
gc
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-25 21:55:26 +01:00
Jakub Doka
abcb3434f8
removing unwraps that can cause panics when typechecking
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-25 21:54:32 +01:00
Jakub Doka
4ebf1c7996
fixing outdated error message
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-25 21:34:58 +01:00
Jakub Doka
3f11e19a91
properly handling generic method calls
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-25 21:29:30 +01:00
Jakub Doka
51bfbdf7ae
tests are now autogenerated from the readme, this makes test names DRY
...
I want to reduce friction of adding new tests as much as possible
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-25 21:17:03 +01:00
Jakub Doka
5c8f7c9c79
i am not useless after all, the invalid store elimination removed
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-25 20:27:16 +01:00
Jakub Doka
ee434e6135
more forgotten stuff
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 21:43:53 +01:00
Jakub Doka
8ededb8612
adding standard instruction logging utility
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 21:33:15 +01:00
Jakub Doka
9c4b84ce33
fixing the precedence regarding slice ranges
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 20:43:49 +01:00
Jakub Doka
5909837015
making sure sliced pointer is loaded
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 18:53:52 +01:00
Jakub Doka
9f67b22aa2
maybe now the bug is fixed
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 17:01:36 +01:00
Jakub Doka
939d0807fb
fixing slice slicing
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 16:18:44 +01:00
Jakub Doka
888b38ad4c
frgot to transition @nameof to slices
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-21 23:55:02 +01:00
Jakub Doka
5275a7e0fd
adding slices
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-21 23:44:33 +01:00
Jakub Doka
418fd0039e
making the pointered arrays work properly
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-21 17:36:42 +01:00
Jakub Doka
d220823d78
fixing the bug in previous commit
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-21 17:14:33 +01:00
Jakub Doka
af19f4e30d
making the identifiers accessible if they are captured
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-21 14:21:58 +01:00
Jakub Doka
4b3b6af70e
adding habdler for tuples with known type
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-20 11:59:21 +01:00
Jakub Doka
f59c0c1092
some syntax changes
...
mainly added the explicit type for declarations
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-20 11:32:18 +01:00
Jakub Doka
8ad58ee6b6
changing the array sintax to be distinc from tuple
...
the arrays can be declared in a more natural way
type of the element can aso be inferred form the first element
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-20 10:17:34 +01:00
Jakub Doka
6e8eb059f6
adding tuples
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-19 23:08:36 +01:00
Jakub Doka
969ea57e3f
optimizing the bitset used in register allocation
...
also fixing an enum bug
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-19 19:43:30 +01:00
Jakub Doka
cfd3eac0a8
making the instruction scheduling smarter
...
the instructions that are only depended by phis are pushed to the end of
the block, which usually saves copy instructions
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-19 11:00:19 +01:00
Jakub Doka
a8aba7e7c2
making the Call node less special
...
return value is now a separate node pinned to the call
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-19 10:48:05 +01:00
Jakub Doka
f05c61a99e
adding @ChildOf directive
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-18 00:06:57 +01:00
Jakub Doka
e769fa8dba
removing error for needless @as temporarly
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 22:29:16 +01:00
Jakub Doka
b3f858f64b
adding @error directive
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 21:35:47 +01:00
Jakub Doka
1584ec7563
adding @Any directive
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 21:11:02 +01:00
Jakub Doka
6085177982
fixed the unreachable functions deleting branches
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 20:53:13 +01:00
Jakub Doka
47014c6164
lifting the restriction for inlining to allow normal functions as well
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 19:32:30 +01:00
Jakub Doka
3702a99d03
fixing another incorrect file reporting
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 19:30:42 +01:00
Jakub Doka
248bdf003a
making the else branch have less priority
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 19:10:56 +01:00