dd0dcc9c0a
mie: add null IR value
2025-09-08 15:33:25 +01:00
2ff85a7505
doc: sample: add for and while loop samples
2025-09-08 15:30:44 +01:00
cb63e8d016
doc: sample: remove var keyword
2025-09-08 15:30:24 +01:00
ebfbbd0a1a
frontend: compile: create and (optionally) show isel graph for each block
2025-08-29 15:47:42 +01:00
9c1e0958b0
mie: implement instruction selection graph generation for binary ops and load/store
2025-08-29 15:46:52 +01:00
7fdae9f1e0
mie: move mie_type_to_string to type.c
2025-08-29 15:46:12 +01:00
1a37898d48
cmake: update FindBluelib module
2025-08-29 15:44:12 +01:00
d532d9cff3
lang: codegen: fix free of mie_ctx that isn't allocated by ivy_codegen
2025-08-16 21:11:46 +01:00
7583252b72
doc: add/update sample files
2025-08-16 21:02:14 +01:00
1a9debd6fb
test: update mie_ctx include path
2025-08-16 21:01:49 +01:00
fe2565dfcd
frontend: update mie_ctx include path
2025-08-16 21:01:32 +01:00
adb326c795
lang: codegen: fix instr gen duplicating left operand
2025-08-16 21:00:50 +01:00
bda10b1166
lang: codegen: update mie_ctx include path
2025-08-16 21:00:22 +01:00
9126638045
mie: add a stub instruction selection system
2025-08-16 20:57:43 +01:00
7ef90750db
mie: add status codes
2025-08-16 20:56:40 +01:00
311dd60322
mie: name: add a mie_name destructor that removes it from its parent name map
2025-08-16 20:54:05 +01:00
b4fa90ea7f
mie: move mie_ctx out of the ir subsystem
2025-08-16 20:53:40 +01:00
2b87068852
test: update mie ir api usage
2025-06-02 11:32:46 +01:00
91a3b7cddc
frontend: update mie ir api usage
2025-06-02 11:32:36 +01:00
9f83929600
lang: update mie ir api usage
2025-06-02 11:31:35 +01:00
d01a3b4663
mie: refactor ir api into a separate sub-directory
2025-06-02 11:31:19 +01:00
a3d553019d
frontend: disassemble: implement dumping int/uint constpool values
2025-05-16 16:57:14 +01:00
57c352ab88
asm: parse: fix parse_linefeed not writing constpool entries for int/uint values
2025-05-16 16:56:47 +01:00
2b28371cb6
frontend: disassemble: implement dumping the contents of classes
2025-05-15 12:11:11 +01:00
49d21de894
frontend: disassemble: implement dumping ident, atom, and null constpool values
2025-05-15 12:10:58 +01:00
a76525e11f
asm: parse: use specified indices when writing constpool values
2025-05-15 12:09:39 +01:00
2845c29c5f
asm: assembler: constpool value indices are now used and enforced
...
constpool values must be defined in ascending sequence, each index must be greater than the last.
any gaps in the sequence will automatically be filled with null values.
2025-05-15 12:08:34 +01:00
95f58615e0
asm: reader: implement reading ident and atom constpool values
2025-05-15 12:06:04 +01:00
9229e90723
frontend: disassemble: adjust section dump output format
2025-05-14 16:29:31 +01:00
8998ef0232
frontend: assemble: assembler requires output file to be open read/write
2025-05-14 16:29:09 +01:00
3980c9a21f
asm: parse: implement label reference generation
2025-05-14 16:28:37 +01:00
a35ae51b2f
asm: assembler: implement label creation and resolution
2025-05-14 16:28:30 +01:00
6399022cb3
frontend: disassemble: add a range of switches to control what information is provided
2025-05-13 13:24:43 +01:00
197ba14a4d
asm: reader: implement constpool reader interface
2025-05-13 13:23:59 +01:00
179d0dddaa
asm: assembler: fix write_selector not setting the number of args
2025-05-13 13:23:12 +01:00
ad23eec392
asm: assembler: don't include null terminator when writing string data
2025-05-13 13:22:46 +01:00
d5183aeb9f
common: implement stringification of selectors
2025-05-13 13:20:11 +01:00
6307429bbf
common: add missing status codes to ivy_status_to_string
2025-05-13 13:19:40 +01:00
c254495d3a
frontend: implement disassemble command
2025-05-12 15:53:54 +01:00
656e24b8a7
frontend: implement debug printing of IVY_ASM_TOK_LABEL_REF lexer tokens
2025-05-12 15:53:43 +01:00
d746ea5234
lang: ast: fix nullptr deref in expr_finalise_arith when calculating ast node bounds
2025-05-12 15:53:06 +01:00
7580b714f0
ivy.vim: highlight $-prefixed label references
2025-05-12 15:52:25 +01:00
e3937ab092
doc: update iasm sample to use $-prefixed label references
2025-05-12 15:51:57 +01:00
416472410b
common: add bad format status code
2025-05-12 15:51:24 +01:00
8d9ae5f36a
asm: implement object file reader
2025-05-12 15:51:03 +01:00
2e4d1e53f3
asm: fix misplaced padding breaking offset calculation in ivy_assembler_finish
2025-05-12 15:50:48 +01:00
fe23529c6b
asm: implement instruction decoding
2025-05-12 15:49:53 +01:00
c1ba6e78bc
asm: implement $-prefixed label references for branch instructions
2025-05-12 15:49:27 +01:00
497ba65440
meta: rename ivy-rt to ivy-vm
2025-05-09 14:01:41 +01:00
05df01ff1b
frontend: compile: remove filepath printf output
2025-05-09 13:41:12 +01:00