Commit Graph

190 Commits

Author SHA1 Message Date
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
CHatingPython 00ec0b8f52 build: set cmake C++ standard 2026-06-11 12:15:59 +02:00
CHatingPython 9021ae0089 feat(furvm): add collect function to context 2026-06-10 20:35:05 +02:00
CHatingPython 4d935ef75f feat(furvm): add operation instructions 2026-06-10 20:02:31 +02:00
CHatingPython 0534359503 feat(furvm): add clone function to thing
Closes #9
2026-06-10 19:32:07 +02:00
CHatingPython efe028a54f chore: improve the pre-commit hook 2026-06-10 19:30:15 +02:00
CHatingPython 1e19d83d83 feat(furvm): implement duplicate instruction 2026-06-10 19:20:38 +02:00
CHatingPython 8afeabfd69 refactor(furvm): future-proofing thing ctor and dtor 2026-06-10 16:05:53 +02:00
CHatingPython a4fd939cd2 feat(furvm): add reference counting
Refs: #10
2026-06-10 15:42:45 +02:00
CHatingPython 26d77bdc02 refactor(furvm): use generational indexes for thing
Refs: #10
2026-06-10 15:42:09 +02:00
CHatingPython d86f38d166 docs: document stack underflow exception 2026-06-10 15:10:35 +02:00
CHatingPython 874d1f14cb refactor(furvm): use an arena allocator for thing data
Refs: #10
2026-06-10 15:09:35 +02:00
CHatingPython 48c6da1134 feat(furvm): add stack underflow exception 2026-06-07 12:02:36 +02:00
CHatingPython 464b24eeed feat(furvm): implement return value instruction 2026-06-07 11:43:38 +02:00
Aleksander Krajewski eaa74fd573 Merge pull request #11 from redblueek/master
docs(contrib): make CONTRIBUTING.md better
2026-06-07 11:42:42 +02:00
redblueek 9cd54c1c60 docs(contrib): make CONTRIBUTING.md better 2026-06-07 11:40:28 +02:00
CHatingPython e7e5f36380 feat(furvm): add step function to executor 2026-06-07 10:58:51 +02:00
CHatingPython bfdbbb0d5f refactor(furvm): better thing implementation 2026-06-06 23:16:59 +02:00
CHatingPython daf16c18e1 refactor(furvm): add shared pointer aliases 2026-06-06 23:08:20 +02:00