[ruby-dev:46139] [ruby-trunk - Feature #6812][Closed] Refactor gc.c

From: "authorNari (Narihiro Nakamura)" <authorNari@...>
Date: 2012-09-15 03:12:20 UTC
List: ruby-dev #46139
Issue #6812 has been updated by authorNari (Narihiro Nakamura).

Status changed from Open to Closed

だいぶん前になりますが、gc.cを少し整理してみたのでこのチケットは閉じておきます。
----------------------------------------
Feature #6812: Refactor gc.c
https://bugs.ruby-lang.org/issues/6812#change-29317

Author: authorNari (Narihiro Nakamura)
Status: Closed
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/

In This Thread

Prev Next