>>402の定義では、TEXTセグメントに置かれるバイナリを書き換える
ことを自己書き換えと呼ぶってことなんだね。

Java VMって、入力として、あるデータ(Javaプログラム)を読み込み、
データを処理して何かを出力するという、それだけのプログラムだ。
たまたま、データの処理にコンパイラの技術を使うと速くデータの処
理ができるから、コンパイルしたりする。JITコンパイラがやる仕事っての
は、データと入力したプログラムに適した形に、Java VM自身をカスタ
マイズするという仕事であって、入力したデータを変更するというもので
はない。なんで分けるの?