Commit Graph

158 Commits

Author SHA1 Message Date
CHatingPython 3a2fa32ce1 fix!: remove references to context::collect
I forgor to do that earlier lol

Refs: #12
2026-06-20 12:56:43 +02:00
CHatingPython f2294079a0 docs(furvm): document the context
Refs: #12
2026-06-20 12:42:42 +02:00
CHatingPython 39f873a984 docs(furvm): document detail folder
Refs: #12
2026-06-20 12:26:53 +02:00
CHatingPython d46aa45c1f feat(furvm): add on release callback to refcount handles
Refs: #12
2026-06-20 12:19:53 +02:00
CHatingPython 190aa8f985 refactor(furc): move arena allocator out of the parser
Refs: #12
2026-06-20 11:56:15 +02:00
CHatingPython f80abd68ad refactor(furvm): introduce a furvm.hpp header
Refs: #12
2026-06-20 11:32:01 +02:00
CHatingPython 99666495e7 refactor(furvm): improve serialization
Refs: #12
2026-06-19 15:14:25 +02:00
CHatingPython 6f023765b5 chore: clang-tidy 2026-06-19 15:13:56 +02:00
CHatingPython 65e5fdf324 refactor(furvm): move bad access exceptions to exceptions.hpp
Refs: #12
2026-06-19 14:26:09 +02:00
CHatingPython 5a1b7c5aa6 refactor(furvm): expose context thing allocator
Refs: #12
2026-06-19 14:15:05 +02:00
CHatingPython f14f3854e2 fix(furvm): fix thing allocator
Refs: #12
2026-06-19 11:55:30 +02:00
CHatingPython 6fbdb2299b refactor(furvm): refactor import function
Refs: #12
2026-06-19 11:36:20 +02:00
CHatingPython ec2c81fc56 refactor(furvm): improve the handle system
Absolute slop

Refs: #12
2026-06-18 23:58:37 +02:00
CHatingPython e9b38e95a2 refactor(furvm): integrate handle system into things
Sloppy af

Refs: #12
2026-06-17 20:19:53 +02:00
CHatingPython 00bcc0e6a5 refactor(furvm): use the handle system
Refs: #12
2026-06-17 13:59:54 +02:00
CHatingPython e8ccaa6390 feat(furvm): implement a handle
Refs: #12
2026-06-16 16:55:43 +02:00
CHatingPython c2b32c9604 refactor(furvm): rename handle suffixes to ids
Refs: #12
2026-06-16 16:21:49 +02:00
CHatingPython c9f714642c refactor(furvm): refactor thing
A pretty sloppy thing class refactor.

Refs: #12
2026-06-16 14:59:29 +02:00
CHatingPython 0dfa8c1c02 refactor(furvm): refactor executor
Refs: #12
2026-06-16 14:45:36 +02:00
CHatingPython 78acfb6ee2 refactor(furvm): refactor function
Refs: #12
2026-06-16 12:48:16 +02:00
CHatingPython 43dac1ec6d refactor(furvm): refactor mod
Refs: #12
2026-06-16 12:05:55 +02:00
CHatingPython b35a274e81 refactor(furlang/ir): rename module to mod
Refs: #12
2026-06-16 11:25:41 +02:00
CHatingPython 63ea593c1e Merge branch 'furvm' into ssa 2026-06-15 17:40:26 +02:00
CHatingPython 8dfc880c07 feat(furvm): introduce comparison operators 2026-06-15 00:06:50 +02:00
CHatingPython eec25e3aea feat(furvm): introduce jump and jump not zero instructions 2026-06-14 23:49:29 +02:00
CHatingPython e809eb82c7 fix(furvm): handle import function in function move operators 2026-06-14 23:48:43 +02:00
CHatingPython 9fccaefbfc Merge branch 'furvm' into ssa 2026-06-14 15:20:28 +02:00
CHatingPython 759ccad7a6 feat(furvm): add serializer 2026-06-14 15:19:12 +02:00
CHatingPython f6f716e8c9 feat(furvm): add variables 2026-06-14 14:22:45 +02:00
CHatingPython a262014348 feat(furc/ssa): implement de-ssa phase
Refs: #2
2026-06-14 12:52:14 +02:00
CHatingPython 986015bc09 feat(furc/ssa): implement copy propagation
Refs: #2
2026-06-14 11:59:39 +02:00
CHatingPython ac1e226b4b feat(furc/ssa): add dead code elimination
Refs: #2
2026-06-13 22:33:57 +02:00
CHatingPython d0f3637539 feat(furc/ssa): implement basic constant propagation
Refs: #2
2026-06-13 14:46:16 +02:00
CHatingPython f1f62fad8c refactor(furc/ssa): change to semi-pruned SSA
Refs: #2
2026-06-13 12:38:01 +02:00
CHatingPython 065a2af699 refactor(furc/ssa): fix typo
Refs: #2
2026-06-13 12:20:20 +02:00
CHatingPython 767970c69b feat(furc): introduce while loop statement
Refs: #2
2026-06-12 23:10:26 +02:00
CHatingPython 97c01bc96c refactor(furc/ssa): add exit instruction awareness
Refs: #2
2026-06-12 23:09:36 +02:00
CHatingPython abd975be23 refactor(furc/ssa): revert back to maximal SSA
Refs: #2
2026-06-12 23:05:33 +02:00
CHatingPython be386cf230 feat(furc/ssa): implement renaming
Refs: #2
2026-06-12 22:07:26 +02:00
CHatingPython a14252bd1d refactor(furlang/ir): improve instruction interface
Refs: #2
2026-06-12 14:45:26 +02:00
CHatingPython 6b92e19b23 refactor(furlang/ir): add version to register_operand
Refs: #2
2026-06-12 14:07:09 +02:00
CHatingPython 865691df26 feat(furc, ssa): implement phi instruction placement
Refs: #2
2026-06-12 13:45:35 +02:00
CHatingPython b4fda8d7d0 feat(furc): start working on ssa optimizations
Compute dominance frontiers.

Refs: #2
2026-06-12 12:21:52 +02:00
CHatingPython 3f6fcc56ff feat(furlang): introduce phi instruction
Refs: #2
2026-06-12 09:43:42 +02:00
CHatingPython c1b65838b0 Merge remote-tracking branch 'origin/master' 2026-06-12 09:13:35 +02:00
CHatingPython f0fe6b4179 feat(furvm): add import function 2026-06-12 09:03:46 +02:00
CHatingPython 3f6d0adef6 feat(furvm): add call instruction 2026-06-11 15:09:30 +02:00
CHatingPython 6ca5fcc995 fix(furvm): change equals to not equals in function's position and native 2026-06-11 15:09:00 +02:00
CHatingPython ba39f5ab27 feat(furvm): add basic function 2026-06-11 14:50:51 +02:00
CHatingPython 5472b77ea0 refactor(furvm): move thing operators to thing.cpp 2026-06-11 12:18:47 +02:00