Choose a News item and you can browse, search, and post messages.
Variant types and pattern matching in HLVM
The HLVM distribution now includes a third example compiler and provides variant types and pattern matching. The resulting compiler can run quite sophisticated programs:
HLVM on the ray tracer language comparison
The first working serial version of our ray tracer written in HLVM already provides blistering performance and excellent memory consumption:
High-performance parallelism with HLVM
The first-working version of parallelism in HLVM was very inefficient due to repeated fetching of thread-local data via pthreads. The latest update passes thread-local data to every function in an auxiliary argument and achieves production-level performance: 2× faster than OCaml on average over non-list benchmarks.
Parallel programming in HLVM
HLVM now supports threads and allows them to run in parallel using a simple stop-the-world mark+sweep GC, making it possible to do parallel programming in HLVM for the first time!
New HLVM GC and LLVM 2.6 support
HLVM has been updated to work with the new LLVM 2.6 release and with a new GC that stores mark state in the heap rather than in a hash table.
New HLVM examples
We've added two new example compilers using HLVM: a calculator and a REPL for a tiny programming language with tuples.
HLVM beta 0.4 release
A tarball of the latest source release with reliability and performance improvements is now available. See:
Optimizations in HLVM
HLVM now includes a simple term rewriter designed to support local optimization passes as well as a loop unrolling optimization pass.
Front-end for HLVM
Now that HLVM is maturing we have begun a sub-project to develop an example front-end. The current implementation is a simple calculator that evaluates expressions using JIT compilation.
HLVM documentation
The docs.sh script in HLVM now generates HTML documentation for the entire VM in the /docs directory.
