2025-01-20 18:30:00 -06:00
2025-01-20 18:30:00 -06:00
2025-01-14 22:10:46 -06:00
2025-01-14 19:53:09 -06:00
2025-01-01 16:38:26 -06:00
2025-01-05 16:39:05 -06:00
2025-01-02 08:47:33 -06:00
2024-12-25 01:16:59 -06:00
2024-12-27 18:17:07 -06:00
2025-01-03 10:19:50 -06:00
2024-12-26 05:18:00 -06:00
2025-01-03 10:19:50 -06:00
2025-01-20 18:30:00 -06:00
2025-01-02 12:52:55 -06:00
2024-12-27 02:07:51 -06:00
2025-01-11 18:02:59 -06:00

JVM
===

This is a fully independent JVM implementation that can be either "hosted" by an
operating system, or "unhosted" without an operating system.

An "unhosted" demo for Sega Dreamcast was submitted as a part of the Dream Disc
'24 competition: https://purist.itch.io/dreamcast-jvm

Current status
--------------

The current JVM implementation is fairly complete, and will correctly interpret
a wide range of Java code correctly.

However, the following JVM features are not (yet) supported:

* invokedynamic (Java ≥9: Java lambdas, Java string concatenation, etc...)
* jsr/ret (Java ≤1.5: I have failed to independently reproduce the circumstances under which javac emits these instructions)
* synchronized methods (Java threads are also not implemented)
* runtime type checks (instanceof/checkedcast) on zero-length arrays of references
* interface fields
Description
No description provided
Readme 2.5 MiB
Languages
C 49.2%
Java 41.9%
Python 5.3%
Shell 2.5%
Makefile 1.1%