@article{oai:ipsj.ixsq.nii.ac.jp:00016510, author = {千葉, 雄司 and Yuji, Chiba}, issue = {SIG10(PRO33)}, journal = {情報処理学会論文誌プログラミング(PRO)}, month = {Jun}, note = {Auto-Boxing を利用したプログラミングでは,primitive 型からwrapper 型への変換を暗黙に実施するため,ソースコード上に変換の処理を記述する必要はなくなるが,変換の処理自体がなくなるわけではない.変換の処理は冗長である場合もあり,このとき最適化によって変換処理を削除することで実行を高速化できる.本論文ではJava のAuto-Boxing を利用したプログラムを対象とした最適化として,Auto-Boxing で暗黙に挿入される変換処理が冗長か判断し,冗長ならば除去する手法を提案する.提案技法の特長は,変換処理を冗長にするために,null 検査の除去や冗長な比較の除去,メンバ変数参照の除去,インタプリタによる実行再開地点の移動といった技法を用いる点にある.SPECjbb2005 を使った評価の結果,提案技法によって3.6%の高速化が可能であることが分かった., Programming using auto-boxing makes it unnecessary to write code that converts a primitive value into an instance of the wrapper class because auto-boxing inserts the code implicitly. The implicit code is sometimes redundant, and we propose an optimization that eliminates the redundant code to improve performance. Our optimization also makes the implicit code redundant by null test elimination, redundant reference comparision elimination, member variable reference elimination, and unwinding execution when an interpreter takes over the execution. Evaluation using SPECjbb2005 showed that our optimization improved the performance by 3.6%.}, pages = {165--175}, title = {Java 向け動的コンパイラによる冗長なBox 化の削除}, volume = {48}, year = {2007} }