Commit Graph

174 Commits

Author SHA1 Message Date
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
CHatingPython 6824015728 refactor(furvm): implement thing constructor 2026-06-06 23:05:34 +02:00
CHatingPython a077457636 feat(furvm): add a thing 2026-06-06 22:52:25 +02:00
CHatingPython 5ace40b6aa refactor(furvm): change unique pointer to shared pointer for module 2026-06-06 22:51:44 +02:00
CHatingPython a869f71f3a feat(furvm): introduce executor 2026-06-06 21:05:17 +02:00
CHatingPython 16b6b9549c feat(furvm): add push byte as int instruction 2026-06-06 17:49:49 +02:00
CHatingPython c6ec18aeb8 feat(furvm): add return instructions 2026-06-06 17:43:35 +02:00
CHatingPython 4895489511 refactor(furvm): add id to module 2026-06-06 12:53:31 +02:00
CHatingPython 5407f8cda7 refactor(furvm): remove function from fwd.hpp 2026-06-05 18:31:06 +02:00
CHatingPython 2030b66c7d docs: add missing alias comment 2026-06-05 18:17:05 +02:00
CHatingPython 0304911516 refactor: add bytecode to module 2026-06-05 18:16:54 +02:00
CHatingPython 6481c9c71d refactor(furvm): change instruction_t base to furvm::byte 2026-06-05 18:14:25 +02:00
CHatingPython 6605b3264f docs: fix typo in PushConstant instruction 2026-06-05 18:06:54 +02:00
CHatingPython 66fdd1dc9c feat(furvm): introduce module, instruction and constant 2026-06-05 17:55:40 +02:00
CHatingPython 2f9328d85a feat(furvm): introduce context 2026-06-05 12:17:00 +02:00
CHatingPython 4a3ce6040c chore: init furvm 2026-06-04 11:06:31 +02:00
CHatingPython b8e1de8f68 refactor(AST): make operation node names consistent
Fixes #5
2026-06-03 18:25:18 +02:00