{"id":25777164,"url":"https://github.com/JikesRVM/JikesRVM","last_synced_at":"2026-08-13T16:30:17.856Z","repository":{"id":2359792,"uuid":"42652967","full_name":"JikesRVM/JikesRVM","owner":"JikesRVM","description":"Jikes RVM (Research Virtual Machine)","archived":false,"fork":false,"pushed_at":"2022-11-09T12:23:49.000Z","size":269023,"stargazers_count":424,"open_issues_count":2,"forks_count":85,"subscribers_count":28,"default_branch":"master","last_synced_at":"2026-07-25T12:50:11.603Z","etag":null,"topics":["java","jvm","metacircular-vm","research","virtual-machine"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"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/JikesRVM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.html","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-17T11:42:28.000Z","updated_at":"2026-06-28T15:42:45.000Z","dependencies_parsed_at":"2023-01-11T16:09:36.181Z","dependency_job_id":null,"html_url":"https://github.com/JikesRVM/JikesRVM","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/JikesRVM/JikesRVM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JikesRVM%2FJikesRVM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JikesRVM%2FJikesRVM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JikesRVM%2FJikesRVM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JikesRVM%2FJikesRVM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JikesRVM","download_url":"https://codeload.github.com/JikesRVM/JikesRVM/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JikesRVM%2FJikesRVM/sbom","scorecard":{"id":72741,"data":{"date":"2025-08-11","repo":{"name":"github.com/JikesRVM/JikesRVM","commit":"5072f19761115d987b6ee162f49a03522d36c697"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.5,"checks":[{"name":"Code-Review","score":0,"reason":"Found 1/30 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":"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":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","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":"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":"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.html: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":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"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":"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":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 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"}}]},"last_synced_at":"2025-08-15T04:11:29.980Z","repository_id":2359792,"created_at":"2025-08-15T04:11:29.981Z","updated_at":"2025-08-15T04:11:29.981Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36614163,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-13T02:00:06.325Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["java","jvm","metacircular-vm","research","virtual-machine"],"created_at":"2025-02-27T06:01:37.982Z","updated_at":"2026-08-13T16:30:17.849Z","avatar_url":"https://github.com/JikesRVM.png","language":"Java","funding_links":[],"categories":["JVM实现"],"sub_categories":[],"readme":"## Jikes Research Virtual Machine\n\nJikes RVM (Research Virtual Machine) provides a flexible open testbed to prototype virtual machine technologies and experiment with a large variety of design alternatives. The system is licensed under the [EPL](http://www.eclipse.org/legal/epl-v10.html), an [OSI](http://www.opensource.org/) approved license. Jikes RVM runs on IA32 32 bit (64 bit support is work in progress) and PowerPC (big endian only).\n\nA distinguishing characteristic of Jikes RVM is that it is implemented in the Java™ programming language and is self-hosted i.e., its Java code runs on itself without requiring a second virtual machine. Most other virtual machines for the Java platform are written in native code (typically, C or C++). A Java implementation provides ease of portability, and a seamless integration of virtual machine and application resources such as objects, threads, and operating-system interfaces.\n\nMore information is available at our [website](http://www.jikesrvm.org).\n\n## Building\n\nYou'll need\n\n* a JDK (\u003e= 6 and \u003c 9). Building with JDK 9 or later is currently [not supported](https://xtenlang.atlassian.net/projects/RVM/issues/RVM-1136).\n* Ant (\u003e= 1.7 and \u003c 1.10) with optional tasks (e.g. for JUnit and JavaDoc). Running unit tests with Ant 1.10 is not supported because Ant 1.10 uses class file version 52 (Java 8) and Jikes RVM currently only supports class file version 50 (Java 6).\n* GCC with multilibs\n* Bison\n* an internet connection during the first build to download [GNU Classpath](http://www.gnu.org/software/classpath/) and other components\n* (tests only) the Perl library for Proc::ProcessTable (e.g. the package libproc-processtable-perl on Debian-based distributions or perl-Proc-ProcessTable on CentOS)\n\nPlease see the [user guide](http://www.jikesrvm.org/UserGuide/) for more details.\n\n## Need support?\n\nPlease ask on the researchers [mailing list](http://www.jikesrvm.org/MailingLists/).\n\n## Bug reports\n\nIf you want to report a bug, please see [this page on our website](http://www.jikesrvm.org/ReportingBugs/).\n\n## Contributions\n\nSee the [contributions page](http://www.jikesrvm.org/Contributions/) for details. \n\nThe short version:\n\n* Contributions are licensed under EPL and require a Contributor License Agreement. You keep your copyright.\n* You can send us patches or use pull requests. Send patches to the [core mailing list](mailto:jikesrvm-core@lists.sourceforge.net).\n* It is ok to test on one platform only (e.g. only on IA32).\n\n## Work based on Jikes RVM\n\nFor work based on Jikes RVM, see our [publications page](http://www.jikesrvm.org/Resources/Publications/). Bear in mind that this page is almost always incomplete. You can help rectify this by submitting pull requests or patches against the [website repository](https://github.com/JikesRVM/jikesrvm.github.io/). Additionally, some authors have decided to publish the code for their papers in the [research archive at Sourceforge](http://sourceforge.net/p/jikesrvm/research-archive/?limit=250).\n\n## Other GitHub repositories that are based on Jikes RVM\n\nThere are a lot of projects on GitHub that are based on Jikes RVM but aren't forks of this repository. If you want your project listed (or not listed) here, please send us a patch or pull request.\n\nThe list is divided into repositories with code changes and additional information (description, README, paper, thesis, ...), repositories that have code changes but no (known) support material and repositories where it's unclear if there are actually any code changes against the base Jikes RVM.\n\nProjects with code changes and additional information\n* [HeraJVM](https://github.com/rmcilroy/HeraJVM), a JVM implementation for the Cell processor. See the thesis [Using program behaviour to exploit heterogeneous multi-core processors ](http://theses.gla.ac.uk/1755/) by Ross McIlroy or the paper \"Hera-JVM: A Runtime System for Heterogeneous Multi-Core Architectures\".\n* [Metacircular Research Platform](https://github.com/codehaus/mrp) by Ian Rogers. We're trying to merge most of the changes from MRP, with the notable exception of Apache Harmony support (because it's dead upstream) and Windows support (because that is implemented with Apache Harmony in MRP). If you want to help, see the [MRP merge status page](http://www.jikesrvm.org/MergeStatusOfMRPChangesets/) and ask on the core mailing list first.\n* [A mark-compact related GC implementation](https://github.com/ampasowa/jikesrvm)\n* [Cost-aware Parallel GC](https://github.com/junjieqian/CAP-GC) by Junjie Qian\n* [Deutsch-Bobrow-GC](https://github.com/NikolausDemmel/pgc-jikesrvm)\n* [GPU garbage collection](https://github.com/preames/gpu-garbage-collection) code from the paper \"GPUs as an Opportunity for Offloading Garbage Collection\" by Maas et al. from ISMM 2012.\n* [Reference-counting Immix](https://github.com/rifatshahriyar/rcimmix) by Rifat Shahriyar et al. See the paper \"Taking Off the Gloves with Reference Counting Immix\" (OOPSLA'13). There's also a conservative version of the collector and an associated paper in OOPSLA'14. Patches to produce both collector implementations from a base Jikes RVM can be found in Rifat's [patch repository](https://github.com/rifatshahriyar/rcimmixpatch). If you want to help to get the code into mainline Jikes RVM, contact us on the core mailing list. The relevant issues are [RVM-1061](https://xtenlang.atlassian.net/browse/RVM-1061) for RCImmix and [RVM-1085](https://xtenlang.atlassian.net/browse/RVM-1085) for conservative RC Immix.\n* [Sapphire garbage collector](https://github.com/perlfu/sapphire). See that repository's readme for more information. If you want to help get the collector into mainline, contact us on the core mailing list. The associated issue is [RVM-893](https://xtenlang.atlassian.net/browse/RVM-893).\n* [The MMTk tutorial collector implemented](https://github.com/Elizaveta239/MMTk-gc)\n* [A tool related to Pacer](https://github.com/jaggerlink/cs356).\n* [ByteSTM](https://github.com/mohamedin/bytestm). See the paper \"ByteSTM: Virtual Machine-level Java Software Transactional Memory\" by Mohamedin et al.\n* [Laminar](https://github.com/ut-osa/laminar). See the paper \"Laminar: Practical Fine-Grained Decentralized Information Flow Control\" by Roy et al. in PLDI'09. The changes can be found in the form of patches in the Jikes RVM [research archive entry](http://sourceforge.net/p/jikesrvm/research-archive/26/).\n* [A minimal implementation of causal profiling for Java applications running on Jikes RVM](https://github.com/alanweide/coff)\n* [Velodrome: a sound and complete dynamic atomicity checker for multithreaded programs](https://github.com/palmskog/velodrome)\n* [DoubleChecker: Efficient Sound and Precise Atomicity Checking](https://github.com/palmskog/doublechecker-single-run)\n* [Java Object Environment](https://github.com/joekoolade/JOE)\n\nProjects with code changes but without any additional information\n* [https://github.com/vilay/check](https://github.com/vilay/check)\n* [https://github.com/gdeOo/ditto](https://github.com/gdeOo/ditto)\n* [https://github.com/Scharrels/e-strobe](https://github.com/Scharrels/e-strobe)\n* [https://github.com/leizhao833/jikes-bmm](https://github.com/leizhao833/jikes-bmm)\n* [https://github.com/josemsimao/jikesrvm](https://github.com/josemsimao/jikesrvm)\n\nProjects that may or may not have any changes compared to a released version of Jikes RVM\n* [https://github.com/hkrish4/ConcurrentGC](https://github.com/hkrish4/ConcurrentGC)\n* [https://github.com/zitterbewegung/cs398](https://github.com/zitterbewegung/cs398)\n* [https://github.com/danyaberezun/JBPractise](https://github.com/danyaberezun/JBPractise)\n* [https://github.com/sirinath/jikesrvm](https://github.com/sirinath/jikesrvm)\n* [https://github.com/yanxiaoliang/jikesrvm](https://github.com/yanxiaoliang/jikesrvm)\n* [https://github.com/Betula-L/jikesrvm-3.1.3-hg_DrFinder](https://github.com/Betula-L/jikesrvm-3.1.3-hg_DrFinder)\n* [https://github.com/CodeOffloading/JikesRVM-CCO](https://github.com/CodeOffloading/JikesRVM-CCO)\n* [https://github.com/ravifreek63/RVMJikes](https://github.com/ravifreek63/RVMJikes)\n* [https://github.com/perpetualcoder/SMPGC](https://github.com/perpetualcoder/SMPGC)\n\n## History\n\nThe project migrated from Subversion to Mercurial and from Mercurial to Git. Certain older changes are not contained in this repository. If you need access to these changes, you can browse the old repositories at [SourceForge](http://sourceforge.net/p/jikesrvm). The relevant parts of the old repositories are also mirrored on GitHub (see below).\n\nThe last commit in the Mercurial repository is commit #11358 (hg commit id d4ced37a7a0d) from Tue, 08 Sep 2015 13:55:48 +0200. The matching commit in this Git repository has the commit id 871ee0e826c161c8cb99bba7280dced6da850779.\n\nThe last interesting commit in the Subversion repository is commit #16061 (Move assertion on heavy lock state to within lock mutex to avoid possible race with inflation code). The matching commit in this Git repository has the commit id 164e4f465640364da0b135b78307e8cf1de8a070. The very last commit in the Subversion repository is commit #16068 (disable runs on piccolo until we get hg working on AIX.).\n\nMirrors of the old repositories on GitHub:\n\n* The main code is mirrored at https://github.com/JikesRVM/mirror-historical-svn-jikesrvm . Please note that the mirror includes old branches which aren't present in this repository.\n* Tuningfork is mirrored at https://github.com/JikesRVM/mirror-historical-svn-tuningfork\n* Cattrack, an application for tracking test results that the project used in the past, is mirrored at https://github.com/JikesRVM/mirror-historical-svn-cattrack\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJikesRVM%2FJikesRVM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJikesRVM%2FJikesRVM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJikesRVM%2FJikesRVM/lists"}