[#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:46019] [ruby-trunk - Feature #6812] Refactor gc.c
From:
"authorNari (Narihiro Nakamura)" <authorNari@...>
Date:
2012-07-31 01:48:50 UTC
List:
ruby-dev #46019
Issue #6812 has been updated by authorNari (Narihiro Nakamura).
ko1 (Koichi Sasada) wrote:
> (2012/07/31 8:23), authorNari (Narihiro Nakamura) wrote:
> > 上記、ありがとうございます。アルゴリズム名以外の名前…。gc_coreとかですかね。
>
> core はやめたほうがいいです(と,vm_core.h という名前を付けた人が反省し
> ています).
>
> 個人的には,gc.c -> objspace.c にして,objspace_gc.c,
> objspace_gc_(mark|sweep).c みたいにするのが綺麗な気がするんですが,変わ
> りすぎてるのでよろしくなさそうです.mark と sweep を別にするのも変だしな.
>
> というわけで,対案が無くて -1 で大変心苦しいですが,
>
> 個人的には ms で mark & sweep 以外無いだろう,と思ったので,あまり違和感
> が無かったのですが....
>
なるほど…。
個人的にはgc.c自体は変える気はなく、gc.cにincludeされるファイルの名前なのでアルゴリズム名もありかと思っています。
アルゴリズムが変わったらファイル名も変えればいいかなと。
ですので、gc_mark_sweep.cあたりでどうでしょうか。
# ちなみにHotspotVM界隈ですとCMSとか平気で名付けるようです。
----------------------------------------
Feature #6812: Refactor gc.c
https://bugs.ruby-lang.org/issues/6812#change-28562
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/