Except where otherwise noted, this presentation is licensed under the Creative Commons Attribution 4.0 International License. Third party marks and brands are the property of their respective holders.
2. Consistent calling conventions (going from app to VM and back) 3. Consistent Types and sizes 4. Consistent memory model 5. Re-use the same compilers at compile-time and run-time 6. Maintainability Managed Runtime Systems 2 of 9 https://foivos.zakkak.net
in a meta-circular manner is not trivial (hard to find bugs) 4. More complex testing infrastructure Managed Runtime Systems 3 of 9 https://foivos.zakkak.net
machine code C-based implementation of a minimal runtime Bootstraps the Java in Java VM and implements system handling JIT compilation with C compilers is too slow, LLVM aims to fix that Squawk VM is one such example Managed Runtime Systems 4 of 9 https://foivos.zakkak.net
javac MyCompiler.java MyCompiler.class MyCompiler.java MyVM.java Old VM My VM + Compiler HelloWorld.class Hello World!!! Managed Runtime Systems 5 of 9 https://foivos.zakkak.net
javac MyCompiler.java MyCompiler.class MyCompiler.java MyVM.java Old VM My VM + Compiler HelloWorld.class Hello World!!! Managed Runtime Systems 5 of 9 https://foivos.zakkak.net
javac MyCompiler.java MyCompiler.class MyCompiler.java MyVM.java Old VM My VM + Compiler HelloWorld.class Hello World!!! Managed Runtime Systems 5 of 9 https://foivos.zakkak.net
javac MyCompiler.java MyCompiler.class MyCompiler.java MyVM.java Old VM My VM + Compiler HelloWorld.class Hello World!!! Managed Runtime Systems 5 of 9 https://foivos.zakkak.net
Features the Memory Management Toolkit (MMTk) Relies on a magic layer for its implementation on different platforms 2 JIT compilers, no interpreter No 64bit port Managed Runtime Systems 8 of 9 https://foivos.zakkak.net
for Java written in Java Modular design (GC, Compilers, Memory layout, Monitors, etc.) Template based compilation More next time! Managed Runtime Systems 9 of 9 https://foivos.zakkak.net