Jakub Doka
7837eeb90d
implementing the loop iteration optimization
...
the multiplication and addition to a pointer is replaced with simply
incremrnting the pointer it self
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 19:37:37 +01:00
Jakub Doka
5a7a01ca02
adding the stack offset elision for return values as well
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 17:57:22 +01:00
Jakub Doka
f9c47f86ad
fixing a glaring bug, where the elidded offset is also offset
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 17:42:20 +01:00
Jakub Doka
48a0c8d0b9
POC for removeing needless stack offset computes when only value is used
...
TBD: there are far more cases where this will apply
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 17:17:41 +01:00
Jakub Doka
00f6729d31
supporting ascii literals
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-14 21:02:29 +01:00
Jakub Doka
dc96c8b10a
the items accesed outside the nested scope no longer get duplicated
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-14 18:50:13 +01:00
Jakub Doka
5aeeedbdce
fixing non pointer struct method receiver not counting as use
...
forgot to strip pointer
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-14 15:19:02 +01:00
Jakub Doka
fae75072f4
removing hardcoded html files and replacing them with markdown
...
the markdown gets transpiled on build and built files are then included
in the server executable
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-14 13:17:58 +01:00
Jakub Doka
71ba2c2486
Dividing function into template and instance, rmoving cumbersome options
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-02 15:51:12 +01:00
Jakub Doka
c5d5301b7b
Removing some clones and fixing parent scoping in case of globals
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-02 12:59:07 +01:00
Jakub Doka
c553c3d9e9
Removing repetative code, adding ent slice to properly index modules
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-01 19:04:27 +01:00
Jakub Doka
9ce446b507
Adding the simplest version of unions
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-01 15:11:38 +01:00
Jakub Doka
3b4b30b2bd
Restructuring the compiler
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-01 14:01:44 +01:00
Jakub Doka
cf672beb79
making ableos path resolver public
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 22:45:59 +01:00
Jakub Doka
3f6ebdd009
fixing phi moves (longer move cycles)
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 22:33:13 +01:00
Jakub Doka
19aca050ed
add new ableos path resolver, separate platform independent code
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 18:57:29 +01:00
Jakub Doka
d368ac023b
making error fields public
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 16:49:42 +01:00
Jakub Doka
8ea6c5cfcc
fixing miscompilation of generic struct functions
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 16:30:58 +01:00
Jakub Doka
e7cd2c0129
making the loader function customizable
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 15:44:51 +01:00
Jakub Doka
e44d003e7f
completing the generic types example
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 13:38:44 +01:00
Jakub Doka
a2ca8d98df
fixing a bug with floationg point comparison
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 12:40:39 +01:00
Jakub Doka
116f045a5f
adding defer
2024-11-24 18:50:55 +01:00
Jakub Doka
784d552c1d
fixing scoping bug
2024-11-24 16:43:45 +01:00
Jakub Doka
24a3aed360
implementing struct method for non generic contexts
2024-11-24 16:17:57 +01:00
Jakub Doka
58ee5c0a56
in progress of adding methods
2024-11-24 14:47:38 +01:00
Jakub Doka
9dfb2eb606
fg
2024-11-24 11:26:38 +01:00
Jakub Doka
5df4fb8882
changing the gcm to not mutate nodes in recursive functions
2024-11-23 19:47:17 +01:00
Jakub Doka
86ca959ea3
removing needless data dependencies
2024-11-23 17:23:33 +01:00
Jakub Doka
f353bd5882
passing down the inference of 'void' to statements
2024-11-23 15:33:28 +01:00
Jakub Doka
fb119bc6eb
allowing compatison of types
2024-11-23 15:28:02 +01:00
Jakub Doka
aa83ed2ec9
fixing the annoyance
2024-11-23 14:19:47 +01:00
Jakub Doka
fb11c94af4
fixing some bugs and extending runtime of programs
2024-11-23 12:35:16 +01:00
Jakub Doka
d8d039b67a
adding capability to run posts and displaing cumulative runs
2024-11-23 10:18:05 +01:00
Jakub Doka
b12579ff65
adding import count to posts
2024-11-23 00:06:25 +01:00
Jakub Doka
0aa355695a
fixing the buggg, finally
2024-11-22 21:01:45 +01:00
Jakub Doka
2253ac6198
fixing some bugs
2024-11-22 19:50:36 +01:00
Jakub Doka
e89511b14c
fixing position reporting for optimized returns
2024-11-17 22:26:31 +01:00
Jakub Doka
1c135a3050
adding interesting asert
2024-11-17 21:43:02 +01:00
Jakub Doka
f83194359c
fixed yet another off by 1
2024-11-17 21:35:41 +01:00
Jakub Doka
becd5c4b7f
well?
2024-11-17 21:30:20 +01:00
Jakub Doka
37dd13cab2
brah
2024-11-17 21:27:30 +01:00
Jakub Doka
bc2dd82eb7
welp
2024-11-17 21:25:22 +01:00
Jakub Doka
aa2de502cc
saving
2024-11-17 21:09:36 +01:00
Jakub Doka
542c69fd60
changing case checking to a warning
2024-11-17 20:57:10 +01:00
Jakub Doka
95e9270fef
adding case checking
2024-11-17 20:04:53 +01:00
Jakub Doka
fe5a8631f6
fixed a bug of not marking idents as used
2024-11-17 18:44:24 +01:00
Jakub Doka
8892dd729a
fixing the false return location
2024-11-17 18:15:58 +01:00
Jakub Doka
a7718e1220
cleaning up some code
2024-11-17 17:14:44 +01:00
Jakub Doka
e079bbd312
forgot to support explicit enum type
2024-11-17 16:30:59 +01:00
Jakub Doka
12b9d43754
adding minimal enums
2024-11-17 16:25:39 +01:00