{"id":14966020,"url":"https://github.com/moarvm/moarvm","last_synced_at":"2026-04-02T17:00:48.973Z","repository":{"id":8735862,"uuid":"10411154","full_name":"MoarVM/MoarVM","owner":"MoarVM","description":"A VM with adaptive optimization and JIT compilation, built for Rakudo","archived":false,"fork":false,"pushed_at":"2026-03-28T19:33:07.000Z","size":69045,"stargazers_count":764,"open_issues_count":284,"forks_count":189,"subscribers_count":53,"default_branch":"main","last_synced_at":"2026-03-28T20:41:34.248Z","etag":null,"topics":["c","jit","libuv","raku","rakudo","vm"],"latest_commit_sha":null,"homepage":"https://moarvm.org/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MoarVM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.org","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-05-31T19:02:30.000Z","updated_at":"2026-03-28T19:33:11.000Z","dependencies_parsed_at":"2023-11-13T18:29:56.726Z","dependency_job_id":"2b1fa4c1-d7b3-4ec6-b4ad-c52a1cd18c5c","html_url":"https://github.com/MoarVM/MoarVM","commit_stats":{"total_commits":12514,"total_committers":147,"mean_commits":85.12925170068027,"dds":0.6296148313888446,"last_synced_commit":"1c2ea87e7bd8dec1c90141028c3370f3786471dc"},"previous_names":[],"tags_count":132,"template":false,"template_full_name":null,"purl":"pkg:github/MoarVM/MoarVM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoarVM%2FMoarVM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoarVM%2FMoarVM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoarVM%2FMoarVM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoarVM%2FMoarVM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MoarVM","download_url":"https://codeload.github.com/MoarVM/MoarVM/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoarVM%2FMoarVM/sbom","scorecard":{"id":95283,"data":{"date":"2025-08-11","repo":{"name":"github.com/MoarVM/MoarVM","commit":"b1c74b8d8f7108be7ca86b9fd4cd78b40541bef0"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.6,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 2/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_release.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_release.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/MoarVM/MoarVM/build_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_release.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/MoarVM/MoarVM/build_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_release.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/MoarVM/MoarVM/build_release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_release.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/MoarVM/MoarVM/build_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_release.yml:82: update your workflow using https://app.stepsecurity.io/secureworkflow/MoarVM/MoarVM/build_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_release.yml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/MoarVM/MoarVM/build_release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_release.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/MoarVM/MoarVM/build_release.yml/main?enable=pin","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":8,"reason":"5 out of the last 5 releases have a total of 5 signed artifacts.","details":["Info: signed release artifact: MoarVM-2025.06.tar.gz.asc: https://github.com/MoarVM/MoarVM/releases/tag/2025.06","Info: signed release artifact: MoarVM-2025.05.tar.gz.asc: https://github.com/MoarVM/MoarVM/releases/tag/2025.05","Info: signed release artifact: MoarVM-2025.04.tar.gz.asc: https://github.com/MoarVM/MoarVM/releases/tag/2025.04","Info: signed release artifact: MoarVM-2025.03.tar.gz.asc: https://github.com/MoarVM/MoarVM/releases/tag/2025.03","Info: signed release artifact: MoarVM-2025.02.tar.gz.asc: https://github.com/MoarVM/MoarVM/releases/tag/2025.02","Warn: release artifact 2025.06 does not have provenance: https://api.github.com/repos/MoarVM/MoarVM/releases/228440907","Warn: release artifact 2025.05 does not have provenance: https://api.github.com/repos/MoarVM/MoarVM/releases/219284918","Warn: release artifact 2025.04 does not have provenance: https://api.github.com/repos/MoarVM/MoarVM/releases/213500300","Warn: release artifact 2025.03 does not have provenance: https://api.github.com/repos/MoarVM/MoarVM/releases/207712200","Warn: release artifact 2025.02 does not have provenance: https://api.github.com/repos/MoarVM/MoarVM/releases/201860332"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 6 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":5,"reason":"5 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: CVE-2019-16224","Warn: Project is vulnerable to: CVE-2019-16225","Warn: Project is vulnerable to: CVE-2019-16226","Warn: Project is vulnerable to: CVE-2019-16227","Warn: Project is vulnerable to: CVE-2019-16228"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-15T08:51:32.458Z","repository_id":8735862,"created_at":"2025-08-15T08:51:32.458Z","updated_at":"2025-08-15T08:51:32.458Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31311010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","jit","libuv","raku","rakudo","vm"],"created_at":"2024-09-24T13:35:42.476Z","updated_at":"2026-04-02T17:00:48.935Z","avatar_url":"https://github.com/MoarVM.png","language":"C","readme":"# MoarVM\n\nMoarVM (short for Metamodel On A Runtime Virtual Machine) is a runtime built\nfor the 6model object system. It is primarily aimed at running NQP and\nRakudo, but should be able to serve as a backend for any compilers\nbuilt using the NQP compiler toolchain.\n\n## Get It\nEither download it from [the MoarVM site](https://www.moarvm.org/) or clone it from GitHub:\n```\ngit clone https://github.com/MoarVM/MoarVM.git\n```\nIf you use the automatically generated release tarballs or zip files please note that they don't\ncontain the third party libraries needed to successfully build MoarVM.\n\n## Build It\n[![Build Status](https://dev.azure.com/MoarVM/MoarVM/_apis/build/status/MoarVM.MoarVM?branchName=master)](https://dev.azure.com/MoarVM/MoarVM/_build/latest?definitionId=1\u0026branchName=master)\n\nBuilding and installing the VM itself takes just:\n\n    perl Configure.pl\n    make install\n\n(Or `nmake`/`gmake` on Windows). Currently it is known to build on Windows\nwith MSVC and gcc, and with `gcc` and `clang` on Linux \u0026 MacOS X.  We're\nexpanding this with time.\n\nType `perl Configure.pl --help` to see the configure-time options, as well\nas some descriptions of the make-time options/targets.\n\n## Building an NQP with MoarVM\n\nAfter installing MoarVM, you can clone the NQP repository or grab a source\ntarball and use the Configure.pl script in it like so:\n\n    perl Configure.pl --backend=moar --prefix=where_your_moarvm_install_lives\n\nAlternatively, the same Configure.pl script in NQP is able to clone, build\nand install a copy of MoarVM on its own if you supply the `--gen-moar` flag.\n\n\u003e Please bear in mind that this will be the prefix to the `/bin`, `/lib` and other directories where the `moar` executable and other files are going to be installed, so you'll have to use `/usr` if you want `moar` to be copied to `/usr/bin`.\n\n## Building a Rakudo with MoarVM\n\nWhen pointing the `Configure.pl` script in rakudo's repository at a `--prefix`\nthat has an `nqp-m` installed in it, it will automatically detect and configure\nthe MoarVM backend. Alternatively, `--backend=moar,jvm` can be used to force\nit to build the MoarVM and JVM backends, for example. Just like in the NQP\n`Configure.pl` script, you have the option to supply a `--gen-moar` flag that\nwill do all the work for you, including creating an `nqp-m`.\n\n## Status\n\nMoarVM is currently in development. It can run all of the NQP test suite, all\nof the Rakudo sanity tests, and passes more spectests than any other\nRakudo backend.\n\nUnlike the JVM or JS backend of NQP, the MoarVM repo is not integrated into the\n[NQP source repo](http://github.com/Raku/nqp) but instead can be pulled\nin by running `Configure.pl --gen-moar` configure script in the NQP repo.\n\n## Feature overview\n\nSome key features provided by MoarVM include:\n\n* Meta-object programming, using the 6model design\n* Precise, generational, and parallel GC\n* Unicode 15 support (Unicode Character Database, encodings, normalization)\n* First-class code objects, lexical variables and closures\n* Exceptions\n* Continuations\n* Bounded serialization\n* Runtime loading of code\n* Big integers\n* A range of IO and process support, including asynchronous sockets, signals,\n  timers, and processes\n* Native calling and native pointer manipulation\n* Threads, mutexes, condition variables, semaphores, and blocking queues\n* Bytecode specialization by type, and numerous optimizations (including\n  resolution of method calls and multiple dispatch, dead code elimination,\n  inlining, on stack replacement, scalar replacement, and partial escape\n  analysis)\n* JIT compilation\n* Instrumentation-based profiling of call frames and allocations\n* Heap snapshotting\n* Remote Debugging with single stepping and variable/object introspection\n\n## Contributing\n\nContributions by pull request are accepted. Commit bits are given to those who\ncontribute quality work. If you are interested in contributing, drop by the\n`#moarvm` channel on libera.chat.\n\nSee the LICENSE file in the root directory for information on the license of\nthe source code in the MoarVM repository.\n\n## Troubleshooting\n\n### Linker can't find appropriate symbols on macOS\n\nIf MoarVM fails to build, and the error looks something like this:\n\n\u003e ld: symbol(s) not found for architecture x86_64\n\nyou likely have an incompatible mix of build and bin utils.\n\nWhile it is common to have toolchains installed from third party repositories in macOS, they aren't all compatible. In the event you run into this issue, please try these steps.\n\n 1. Unlink your tools in homebrew: `brew unlink binutils`\n 2. Destroy and re-clone MoarVM or rakudobrew\n 3. Attempt the build again from scratch\n\nIf you _want_ to use a GNU toolchain, and you get an error telling you to see this file, simply supply the `--toolchain=gnu` flag and this package will configure and build with a GNU toolchain.\n\n**Please note:** If you use mixed Xcode and non-Xcode tools, you are likely to run into trouble. As such, this configuration is unsupported.\n\n### You need different code for `gcc` versus `clang`\n\nNote both compilers define macro `__GNUC__`, so macro `__clang__` needs to be tested first to disambiguate the two.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoarvm%2Fmoarvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoarvm%2Fmoarvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoarvm%2Fmoarvm/lists"}