Skip to content

Releases: csgordon/ir441

v2.1.2 Additional GC fixes

16 Mar 01:19
e8f5a15
Compare
Choose a tag to compare

Incorporates @stephen-hansen's fixes for the GC dereferencing null and losing track of valid allocations after a second GC.

This release lacks a Windows x64 binary due to lack of access to an appropriate Windows machine. It should build just fine on Windows.

v2.1.1

14 Mar 15:43
Compare
Choose a tag to compare

Improved GC support, which now works with multiple functions on the stack.

Also includes tweak from @stephen-hansen to read from stdin if no filename is provided, which means code can now be run via:

my-compiler < source.441 | ir441 exec

in addition to the old workflow based on pointing the interpreter at a file (which still works).

This release also includes a native Windows x86-64 binary.

Full Changelog: v2.1...v2.1.1

GC Support

12 Mar 00:55
Compare
Choose a tag to compare

This release adds lightly-tested support for exec-fixed and exec-gc modes, both of which run with a limit of 100 slots (including GC metadata).

v1.0.1

28 Jan 16:27
Compare
Choose a tag to compare
v1.0.1 Pre-release
Pre-release

This patches a couple small bugs found during the class hackathon, and adds some support for Windows line endings. There is now also a binary for native Windows without you needing to build it yourself.

There is also a rough cut at a performance counter implementation. If you're trying out your optimization, and want to see if it actually worked, you should be able to run ir441 perf <myfile.ir> and after execution you'll see rough stats on how many of different operation types the code performed. In a future update this will be extended with a cost model that gives a kind of cycle count, which will make these stats slightly easier to interpret (since, e.g., a function call is more expensive than an add operation on real hardware).

V1: First Release

27 Jan 20:08
Compare
Choose a tag to compare
V1: First Release Pre-release
Pre-release

First release of ir441 tool. Run with no arguments to see usage information.

Binaries are included for Intel builds of MacOS, Linux, and Cygwin on Windows. If you're running Windows Subsystem for Linux on Windows, use the Linux build.

No native windows binary at the moment because there's no standard solution to cross-compile a Windows executable from Mac. You can build your own by installing Rust, cloning the source, and running cargo build in the project directory.