Ben L. Titzer
Ben L. Titzer
Really excited to see this!
Thanks for that info @Chris00. I support the addition of a rounding immediate to all floating point bytecodes that do rounding. It turns out to also be useful in situations...
It's also worthwhile noting that `fN.copysign` is not typically a hardware instruction; at least not on any of the ISAs that V8 supports. It's done with a couple of instructions...
It's an unfortunate encoding mistake, in retrospect, that we didn't reserve a `0` byte for floating point ops. But as it is, I think we could carve out a prefix...
I suppose that I should just think of `0x40` as the escape for "not a value type" since it indicates an empty block type, and here, an extended global type....
Thanks for that info! That makes sense. It's a bit of work to figure out how to emit linker tables and such on MacOS.
Steps to reproduce: 1. clone the repo 2. Run `bin/dev/aeneas bootstrap` 3. Run `bin/dev/v3c-x86-64-darwin -output=/tmp apps/HelloWorld/*.v3` 4. Run `/tmp/HelloWord` The current error I get is "overlapping segments" but even rearranging...
There are at least two moving parts here. To avoid making the new allocator depend on bringing up a new backend using the new backend framework, the allocator should work...
I started working on a block-local register allocator in a branch. Still missing some functionality around handling parameters (all defined in the entry instruction). Results for x86-64 look pretty good--it...
At this point, I have completed the local register allocator and plan to turn it on by default for the next stable release.