タグ

ブックマーク / ruby-trunk-changes.hatenablog.com (2)

  • ruby trunk changes

    今日は主に irb の組み込みコマンド disable_irb の追加や VM 命令コンパイル時の最適化の不具合修正などがありました。 [83618f2cfa] Peter Zhu 2024-02-26 20:07:28 UTC MSAN のメモリリーク検出対応のためにプロセス終了時に可能なかぎりメモリ解放を徹底することを指示するフラグの値をチェックする C API ruby_free_at_exit_p() というのを追加しています。うーむ、これを使ってまでメモリ解放してくれる拡張ライブラリがどのくらいあるかという問題はあると思いますが……。 [ruby-core:116963] [Feature #20306] [3822ca9884] hogelog 2024-03-14 15:40:21 UTC irb の組み込みコマンドの disable_irb というのを追加しています。どうい

    ruby trunk changes
    rby
    rby 2011/11/12
  • Ruby の拡張ライブラリでメモリリークを防ぐメモリ確保の方法 - ruby trunk changes

    Ruby の拡張ライブラリを書く時には、Ruby の処理を呼び出すと例外が発生する可能性があることに気をつけないといけません。たとえば以下のように some_func という関数を呼び出す wrapper method を定義したとします。 extern int some_func(int len, int *ary); VALUE sample_func(VALUE self, VALUE arg) { int *buf; int len, i, result; if (!RB_TYPE_P(arg, T_ARRAY)) rb_raise(rb_eArgError, "arg must be an Array"); len = RARRAY_LEN(arg); buf = ALLOC_N(int, len); for (i = 0; i < len; i++) { buf[i] = NU

    Ruby の拡張ライブラリでメモリリークを防ぐメモリ確保の方法 - ruby trunk changes
  • 1