OpenJIT Bytecode Decompiler (1)
バイトコードを抽象構文木に変換
1. バイトコードをJVMの命令列に分解、基本ブロックの先
頭命令にマーク
2. 基本ブロックのリストとして、コントロールフローグラフを
構築
3. コントロールフローグラフに対応するドミネータツリーを
構築
4. 基本ブロック毎に基本ブロックを跨がない式や分を復元
5. 基本ブロックを跨ぐ条件演算子、条件文を復元
6. その他の制御構造を復元
7. 結果を抽象構文木として出力