Mysaifu JVM は Windows Mobile 上で動作するJava仮想マシンです。クラスライブラリとしてGNU Classpathを使用しています。
1. 一部の命令について処理の高速化を行った
2. バグ修正を実施した
gnu.classpathパッケージ
- VMStackWalker.getClassContext()内でメモリリークが発生していた
java.langパッケージ
-Object.wait()内でメモリリークが発生していた
java.util.prefsパッケージ
-UnsatisfiedLinkErrorが発生していた
JVM本体
-バイトコード実行処理時のアドレス計算処理を削減した
-以下の命令実行時の処理内容を削減した
baload, saload, caload, saload, iaload, faload, laload, aaload, bastore, sastore, castore, sastore, iastore, fastore, lastore, aastore
-クラス初期化時(メソッド<clinit>呼び出し時)に、オペランドスタックの状態が不正になっていた
-Throwable.printStackTrace()で表示されるソースコードの行数が不正な値となっていた
-以下の命令について、2回目以降の実行速度を高速化させた
new, invokevirtual, invokestatic, invokespecial, instanceof, getfield, putfield
-ClassFile構造体のメモリ使用量を削減した