Read OSS

webKit/webkit

9 articles

前提知識

01

WebKit を読み解く:アーキテクチャ概要とコードベースマップ

WebKit リポジトリの全体像を把握するためのメンタルモデル — 6 層のビルドスタック、マルチプロセスセキュリティアーキテクチャ、そして現存する最大規模のオープンソース C++ コードベースの中で自分の位置を知る方法。

02

WebKitコードベースのアーキテクチャ概要とナビゲーション

WebKitの全体像を俯瞰するための包括的なガイド。階層化された依存関係、マルチプロセスモデル、デュアルビルドシステム、そして500万行超のコードベースを実践的に読み解くテクニックを解説します。

03

WTF とメモリ管理:WebKit の基盤ライブラリ

WTF(Web Template Framework)を深掘りする。参照カウント、弱参照ポインタ、コンテナ、セキュリティ強化されたメモリアロケータなど、WebKit 全体を支えるカスタム標準ライブラリの全貌を解説します。

04

WTF、メモリ管理、そしてコアプリミティブ

WebKitの基盤ライブラリを深掘りする — カスタムスマートポインタ、protectedThisパターン、IsoHeapによるセキュリティ強化、そしてSTLを置き換えるコンテナ群。

05

WebCore: DOM、レンダリングパイプライン、Web IDL バインディング

HTML のパースからピクセル描画までのレンダリングパイプライン全体、CSS セレクタ JIT コンパイラ、そして JavaScript の GC と C++ の参照カウントを橋渡しするバインディングレイヤーを詳しく解説します。

06

JavaScriptCore の内側:4段階の実行パイプライン

JavaScript 関数が JavaScriptCore の 4 つの実行ティアをどのように通過するかを追跡します。字句解析とバイトコード生成から始まり、LLInt インタープリター、Baseline JIT、投機的最適化を行う DFG、そして B3 SSA バックエンドを持つ FTL コンパイラーまでを解説します。

07

マルチプロセスアーキテクチャとIPCシステム

WebKit2がカスタムのコード生成IPCフレームワークとプロキシ/スタブパターンを使って、Webコンテンツを独立したプロセスに分離する仕組み。

08

JavaScriptCore: パーサーから最適化JITパイプラインへ

JSCの4段階コンパイルティア、B3コンパイラバックエンド、RiptideガベージコレクターをとおしてJavaScriptがソーステキストから最適化されたマシンコードへと変換される仕組みを解説します。

09

ビルドシステム、テストインフラ、コントリビューターワークフロー

WebKit のビルド手順、テストスイートの実行方法、unified sources の仕組み、そして git-webkit を使ったコントリビューション方法を実践的に解説します。