From 7aaa5ba4b1cfe5b0ba25a0e0b3d99e55cfad81a4 Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Sat, 11 Jan 2025 17:30:59 -0600 Subject: [PATCH] add README --- README.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 README.rst diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..e768cf0 --- /dev/null +++ b/README.rst @@ -0,0 +1,22 @@ +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