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.
Making it not a singleton makes it just so better designed and less hacky as you do not need a struct for storage.
Migrating my old code to this new better transformer system was quite easy, now I am back to where I was before and now it will be much easier to work with because I no longer need a public bridge. Although I disabled the opcode decoding since I need to rework that a bit better anyway. Now for the StackMapTable stuff, it seems the only place it gets generated is for code that uses goto, subroutines, and branches. I would have to see this in actual decompilation sets. However simple methods that do not branch and such are simple to verify as they cause no complex behavior much. I need to eat however, but I will need a simple stack pusher and popper and local verification between solar and byte code.
What I need is a simple stack manager, the bad things is the state of the stack where longs and doubles consist of two bits. That complicates things a bit.
To limit exposure, placement of the gigantic instruction enumeration could be moved to the decoder class, but then adding the Encoder would require the same stuff also, so the code is just going to get very large.
I figured out the stack stuff, I will just have another special class which is capable of handling the Java Stack with pushing and popping correctly. Well I do not need a class, just a bunch of methods that can check things.
I need storage for every PC address for potential jumps back to older code and such.
Have basic loading for references and pushing of null references. Moons used to be associated with planets, but not anymore because that makes the values easier to move around rather than just being snatched to one thing. In the future though, values could be intersections of planets.