ダウンロードリスト

プロジェクト概要

Mysaifu JVM は Windows Mobile 上で動作するJava仮想マシンです。クラスライブラリとしてGNU Classpathを使用しています。

システム要件

システム要件が設定されていません

リリース時刻: 2005-11-10 22:51
Mysaifu JVM 0.1.7 (1 個のファイル 非表示)

リリースノート

- クラスライブラリを GNU Classpath 0.19 にアップデートした。
- JVM本体およびクラスライブラリのバグ修正を実施した。

変更履歴

java.awtパッケージ
- Checkbox.getState()の返す値が誤っていた。
- Toolkit.createImage(byte[], int, int)が機能していなかった。
- ComponentPeer実装クラスのsetForeground(Color)にnullを渡すと、NullPointerExceptionが発生していた。nullはSystemColor.windowTextとして処理するように修正した。
- Graphicsの初期化処理で、Component.isFontSet()の戻り値がtrueの場合にのみ、Component.getFont()を呼び出すように修正した。
(GNU Classpath 0.19における変更への対応)
-Graphics実装クラス生成時に、対象ComponentのgetForeground()が nullを返すと、NullPointerExceptionが発生していた。 nullはSystemColor.windowTextとして処理するように修正した。
-ScrollPane.addNotify()のバグを修正した。(GNU Classpathが修正されるまでの暫定処置)
-WCEGraphics.setFont(Font)にnullが渡された場合、何もしないように修正した。

java.netパッケージ
-MulticastSocket.setTimeToLive(byte)を呼び出すとネイティブライブラリ内でエラーが発生していた。
Windows CEではsetsockopt()のIP_TTLはサポートされていない模様。代わりにIP_MULTICAST_TTLを使用するように修正した。

java.util.zipパッケージ
-ZipFile.getInputStream(ZipEntry)が返すInputStreamのavailable() メソッドについて、以下のような値を返すように修正した。
圧縮前のファイルサイズから、読み込み済みバイト数を減じた値
(SunのJDKと動作を合わせる。現在GNU Classpathの変更要求をあげている)
-ZipFile.getInputStream(ZipEntry)が返すInputStreamのread(byte[]) メソッドは、できる限り渡されたバッファにデータを入れるようにした。(SunのJDKと動作を合わせる)

java.util.jarパッケージ
-JarFile.getInputStream(ZipEntry)が返すInputStreamのavailable() メソッドについて、以下のような値を返すように修正した。
圧縮前のファイルサイズから、読み込み済みバイト数を減じた値
(SunのJDKと動作を合わせる。現在GNU Classpathの変更要求をあげている)
-ZipFile.getInputStream(ZipEntry)が返すInputStreamのread(byte[]) メソッドは、できる限り渡されたバッファにデータを入れるようにした。(SunのJDKと動作を合わせる)

JVM本体
-クラスライブラリをGNU Classpath 0.18から0.19にアップデートした。
-オペランド・スタックの構造を見直して、プリミティブ値をpushする際のメモリアクセス量を削減した。
-finalize()呼び出し時のmalloc()呼び出し回数を削減し、高速化した。
-配列アクセス命令(iaload, iastore等の命令)実行時の処理内容を一部削減し、高速化した。
-1つの命令内で、2回以上POPする命令(icmplg等の命令)実行時に、スタックポインタを更新する回数を1回減らした。