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
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.