#396 From Manchester to Mountain View: Binary Translators, JVMs, and Android
ZX Spectrum 128K with rubber keys and a burning side grill, Basic programming competitions, REM commands as ASCII art, PC versus Amiga and Archimedes era in the UK, fractal landscape generators for Wing Commander 4 cut scenes, Ocean Software in Manchester and the Head Over Heels game, Manchester Baby and Williams tube as the first stored-program computer, Steve Furber and ARM origins at the University of Manchester, Cosworth and Pi Research Formula One telemetry, transputers and embedded PowerPC data loggers, dynamic binary translation with the Dynamite simulator, ICL 2900 emulation for the Israeli tax system, MIPS to Itanium binary translation for SGI machines, Transitive Corporation and the PowerPC to x86 product that became Apple Rosetta, the Steve Jobs era at Apple, Spark to Power binary translation and the IBM acquisition of Transitive, JDBC versus ODBC API design observations, java.util.Vector and java.util.Hashtable synchronization decisions, StringBuilder array copying overhead from removing synchronization, DARPA HPCS languages Fortress, Chapel, X10, just-in-time parallelization from Java bytecode, LCC compiler from Princeton and the iBerg backend, JikesRVM as a metacircular Java VM written in Java, GNU Classpath and Sable VM by Etienne Gagnon, Apache Harmony port of JikesRVM to Windows, Maxwell and Maxine VMS as GraalVM precursors, Bernd Mathiske and the Sun acquisition by Oracle, GNU Classpath impact of the openJDK GPL release at FOSDEM 2006, Mark Wielaard and Rémi Forax FOSDEM stories, trace compilation and de-optimization parallels with JIT, Azul Systems Vega hardware and concurrent garbage collection, C4 collector design influencing ZGC and Shenandoah, Gil Tene's telephone exchange mentality for JVM responsiveness, page unmapping and signal handler memory pressure problems in HotSpot, Cliff Click and Modular, Google Android Runtime (ART) replacing Dalvik, transactional memory for class initializers in ART, ELF files and OAT format for ahead-of-time compilation, WhatsApp bytecode obfuscation breaking the ART verifier, lock balance verification for speculative lock optimizations, D8 and R8 Android compilers, Goit internal Google bytecode optimizer, Jeremy Manson and Google's OpenJDK variant, Linux kernel performance work and perf tooling, JikesRVM stack trace format making exception-heavy DaCapo benchmarks faster than HotSpot, Energy Efficiency across Programming Languages study comparing Java and Go,
Ian Rogers on twitter: Ian Rogers