A catalog of side effects

A tour of how several optimizing compilers record what each instruction reads and writes.

Author
Max Bernstein
Published
November 11, 2025
Kind
Personal blog post, a survey of existing compiler source code
Original
bernsteinbear.com/blog/compiler-effects/
Subject
Compilers and interpreters
Themes
Close to the machine

What it is

Max Bernstein writes a blog about programming languages. This post surveys how compilers track side effects in their intermediate representation. The author says the aim is to summarize the landscape. The author is deciding how to represent effects.

What it says

What evidence it gives

The post quotes source code from Cinder and JavaScriptCore. It shows a generator the author modified to emit both forms. It links to code in HHVM, Android ART, CoreCLR and V8. It runs no benchmarks.

Interests and limits

The author is still deciding on a design. The author admits not fully understanding some JavaScriptCore details. The Simple section is described as harder to understand. No performance comparison is given, so the conclusion rests on reading code and one conversation.

Connections

These links are this wiki's own reading, not claims the sources make.