So now I have a FragmentBuilder which can be used to put instructions in by the native code generator when needed. So the JITConfig will create the needed translators and output machine writers. Basically internally it will create the ExpandedByteCode where code will be plunked into. The JIT itself will never see the actual MachineCodeOutput as that will be hidden. This would enable me to change things around a bit. The only thing I really would need to pass is the FragmentBuilder to the creation method so that that it is known where MachineCodeOutput will write the generated bytes and virtual future replacement references to.


The expanded byte code writers are to be AutoCloseable so that writing is complete they can be closed. This would be used for optimizations and such as that way they will all know when it is truly ready to write the resulting optimized machine code after reading all of the instructions.


Having architecture lookup without using a service loader does not scale at all.