From 8edde392f8824bad22addf4aa91ba1bb75cca676 Mon Sep 17 00:00:00 2001 From: cpunch <sethtstubbs@gmail.com> Date: Fri, 20 Jun 2025 01:30:36 -0500 Subject: [PATCH] added virtualization docs --- content/docs/options/virtualization.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 content/docs/options/virtualization.md diff --git a/content/docs/options/virtualization.md b/content/docs/options/virtualization.md new file mode 100644 index 0000000..101a70c --- /dev/null +++ b/content/docs/options/virtualization.md @@ -0,0 +1,14 @@ +--- +weight: 100 +title: "Virtualization" +description: "Compilation and VM Generation" +icon: "article" +date: "2025-05-01T18:47:58-05:00" +lastmod: "2025-05-01T18:47:58-05:00" +--- + +The MoonVeil virtualization pass handles lifting and compiling selected virtualized blocks using the [MV_VM](/docs/macros/mv_vm) or [MV_ENC_FUNC](/docs/macros/mv_enc_func) macros. The virtualizer handles the generation of a uniquely hardened luau interpreter implemented in luau and transpiles virtualized blocks to it. Each script has a completely unique instruction set with hot-patching mnemonics, shuffled opcode encoding and behavior. + +{{% alert context="info" text="**Note**: This requires a paid plan to enable, otherwise the macros act as no-ops" /%}} + +Currently the only child option is 'Virtualize Script' which will wrap the entire script in an `MV_VM` macro, effectively marking the entire script (excluding [MV_OMIT](/docs/macros/mv_omit) blocks).