On Jun 10, 2020, at 5:50 AM, Jesper Louis Andersen <jesper.louis.ander...@gmail.com> wrote: > > 2. Dynamic binary translation from machine-code to machine-code has been used > in the past for these architectural changes. While this carries a penalty, it > also provides a short-term solution. The added efficiency of recompiles for > the new machine code target encourages people to install newer versions in > the case. The history is old and long here. M68K to PowerPC, PowerPC to x86, > x86 to DEC Alpha, VAX to Alpha RISC, and even more. Apple have been involved > in at least two such models in the past, so I wouldn't count this out as a > strategy.
This is certainly pedantry, but it's worth noting that the VAX to Alpha translation in VMS wasn't dynamic recompilation, but static. There are almost certainly similar examples; I'm not familiar enough with NT history to remember if there was a similar translator for the Alpha version, but given that Dave Cutler was at the helm of that transition (though not the VAX->Alpha transition at DEC), I wouldn't be surprised. Also worth noting that IBM i (f/k/a System i and AS/400) traditionally stores its executables as an IR form to be compiled to native code (currently PPC) on execution, though my recollection is that this is a one-time process, not a JIT process like Java or WASM. - Dave -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/B924AC7A-F592-4FFA-A56F-75134C626D04%40gmail.com.