第138章へようこそ。
第137章で、vtableの構造を見ました。
トレイトオブジェクトが型を消去しても、vtableのメタデータが正しい解放を保証する。
今日のテーマは「メモリ状態機械」です。asyncの内部構造を見ます。
第49章でasync/awaitを学びました。
第50章でFutureトレイトを学びました。
async関数はステートマシンに変換される。各awaitが状態の境界になる。
あのとき、ステートマシンの姿は抽象的に語りました。
今日は、メモリの側から見ます。
async関数がコンパイルされたとき、メモリの中には何があるのか。
中断した瞬間、変数はどこに保持されているのか。
再開した瞬間、CPUは何を読んでいるのか。
asyncの内部構造を、バイトの粒度で見ていきます。