Fork me on GitHub

MoarVM 2017.09

As of this release, MoarVM now has a full implementation of the Unicode collation algorithm and is using the Unicode 10 database. Numerous other string and Unicode improvements, including adopting the Knuth-Morris-Pratt string search algorithm. Numerous cleanups and tweaks to the JIT compiler. Better optimization of conditionals, exception handlers, and code involving native references. A new, more efficient, heap snapshot output format, and other heap snapshot improvements. And numerous other fixes and enhancements spanning native calling, I/O, concurrency, and portability.


What is MoarVM?

Short for "Metamodel On A Runtime", MoarVM is a modern virtual machine built for the Rakudo Perl 6 compiler and the NQP Compiler Toolchain. MoarVM is used by the majority of Perl 6 programmers. Highlights include:

  • Great Unicode support, with strings represented at grapheme level
  • Dynamic analysis of running code to identify hot functions and loops, and perform a range of optimizations, including type specialization and inlining
  • Support for threads, a range of concurrency control constructs, and asynchronous sockets, timers, processes, and more
  • Generational, parallel, garbage collection
  • Support for numerous language features, including first class functions, exceptions, continuations, runtime loading of code, big integers and interfacing with native libraries