Java クラスの Full Hot Swapping

id:nminoru:20060306:java の続報。Java に新しいバイトコード命令 invokedynamic を追加しようという JSR-292 だが、Review Ballot が可決され expert group での検討に入るようだ。未だ詳細は不明なのだが、発案者の Gliad Bracha 氏の blog に 新しい記事が投稿され、少しづつ情報が公開されている。それによると JSR-292 にはクラスの Hotswap の機能強化が含まれるかもしれないとのこと。

従来の JVMTI ベースの Hotswap (RedefineClass API) はメソッドの追加と修正しかできなかったが、メソッドの追加・修正・削除、フィールドの追加・削除と型変更、クラスのスーパークラスとスーパーインターフェイスの変更ができる完全な hotswap が導入されるかもとのこと。

ただこれらのクラスの書き換えが既存命令で使えるのか、それとも invokedynamic のみに反応するのかは不明。Mustang でスタック割り付けを導入してしまったし、フィールドの単純追加は難しいと思うナリ。