{{category Java}} {{category COINS}} [COINS|http://www.coins-project.org]はJavaで書かれたコンパイラインフラで、新しく設計した最適化ルーチンの実験や、プロセッサへの移植が容易であるという特徴をもっています。そんなCOINSを使って遊んだり実験をする上で必要となったパッチのうちの、わりと、一般的なものを置いています。 !強制的にアライメントを調整しないようにする COINSのバックエンドでは、構造体の変数を適当にアライメントしてくれますが、 データの解析などのために構造体を利用するときには、アライメントされると 困ってしまいます。 __attribute__((packed)) は使えなかったので、とりあえず 強制的にすべての構造体でアライメントを調整しないことで対処することに。 使用のon/offは、-coins:no-alignというオプションで指定します。 {{ref coins-1.4.1.1-ja-no-align.patch}} * 名前は、1.4.1.1-jaですが、1.4.2.2-jaへも適用できます。 !jarファイルのmanifest中のClass-Pathでcoins.jarを使えるように 実行可能jarファイルでは、クラスパスをClass-Pathで指定しますが、 ここでCOINSのクラスファイルを固めたjarファイルを指定していても COINSの中で動的にクラスをロードするルーチンで上手くファイルをみつけられません。 なので、jarファイル中のClass-Pathを再帰的にたどって、動的ロードに対応することに。 詳細は、[[Diary/2007-4-19]]を参照。 {{ref coins-1.4.2.2-ja-searchClass_resursive.patch}}