We're looking into applying dynamic recompilation using the BCEL library in java for JEmu2. I think we came up with a rather solid way to do it (probably the way everybody does it).
For the CPU emu's JEmu2 currently supports, the speed gain will probably not be too important (the main bottleneck is rendering right now by far, which I'm dealing with as well), but I plan on adding 68k emulation as well and there it might become more important.
What are typically the speed gains that are possible with dynarec?
I'm thinking about doing dead flag removal as well, but I have the feeling it might not make much of a difference when doing it in java since these kinds of things are typically those things that HotSpot should be very good at.
Does anybody have experience with this, and especially using java? Is there some good documentation somewhere about dynarec techniques that I should be aware about? Thoughts, suggestions?