ruby-trunk-changes r46811 - r46817

今日は主に iseq まわりの構造体サイズを切り詰めてチューニングでした。

normal: r46811 2014-07-14 16:06:26 +0900

rb_iseq_t の rescue 節や ensure 節の処理対象を記述する catch_table を常に確保せずに必要な時だけ確保するようにして、メモリ節約しています。catch_table が不要なケースが多いのでこれでかなり削れるというのと、catch_table_size メンバが削れるので rb_iseq_t 自体も小さくなっています。

svn: r46812 2014-07-14 16:06:44 +0900

version.h の日付更新。

normal: r46813 2014-07-14 16:08:55 +0900

struct iseq_catch_table_entry のメンバ start, end, cont, sp の型を unsigned long から unsigned int に変更することで 64bit 環境での構造体サイズを節約しています。このメンバ群は label_get_position() と label_get_sp() が int を返していることから long である必要がないとのこと。

normal: r46814 2014-07-14 16:42:13 +0900

rb_iseq_t の 64bit 環境でのアライメントを考慮してメンバの順番を入れかえてさらに構造体サイズを節約しています。

normal: r46815 2014-07-14 18:48:49 +0900

r46798, r46800, r46811, r46813, r46814 の ChangeLog エントリに構造体のサイズの変更についての追記。

suke: r46816 2014-07-14 19:17:40 +0900

拡張ライブラリ win32ole の定数についての rdoc 用コメントの追加などドキュメントの追加/修正。

nobu: r46817 2014-07-14 20:50:43 +0900

win32/Makefile.sub の LIBS から既に利用していなかった oldnames.lib というライブラリを削除しています。