インスタンス変数を追加してはいけないクラス

第一候補はVM(primitive)が知っているクラスたちということになりますが、それでも新しい変数を後ろに追加していったときは、通常は問題がないわけです。primitiveが既存のフィールドにアクセスするときに使うインデックスは変わりませんので。

BitBltに今回追加したときも、最初は後ろに追加するだけだしと思い、でもサブクラスがあったら困るよなとも思って一瞬調べたもののその道はたどらず、さっと追加しても生きているのでそのまま進んでしまったわけでした。それでも、WarpBltのインスタンス変数はインデックスが変わってしまい、p1xとかその辺を見ているprimitiveがいかれてしまったわけです。

primitiveが知っているクラス一覧、とかというものを作ればよいんですかね。必ずしも簡単ではないかもしれませんが。それでも必要以上に集まってしまうわけなので、後は目視と実験も必要です。