WEBLOG / PERSONAL ARCHIVE

Blog

写真、山、ソフトウェア、日々のメモを記録しています。

タグから探す

ALL ENTRIES

227 posts

今更Spectreをちゃんと理解したら、SharedArrayBufferが思っていた方向と違うまずさだった

SharedArrayBufferの制限がSpectre対策なのは知っていたが、低レイヤーAPIがメモリ周りで悪さをするのだろうと漠然と思っていた。投機実行とキャッシュの痕跡、共有メモリで作る時計から、Site Isolation、COOP・COEP、WindowProxyとRealmまで順に調べた。

→

WeakMapと世代別GC

Rust製JavaScript EngineのBoaで起きた、ephemeron経由の参照と世代別GCによる誤回収を解説する。WeakMapの値を保持する条件、固定点の計算、古い親から若い子への書き込み記録、major GC後に参照が失われた原因と回帰テストを追う。

→

WeakMapとは何か

JavaScriptのWeakMapがキーを保持し続けない仕組みを、Mapとの比較とコード例で解説する。オブジェクトへの補助情報、キーの同一性、列挙できない理由、値からキーへの参照とephemeronを扱う。

→

すべての記事を見る