ruby-trunk-changes r57666 - r57677

今日は deprecated にした内部関数の整理やデバッグ/プロファイル用の隠し機能の追加などがありました。

yui-knk: r57666 2017-02-20 23:40:56 +0900

compile.c の compile_branch_condition() の NODE_LIT についてのコメントの内容が間違っていたので修正しています。

ko1: r57667 2017-02-21 04:12:52 +0900

r57664 で追加した gen_ivtbl_get() の NORETURN() マクロでの宣言が VC++ で動かなかったそうなので削除しています。

svn: r57668 2017-02-21 04:12:53 +0900

version.h の日付更新。

nobu: r57669 2017-02-21 10:28:30 +0900

r57667 で削除された NORETURN(rb_generic_ivar_table) ですが #ifdef __GNUC__ でくくる形で復活させています。

nobu: r57670 2017-02-21 14:16:49 +0900

internal.h に r54189 で削除されてた rb_compile_error_str() の宣言が残っていたので削除しています。

nobu: r57671 2017-02-21 14:17:41 +0900

rb_disable_super(), rb_enable_super(), rb_hash_iter_lev(), rb_hash_ifnone(), rb_str_associate(), rb_str_associated(), rb_clear_cache(), rb_frame_pop() などの内部的な関数で既に利用できなくなっているものを include/ruby/backward.h に DECLARE_DEPRECATED_FEATURE() というマクロを追加してビルドエラー時にメッセージを表示するようにしています。

nobu: r57672 2017-02-21 15:07:21 +0900

complex.c の rb_complex_set_real() と rb_complex_set_imag() も deprecated にしています。 Complex の内部を隠した時に廃止したんでしたっけ。そんな前でしたっけ…。

nobu: r57673 2017-02-21 15:07:22 +0900

error.c から rb_compile_error_with_enc()、rb_compile_error()、rb_compile_error_append() も include/ruby/backward.h に移動しています。

nobu: r57674 2017-02-21 15:16:49 +0900

variable.c から rb_generic_ivar_table() も nclude/ruby/backward.h に移動しています。これそもそも deprecated だったのか。

nobu: r57675 2017-02-21 15:16:50 +0900

include/ruby/intern.h の rb_autoload() も include/ruby/backward.h に移動しています。

ko1: r57676 2017-02-21 17:18:15 +0900

USE_DEBUG_COUNTER というマクロを 1 に定義するといくつかの VM の関数にカウンタを仕込んで、呼び出された回数をカウントしておいて終了時にダンプするようにしています。ただし環境変数 RUBY_DEBUG_COUNTER_DISABLE が 1 に定義されていると出力は抑制されています。デバッグというかパフォーマンス測定用ですかね。

svn: r57677 2017-02-21 17:18:16 +0900

r57676 で新規追加されたファイルの svn property 設定。