|
|
25672d3f05
|
First common arch-independent IR prototype (no structs or arrays yet)
|
2026-03-18 18:35:47 +03:00 |
|
|
|
1a0dd2a48f
|
Aarch64 JIT compiler wip: partial struct support
|
2026-03-17 18:08:23 +03:00 |
|
|
|
53be7b92df
|
Store inferred struct field type in the field node itself
|
2026-03-16 12:44:27 +03:00 |
|
|
|
ab028c9d7a
|
Hard-code size of bool as 1 just in case
|
2026-03-15 20:12:18 +03:00 |
|
|
|
8c0b371fdb
|
Implement computing struct layout (size, alignment, field offsets) in type checking
|
2026-03-15 20:12:01 +03:00 |
|
|
|
0d6b491fd4
|
Fix resolving top scope variables in resolve_identifiers (were considered global, but not anymore)
|
2026-03-15 16:34:14 +03:00 |
|
|
|
bcdcc9e752
|
Fix identifier & literal source locations in parser
|
2026-03-15 16:33:29 +03:00 |
|
|
|
b25400ad65
|
Properly implement inner functions in aarch64 compiler & support module entry point
|
2026-03-15 14:16:33 +03:00 |
|
|
|
4b555c2ad4
|
Fix filename tracking in locations & separate prelude location and full block location for AST nodes containing statement lists
|
2026-03-14 00:48:46 +03:00 |
|
|
|
3981b78b2d
|
Rename parser::finilize -> finalize
|
2026-03-13 17:18:55 +03:00 |
|
|
|
89b6b09be5
|
Fix scope stack offset cleanup in aarch64 compiler
|
2026-03-13 14:25:05 +03:00 |
|
|
|
51c78169b3
|
Validate functions with no return & automatically add return in the end of a function returning unit
|
2026-03-13 13:40:09 +03:00 |
|
|
|
902d272deb
|
Fix empty location in if chains
|
2026-03-13 13:39:01 +03:00 |
|
|
|
ad46b230d8
|
Fix missing handling of expression statements in aarch64 compiler
|
2026-03-13 12:53:18 +03:00 |
|
|
|
e5ce32d25f
|
Fix handling empty returns in aarch64 compiler
|
2026-03-13 12:53:03 +03:00 |
|
|
|
788e98409a
|
Implement remainder operator in aarch64 compiler
|
2026-03-13 11:24:43 +03:00 |
|
|
|
0541068c2b
|
Improve 'not implemented' error messages
|
2026-03-13 11:09:39 +03:00 |
|
|
|
7f574eabbd
|
Fix extending register after logical not in aarch64 compiler
|
2026-03-13 11:05:20 +03:00 |
|
|
|
c8cd86dd0b
|
Add foreign functions (stub in interpreter, implemented in aarch64 compiler)
|
2026-03-13 11:01:53 +03:00 |
|
|
|
cb433d87bf
|
Fix short-circuit || for small integer types
|
2026-03-12 23:13:42 +03:00 |
|
|
|
13a9ba24f2
|
Refactor: split function definition & declaration in ast
|
2026-03-12 21:45:21 +03:00 |
|
|
|
927368aa80
|
Add short-circuiting versions of and/or (&& and ||) and implement them for bools and integers in interpreter and aarch64 compiler
|
2026-03-12 21:37:15 +03:00 |
|
|
|
c7e0232b15
|
Aarch64 JIT: check function pointer support
|
2026-01-19 15:14:13 +03:00 |
|
|
|
30b88d4add
|
Aarch64 JIT compiler: Fix else blocks
|
2026-01-19 15:13:55 +03:00 |
|
|
|
7a3c7cca5d
|
Support mutually recursive functions in identifier resolution & type checker
|
2026-01-16 15:25:44 +03:00 |
|
|
|
aab10621cc
|
Don't check the host OS when determining host ABI
|
2026-01-11 16:25:48 +03:00 |
|
|
|
687cf31063
|
Check for mmap call failure
|
2026-01-11 15:47:57 +03:00 |
|
|
|
4def0b096d
|
Fix parsing half-floats on non-clang
|
2026-01-07 14:47:57 +03:00 |
|
|
|
1dc60011d7
|
Implement function calls
|
2026-01-06 22:10:22 +03:00 |
|
|
|
cb32ec3459
|
Refactor jit-compiling interface: introduce common global program context with shared code & symbol tables
|
2026-01-06 19:10:52 +03:00 |
|
|
|
668851f6bf
|
Aarch64 jit compiler wip: fix loading/storing floating-point values
|
2026-01-06 12:45:12 +03:00 |
|
|
|
00d8f0fe52
|
Aarch64 jit compiler wip: implement integer & floating-point type conversions
|
2026-01-06 12:11:56 +03:00 |
|
|
|
12a4f64aed
|
Aarch64 jit compiler wip: suppport floating-point variables
|
2026-01-05 10:46:53 +03:00 |
|
|
|
c9f4a9c19d
|
Aarch64 jit compiler wip: suppport floating-point arguments
|
2026-01-05 10:29:46 +03:00 |
|
|
|
428283dbf8
|
Aarch64 jit compiler wip: floating-point comparisons
|
2026-01-05 10:23:33 +03:00 |
|
|
|
45004ce812
|
Fix inferring type of a != expression node
|
2026-01-05 10:23:13 +03:00 |
|
|
|
8f5744c3f4
|
Aarch64 jit compiler wip: floating-point arithmetic operators
|
2026-01-05 01:03:52 +03:00 |
|
|
|
c253041068
|
Aarch64 jit compiler wip: support f16 literals
|
2026-01-05 00:49:47 +03:00 |
|
|
|
7ddc8ba25d
|
Add f16 type & literals support in parser, type checker & interpreter
|
2026-01-05 00:36:11 +03:00 |
|
|
|
0d87d35c47
|
Aarch 64 jit compiler wip: floating-point support wip
|
2026-01-05 00:05:20 +03:00 |
|
|
|
8b560b660b
|
Aarch 64 jit compiler wip: fix loading literals
|
2026-01-05 00:05:04 +03:00 |
|
|
|
45e19e47b2
|
Fix parsing floating-point literals on clang
|
2026-01-05 00:04:25 +03:00 |
|
|
|
e5b11fd707
|
Aarch64 jit compiler wip: support bool function arguments
|
2026-01-04 13:52:53 +03:00 |
|
|
|
f28138e5b9
|
Aarch64 jit compiler wip: implement branching and loops
|
2026-01-04 13:45:03 +03:00 |
|
|
|
db4a8ac264
|
Aarch64 compiler wip: replace csel with csetm for comparisons
|
2026-01-04 12:36:24 +03:00 |
|
|
|
7ed008543c
|
Aarch64 compiler wip: support function arguments (integers only)
|
2026-01-04 12:27:46 +03:00 |
|
|
|
43f2d4531a
|
Aarch64 compiler wip: properly handle scopes
|
2026-01-04 12:17:12 +03:00 |
|
|
|
716d51221f
|
Aarch64 compiler wip: simplify stack, always 16-byte-align pushed values
|
2026-01-04 12:15:52 +03:00 |
|
|
|
4df89de879
|
Aarch64 compiler wip: variables
|
2026-01-04 12:07:35 +03:00 |
|
|
|
d5065ec38e
|
Aarch64 JIT-compiling wip: no-argument functions, arithmetic & logical operations, comparisons (integers only)
|
2026-01-03 22:38:43 +03:00 |
|