MoarVM

From Gentoo Wiki
Jump to:navigation Jump to:search
This article is a stub. Please help out by expanding it - how to get started.

MoarVM is the Rakudo compiler's virtual machine for the Raku Programming Language.

Installation

USE flags

USE flags for dev-lang/moarvm A 6model-based VM for NQP and Raku

+jit Enable Just-In-Time-Compiler. Has no effect except on AMD64 and Darwin.
asan Enable clang's Address Sanitizer functionality. Expect longer compile time.
clang Use clang compiler instead of GCC
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
doc Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
optimize Enable optimization via CFLAGS
static-libs Build static versions of dynamic libraries as well
ubsan Enable clang's Undefined Behavior Sanitizer functionality. Expect longer compile time.

Emerge

Emerge the package base

root #emerge --ask dev-lang/moarvm

Configuration

Environment variables

  • MVM_JIT_DISABLE (bool) Disables the just-in-time compiler. JIT compilation is enabled by default.
  • MVM_SPESH_DISABLE (bool) Disables the runtime bytecode optimizer. This optimization is enabled by default.
  • MVM_SPESH_INLINE_DISABLE (bool) Disables inlining of call frames by the bytecode optimizer. This optimization is enabled by default.
  • MVM_SPESH_OSR_DISABLE (bool) Disables the on-stack replacement of bytecode by the optimizer. This optimization is enabled by default.
  • MVM_CROSS_THREAD_WRITE_LOG (bool) Produce warnings when a thread does a write to an object it didn't allocate and doesn't have a lock for.
  • MVM_CROSS_THREAD_WRITE_LOG_INCLUDE_LOCKED (bool) Extend the above to include objects that are locked as well.

Removal

MoarVM is a dependency of Rakudo, the Raku compiler. As such it's not typically installed or removed on its own.

Unmerge

root #emerge --ask --depclean --verbose dev-lang/moarvm

See Also

  • Rakudo — a compiler that implements the Raku programming language.
  • NQP — a lightweight Raku-like environment for MoarVM, JVM, and other virtual machines.
  • Zef
  • Perl — a general purpose interpreted programming language with a powerful regular expression engine.

External Resources