Going by this presentation after reading the Graal slides:<p><a href="http:&#x2F;&#x2F;www.oracle.com&#x2F;technetwork&#x2F;java&#x2F;jvmls2013wimmer-2014084.pdf" rel="nofollow">http:&#x2F;&#x2F;www.oracle.com&#x2F;technetwork&#x2F;java&#x2F;jvmls2013wimmer-20140...</a><p>The documentation of all of them is terrible as there&#x27;s no clear explanation of Truffle and Substrate: jumps right into technical stuff with a barrage of techniques. Truffle appears to be a toolkit for generating parsers&#x2F;compilers plus integration interface for the VM&#x27;s. I don&#x27;t see mention of replacing class loader and bytecode interpreter. Whereas Graal is a combo, per slide images, of Hotspot bottom parts and Java-based compiler&#x2F;JIT. It at least has huge code reduction plus safer code over original VM in their illustrations. Only 60Kloc.<p>Going from there, the linked PDF shows Truffle connecting to either GraalVM or Substrate VM. In one slide, it references GraalVM like it&#x27;s necessary for integrating with Java applications while calling Substrate embeddable. Makes me think Substrate is standalone apps. In another slide, it visually implies that Substrate compiles your code and just Java classes you need into one executable that maybe can&#x27;t load others. It&#x27;s not clear if Substrate is reusing the C&#x2F;C++ code of 1, 2, 4, or 5 from HotSpot for lower layers.<p>All in all, they&#x27;re doing interesting things but I&#x27;m too confused to evaluate them. Do you have any links that are more specific on these issues, esp how SubstrateVM works or whether Graal uses C&#x2F;C++ code for bottom layers as in picture? I can&#x27;t evaluate them without even an internal architecture description.