@techreport{oai:ipsj.ixsq.nii.ac.jp:00217297, author = {齋藤, 優太 and 坂本, 一憲 and 鷲崎, 弘宜 and 深澤, 良彰}, issue = {11}, month = {Mar}, note = {ウェブブラウザにおける WebAssembly(Wasm)の利用場面ではダウロード時間とコンパイル時間の短縮が課題となっている.短縮の手段の一つとして Code Compaction が考えられ,既に LLVM はコンパイル時とリンク時における Function Merging を含む Code Compaction 最適化を行っているが,リンク後の最適化に対するサポートは十分ではない.リンク後のプログラムを対象とする場合,ビルド構成の工数を必要としないため適用対象を大幅に広げることが可能だが,Wasm を対象としてリンク後に Function Merging 可能な Code Compaction ツールは存在しない.本研究では Wasm を対象としてリンク後に Function Merging 可能な Code Compaction ツールの実装と 1200 件の実行ファイルを対象とした有効性検証を行った.検証の結果,従来の Wasm を対象としてリンク後に最適化可能な Code Compaction ツールと比較して,コードサイズ削減率が 5.1% から 7.6% へ 49% 程度改善された., In the use of WebAssembly (Wasm) in web browsers, reducing the download time and compile time is an issue. Code Compaction Code Compaction is one of the possible ways to shorten the time. LLVM already performs Code Compaction optimization including Function Merging at compile time and link time, but there is not enough support for post-link optimization. Post-link optimizer can optimize already linked executable files, and it can optimize much more binaries. However, there is no code compaction tool for Wasm that can perform Function Merging after linking. In this study, we implemented a code compaction tool that can perform Function Merging after linking for Wasm, and verified its effectiveness using 1200 executable files. As a result of the verification, the code size reduction rate was improved from 5.1% to 7.6%, an improvement of 49%, compared to the conventional Code Compaction tool that can optimize Wasm after linking.}, title = {WebAssemblyを対象としたCode Compactionツールの提案およびCode Compactionの有効性検証}, year = {2022} }