igor
19cae8c56d
adjusted the type checker to properly process strings
2026-03-09 14:24:31 +01:00
igor
d65b05f1d2
small fix to the function responsible for hashing the compiler flags
2026-03-09 14:18:11 +01:00
igor
2a1ae2f774
compiler: add -O0/-O2 flags, -v 1..4, whole-word JIT, lazy init, auto-inline control
...
- Add -O0 (no opts) and -O2 (no opts + no checks) CLI flags
- Add -v 1..4 verbosity: timing, per-function stats, debug dump, optimization diffs
- Whole-word JIT: compile Definition bodies to native x86-64 for CT VM
- Lazy CTMemory/JIT/ctype init (defer ctypes until first CT execution)
- Stack-effect comment parsing for stack-checks
- Peephole rules refactored to module-level dicts with O(1) lookup
- _emitted_start short-circuit (O(1) vs O(n) scan)
- Add --no-auto-inline to disable auto-inlining of small asm bodies
- Fix --ct-run-main to execute after linking (prevent SIGSEGV)
- Stdlib: small optimizations like swap + drop -> nip
2026-03-09 14:04:45 +01:00
igor
269055be5f
added more extensive peephole optimizations
2026-03-02 14:44:49 +01:00
igor
4a5dd89932
update the the cfg generation
2026-03-02 14:05:00 +01:00
igor
7faafe9df0
added an option to generate a basic control flow graph for graphviz
2026-03-02 13:40:51 +01:00
igor
13f33d7820
added better support for structs for extern functions, added a flag to disable list folding and made extern functions automaticly have priority 1
2026-03-02 10:21:42 +01:00
igor
86d4ffbb9a
fixed dce with user defined _start
2026-02-27 08:47:41 +01:00
igor
95cf89cdf5
extended the extern support
2026-02-26 11:01:38 +01:00
igor
c5cdd5a7fd
added the option to customize _start
2026-02-25 16:58:31 +01:00
igor
2740fbe219
small fix
2026-02-20 15:21:57 +01:00
igor
c4b15e0666
implemented quick sort, ported the repl to run on the ct vm and added some more optimizations
2026-02-20 15:03:49 +01:00
igor
461ab1802a
added caching
2026-02-20 08:55:07 +01:00
igor
97f3df3836
update to the doc tool and to arr.sl
2026-02-19 16:14:41 +01:00
igor
2b311c7be7
update to the sorting functions and small fix to the compiler it self
2026-02-19 10:42:53 +01:00
igor
f3de51f5d8
update
2026-02-18 16:05:48 +01:00
igor
cd1df4b18d
added a priority system
2026-02-18 14:34:35 +01:00
igor
5030138f30
optimizations
2026-02-18 14:18:41 +01:00
igor
b0de836beb
general update
2026-02-18 13:58:08 +01:00
igor
8bb292f49b
added function pointers
2026-02-18 10:59:37 +01:00
igor
28bc0e3842
changed the macro args to start from 0
2026-02-18 09:45:13 +01:00
igor
9732f0e74a
added --no-artifact and --script and a small fix to the syscall word
2026-02-18 08:48:30 +01:00
IgorCielniak
e95244c7f3
update to the ct vm
2026-02-17 20:39:13 +01:00
igor
f4c3dca436
added option to test the compatibility of the compile time vm with the actual runtime behaviour
2026-02-16 16:06:43 +01:00
IgorCielniak
2b48e2d7e6
added loop unroling
2026-02-10 15:18:30 +01:00
IgorCielniak
08892c97bb
added basic constant folding
2026-02-07 21:06:01 +01:00
IgorCielniak
a8908819c4
added the option to compile in to .so and .a
2026-02-07 20:49:24 +01:00
IgorCielniak
1652692176
slight fixes to cte
2026-02-04 08:52:14 +01:00
IgorCielniak
5ea020100e
implemented realloc as well as a bunch of fixes and some small changes like changing the order of arguments for !, making alloc drop etc.
2026-02-02 15:51:58 +01:00
IgorCielniak
ec826c31b2
changed the label generation logick to avoid the word_ prefix
2026-02-02 12:22:22 +01:00
IgorCielniak
dfc88c20eb
small update
2026-01-31 22:18:41 +01:00
IgorCielniak
ff6af0b783
update to structs
2026-01-21 14:26:30 +01:00
IgorCielniak
805f8e26a5
added more debug info when compiling in debug mode, now the debug info contains mapping to the original .sl file
2026-01-18 19:55:59 +01:00
IgorCielniak
725fec9d73
added a simple effect system to avoid the hack with mentioning 'print_buf' in in comments inside of for ex. print
2026-01-16 11:59:41 +01:00
IgorCielniak
6ea160b388
update to the C FFI
2026-01-13 18:41:05 +01:00
IgorCielniak
a195e2b7cf
added elif
2026-01-12 19:51:52 +01:00
IgorCielniak
8139aa66d9
make 'inline' come before 'word' instead of after the function definition
2026-01-10 22:19:55 +01:00
IgorCielniak
c31d8b93ce
added a repl
2026-01-09 15:14:49 +01:00
IgorCielniak
315ad9ef77
another small update to error reporting
2026-01-09 12:33:55 +01:00
IgorCielniak
95f6c1dac5
small improvement for error reporting
2026-01-09 12:29:08 +01:00
IgorCielniak
c3490a37ae
added compile time intrinsics that allow for modification of the prelude and bss section
2026-01-09 12:22:00 +01:00
IgorCielniak
0acf5555a8
added goto
2026-01-09 11:10:18 +01:00
IgorCielniak
8466664637
added inline functions
2026-01-09 11:01:24 +01:00
IgorCielniak
f2af252bc4
added dead code elimination
2026-01-09 10:42:13 +01:00
IgorCielniak
d62f2fe02d
introduced direct ability to call syscalls and linux.sl
2026-01-08 20:56:36 +01:00
IgorCielniak
f7b08afdcb
implemented 'here'
2026-01-08 19:04:29 +01:00
IgorCielniak
e37f5ae5e4
added include paths
2026-01-08 18:40:32 +01:00
IgorCielniak
e7abc47cdf
ststic arrays and dynamic arrays
2026-01-08 18:34:34 +01:00
IgorCielniak
1727bab944
added variables
2026-01-08 16:05:43 +01:00
IgorCielniak
b9098d9893
changed the way that functions are defined
2026-01-08 15:28:10 +01:00