DISCLAIMER: These notes are from the defunct k8 project which precedes SquirrelJME. The notes for SquirrelJME start on 2016/02/26! The k8 project was effectively a Java SE 8 operating system and as such all of the notes are in the context of that scope. That project is no longer my goal as SquirrelJME is the spiritual successor to it.


I believe for method code reading stuff, that the code bank will be used with the language to provided a stream of logical instructions. Then the recompiler can just use that stream and do things rather than writing up all this code. As per SSA, I believe I will have the byte code reader not do SSA and instead have that operation stream be quite literally what the code does. Only the stuff on the other end that gets the instructions will do all the SSA heavy lifting, so the code bank stream will just be a disassembler for the most part without any way to control branches and such.


I believe I will implement basic annotation reading for the code attribute and then work on decoding of operations into neutral execution forms as my previously mentioned stream.