aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-10-15Added a routine to load a pointer as stack memoryAryadev Chavali
2023-10-15Changed stack data to be a pointerAryadev Chavali
I wouldn't really want this to be malloc'd per se, you could make a byte array on the stack then pass it into the VM?
2023-10-15Split off general types and structures into separate headerAryadev Chavali
2023-10-15Changed stack.pointer->stack.ptrAryadev Chavali
2023-10-15Added floats (64 bit floating point) push and pop routinesAryadev Chavali
Not machine independent, uses the underlying memcpy routine.
2023-10-15Force big endian when pushing wordsAryadev Chavali
This ensures that if one wanted to pop a word byte by byte, they'd go from least to most significance. Machine independent so that's nice.
2023-10-15Add macro for size of a wordAryadev Chavali
Smaller number of changes necessary to change types.
2023-10-15Added macro constructors for union typesAryadev Chavali
2023-10-15Implemented functions to pop a byte and a wordAryadev Chavali
2023-10-15Implemented a union type to make vm_push_* routines uniformAryadev Chavali
Function dispatch
2023-10-15Added functions to push a byte and a wordAryadev Chavali
Maybe I should make a union for the type, so I can dispatch via function pointers?
2023-10-15Defined a simple virtual machine data structureAryadev Chavali
Currently just contains a "stack".
2023-10-15Added some type aliasesAryadev Chavali
Nicer to refer to a byte as "byte" rather than "uint8_t"
2023-10-15Added a READMEAryadev Chavali
2023-10-15Remove unit tests from github workflowAryadev Chavali
We don't *have* unit tests lol.
2023-10-15First commit!Aryadev Chavali
This is a from the ground rework of an old project of the same name. I'm hoping to be more concerned with runtime efficiency, bytecode size and all those things that should actually matter for something that may host time/space critical code.