[#45906] ' failures. — Tanaka Akira <akr@...>
' の扱いが変化したことで、テストが失敗しているようです。
9 messages
2012/07/04
[#45910] [ruby-trunk - Bug #6694][Open] Thread.new without block. — "ko1 (Koichi Sasada)" <redmine@...>
24 messages
2012/07/04
[#45928] Re: [ruby-cvs:43524] kosaki:r36348 (trunk): * include/ruby/ruby.h: Removed RUBY_GLOBAL_SETUP complely. It is — SASADA Koichi <ko1@...>
ささだです.
3 messages
2012/07/09
[#45973] [ruby-trunk - Bug #6751][Assigned] remove tempfiles early. — "akr (Akira Tanaka)" <akr@...>
4 messages
2012/07/18
[#45976] [ruby-trunk - Bug #6756][Open] FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>
9 messages
2012/07/20
[#45977] [ruby-trunk - Feature #6757][Open] [PATCH] Add Process.getsid — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>
6 messages
2012/07/20
[#46012] [ruby-trunk - Feature #6812][Open] Refactor gc.c — "authorNari (Narihiro Nakamura)" <authorNari@...>
13 messages
2012/07/30
[ruby-dev:46016] [ruby-trunk - Feature #6812] Refactor gc.c
From:
"authorNari (Narihiro Nakamura)" <authorNari@...>
Date:
2012-07-30 23:21:31 UTC
List:
ruby-dev #46016
Issue #6812 has been updated by authorNari (Narihiro Nakamura).
ko1 (Koichi Sasada) wrote:
> パッチを細かく見てないんですが,確認させて下さい.
>
> (2012/07/30 17:07), authorNari (Narihiro Nakamura) wrote:
> > gc.cがごちゃごちゃしてきたので見通しがよくなるようにvm_xx.cみたいにファ
> > イルを分割しました。この修正ではCやRubyレベルのAPIの変更はありません。
> > # 2ヶ月前の開発会議で議論していた件です。
> > # http://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20120601
> >
> > 変更内容は以下のURLで閲覧できます。
> > https://github.com/authorNari/ruby/commit/11e4bffd9e3
> >
> > パッチは以下のとおりです。
> > https://github.com/authorNari/ruby/commit/11e4bffd9e3.patch
> >
> > 改善案や意見等ありましたら教えていただけると嬉しいです。
>
> 方針は賛成です.
>
> 確認したいんですが,コードを移動しただけでしょうか.それとも,gc.c 内
> のコードも結構変わってる漢字でしょうか.
>
>
ファイル分割する都合で何個か関数を追加してますが、基本的には移動しただけです。
> > = パッチの簡単な解説
> >
> > 以下のような階層で分割しています。
> >
> > + gc.c
> > +-- gc_alloc.[ch]
> > +-- gc_ms.[ch]
> > +-- gc_ms_heap.c
> > +-- gc_ms_profiler.c
> >
> > それぞれのファイルの簡単な説明は以下のとおりです。
>
> > * gc_alloc.h
> > メモリアロケータで実装すべき関数が定義される
> > (ruby_xmallocなど)
> >
> > * gc_ms.h
> > GCに実装すべき関数などが定義される
> > (gc_markなど)
>
> *.h って要りますか? インターフェースを切るとき,こっちのほうがよかっ
> たりするんだろうか.
>
インタフェースとなる関数とかデータ構造がまとまってたほうが読みやすいかなと思ったんですが、いらないかもですね。
> > * gc_ms_heap.c
> > GC対象のヒープに依存するコードを記述
>
> heap.h は不要でしょうか.
>
> あと,heap の構造は ms(mark & sweep)に依存するでしょうか.たしかに
> copying とかするならバッサリ変わる気がする.が,変わる可能性はあるんだろ
> うか.
>
現在はheapの構造に依存しています。完全に依存なくすとしたら結構大変ですね。
MostlyCopyingの可能性はありますが、当分は入らないと思いますので無視して
いいかもしれません。
> 実は,その辺を mmap で一度に沢山とっておいて云々,ってのを以前放り出し
> ていたのに再チャレンジしたいと思っているんですが,その場合,ms_heap とい
> う名前なのかなと考えたのでした.
>
なるほど。なるべくGC周りをいじりやすくしたいので、ヒープ構造に依存しないように作り
直してみます。
> --
> // SASADA Koichi at atdot dot net
----------------------------------------
Feature #6812: Refactor gc.c
https://bugs.ruby-lang.org/issues/6812#change-28555
Author: authorNari (Narihiro Nakamura)
Status: Open
Priority: Normal
Assignee: authorNari (Narihiro Nakamura)
Category: core
Target version: 2.0.0
nariです。
gc.cがごちゃごちゃしてきたので見通しがよくなるようにvm_xx.cみたいにファ
イルを分割しました。この修正ではCやRubyレベルのAPIの変更はありません。
# 2ヶ月前の開発会議で議論していた件です。
# http://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20120601
変更内容は以下のURLで閲覧できます。
https://github.com/authorNari/ruby/commit/11e4bffd9e3
パッチは以下のとおりです。
https://github.com/authorNari/ruby/commit/11e4bffd9e3.patch
改善案や意見等ありましたら教えていただけると嬉しいです。
= パッチの簡単な解説
以下のような階層で分割しています。
+ gc.c
+-- gc_alloc.[ch]
+-- gc_ms.[ch]
+-- gc_ms_heap.c
+-- gc_ms_profiler.c
それぞれのファイルの簡単な説明は以下のとおりです。
* gc_alloc.h
メモリアロケータで実装すべき関数が定義される
(ruby_xmallocなど)
* gc_ms.h
GCに実装すべき関数などが定義される
(gc_markなど)
* gc_alloc.c
メモリアロケータ周りのコードを記述
* gc_ms.c
GCアルゴリズム周りのコードを記述
* gc_ms_heap.c
GC対象のヒープに依存するコードを記述
* gc_ms_profiler.c
GCのプロファイラ周りのコードを記述する場所
--
http://bugs.ruby-lang.org/