The section on dynamic compilers is more or less all about trace compilation. Generally, trace compilation is a dead end and has been abandoned repeatedly. The more important concepts here are type feedback and speculation and deoptimization, as well as making fast compilers and tiering.
The course overall looks good, and it's great that so much is available online, so well done, Adrian.
giancarlostoro•19m ago
Got any other recommended resources on building compilers?
samps•15m ago
Thanks, Ben. I admit I mostly think tracing is just a mind-expanding concept to learn about, even if history has proven it’s not very practical as an organizing principle. But as you say, I’d love to offer more context on “what actually seems to work” industrially.
j2kun•12m ago
I'm a bit confused about what makes this course "advanced." Most of the topics (dead code elimination, data flow, dominator analysis, SSA form) seem like they belong in a first course on compilers.
ferguess_k•8m ago
I think a lot of the non-professionals start with parsing and doesn't get exposed to backend. I have read two books about interpreters/compilers and they don't touch the backend very much.
titzer•28m ago
The course overall looks good, and it's great that so much is available online, so well done, Adrian.
giancarlostoro•19m ago
samps•15m ago