News for hackers. Stuff that matters.
Re:What happened to Transmeta, the last big dotcom IPO by monocasa on Wednesday November 12, 2025 @12:47PM (#45903210)
> That said, I don't know what the Transmeta CPUs did. Maybe they had a low-level instruction set that had all sorts of hacks to help the translation layer avoid the problems of branch destination translation.

Fixed guest branches just get turned into host branches and work like normal.

Indirect guest branches would get translated through a hardware jump address cache that was structured kind of like TLB tag lookups are.

Re:What happened to Transmeta, the last big dotcom IPO by pizlonator on Wednesday November 12, 2025 @12:55PM (#45903329)
Thank you for sharing!

> Fixed guest branches just get turned into host branches and work like normal.

How does that work in case of self-modifying code, or skewed execution (where the same x86 instruction stream has two totally different interpretations based on what offset you start at)?

Re:What happened to Transmeta, the last big dotcom IPO by monocasa on Wednesday November 12, 2025 @01:59PM (#45904427)
Skewed execution are just different traces. Basic blocks don't have a requirement that they don't partially overlap with other basic blocks. You want that anyway for optimization reasons even without skewed execution.

Self modifying code is handled with MMU traps on the writes, and invalidation of the relevant traces. It is very much a slow path though. Ideally heavy self modfying code is able to stay in the interpreter though and not thrash in and out of the compiler.

Re:What happened to Transmeta, the last big dotcom IPO by pizlonator on Wednesday November 12, 2025 @02:54PM (#45905474)
> Self modifying code is handled with MMU traps on the writes, and invalidation of the relevant traces. It is very much a slow path though. Ideally heavy self modfying code is able to stay in the interpreter though and not thrash in and out of the compiler.

This might end up having a bad time running JavaScript VM JITed code, which self-modifies a lot.

But all of that makes sense! Thanks!

Re:What happened to Transmeta, the last big dotcom IPO by monocasa on Wednesday November 12, 2025 @03:11PM (#45905778)
Yeah, nesting JITs was kind of always an Achilles heel of this kind of architecture.

IIRC, they had a research project to look at shipping a custom JVM that compiled straight to their internal ISA to skip the impedance mismatch between two JITs. JITed JS (or really any extremely dynamic code that also asks for high perf) probably wasn't even on their radar given the era with even the SmallTalk VM that HotSpot derived from being a strongly typed derivative of SmallTalk.