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 can use the temporary stuff and permit having temporary slots which are not assigned to any stack slot position. Doing this I can simplify code to grant me to use existing generation code as some operations act as a sort of pseudo operation.
The __unsafeCopyXtoY() stuff is rather messy, I will need a slot/binding based system which is easier to use and is a bit safer. Some of the stuff can exist in the base class also since it will virtually be the same for both 32-bit and 64-bit PowerPC.
I can also use scratch register sets with auto-closeable and such for register references and such. This would enable me to shuffle such registers without worrying about which ones are mixed together with what others.
This definitely looks much cleaner and safer than before.
My goal for generation is no system calls so that things can be more easily replaced. The index table manages all of that stuff which means that the generated code could technically be run on other systems provided there is a correct ABI layer.
The mtspr swapping can get a bit confusing.
I need an assembler main of sorts to test my code with.
My disassembler should also probably work with InputStream.
Made InputStream based disassembler which replaces the ByteBuffer based one but has compatibility things.
The disassembler has buffering issues however.