webKit/webkit
9 articles
前提知識
- ›ソフトウェアエンジニアリングの基礎知識
- ›ブラウザの基本的な仕組み(パース・レンダリング・実行)への理解
- ›C++ のファイルおよびディレクトリ構造を読み解く力
WebKit を読み解く:アーキテクチャ概要とコードベースマップ
WebKit リポジトリの全体像を把握するためのメンタルモデル — 6 層のビルドスタック、マルチプロセスセキュリティアーキテクチャ、そして現存する最大規模のオープンソース C++ コードベースの中で自分の位置を知る方法。
WebKitコードベースのアーキテクチャ概要とナビゲーション
WebKitの全体像を俯瞰するための包括的なガイド。階層化された依存関係、マルチプロセスモデル、デュアルビルドシステム、そして500万行超のコードベースを実践的に読み解くテクニックを解説します。
WTF とメモリ管理:WebKit の基盤ライブラリ
WTF(Web Template Framework)を深掘りする。参照カウント、弱参照ポインタ、コンテナ、セキュリティ強化されたメモリアロケータなど、WebKit 全体を支えるカスタム標準ライブラリの全貌を解説します。
WTF、メモリ管理、そしてコアプリミティブ
WebKitの基盤ライブラリを深掘りする — カスタムスマートポインタ、protectedThisパターン、IsoHeapによるセキュリティ強化、そしてSTLを置き換えるコンテナ群。
WebCore: DOM、レンダリングパイプライン、Web IDL バインディング
HTML のパースからピクセル描画までのレンダリングパイプライン全体、CSS セレクタ JIT コンパイラ、そして JavaScript の GC と C++ の参照カウントを橋渡しするバインディングレイヤーを詳しく解説します。
JavaScriptCore の内側:4段階の実行パイプライン
JavaScript 関数が JavaScriptCore の 4 つの実行ティアをどのように通過するかを追跡します。字句解析とバイトコード生成から始まり、LLInt インタープリター、Baseline JIT、投機的最適化を行う DFG、そして B3 SSA バックエンドを持つ FTL コンパイラーまでを解説します。
マルチプロセスアーキテクチャとIPCシステム
WebKit2がカスタムのコード生成IPCフレームワークとプロキシ/スタブパターンを使って、Webコンテンツを独立したプロセスに分離する仕組み。
JavaScriptCore: パーサーから最適化JITパイプラインへ
JSCの4段階コンパイルティア、B3コンパイラバックエンド、RiptideガベージコレクターをとおしてJavaScriptがソーステキストから最適化されたマシンコードへと変換される仕組みを解説します。
ビルドシステム、テストインフラ、コントリビューターワークフロー
WebKit のビルド手順、テストスイートの実行方法、unified sources の仕組み、そして git-webkit を使ったコントリビューション方法を実践的に解説します。