]> Witch of Git - ivy/commit
Implement basic code generation
authorCassie Jones <code@witchoflight.com>
Sat, 29 Feb 2020 18:28:23 +0000 (19:28 +0100)
committerCassie Jones <code@witchoflight.com>
Sat, 29 Feb 2020 18:32:31 +0000 (19:32 +0100)
commit55bd00592439e5ff1485503b6b831868655a0a13
tree10cb2f7a31699ab4b58550bcdbb85c93ae224233
parentd928eca5337ec50e30f6c6020d0b2074106b9d88
Implement basic code generation

This commit makes it possible to compile and assemble sixty-four.vy, and
compute the correct result!!!!!!!

In order to avoid having to do any detailed analysis on variable usage,
this currently accesses everything via the stack. This means allocating
stack space for every instruction, and then saving and loading
everything from the stack frame.

The translation of individual functions is pretty direct. Due to going
via the stack for everything, we can translate each individual
instruction on its own, in order, without looking at other instructions.

This currently doesn't implement copying data into the closures, because
the current test case doesn't do that at all.

This also hard-codes the one builtin (debug) that's referred to by the
test program.
src/trans/x64.rs