count_tdata_objects(result_hash = nil) -> Hash
[permalink][rdoc][edit] [added by objspace]-
T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。
- [PARAM] result_hash:
- 戻り値のためのハッシュを指定します。省略した場合は新しくハッシュを作成します。result_hash の内容は上書きされます。プローブ効果を避けるために使用します。
- [EXCEPTION] TypeError:
- result_hash にハッシュ以外を指定した時に発生します。
本メソッドは普通の Ruby プログラマ向けのメソッドではありません。パフォーマンスに興味のある C Ruby の開発者向けのものです。
ObjectSpace.count_tdata_objects # => {RubyVM::InstructionSequence=>504, :parser=>5, :barrier=>6, # :mutex=>6, Proc=>60, RubyVM::Env=>57, Mutex=>1, Encoding=>99, # ThreadGroup=>1, Binding=>1, Thread=>1, RubyVM=>1, :iseq=>1, # Random=>1, ARGF.class=>1, Data=>1, :autoload=>3, Time=>2}
現在のバージョンでは、戻り値のキーはクラスオブジェクトかシンボルのオブジェクトです。
普通の参照可能なオブジェクトの場合、キーはクラスオブジェクトです。それ以外の内部的なオブジェクトの場合、キーはシンボルです。シンボルの値は rb_data_type_struct に格納された名前が使用されます。
戻り値のハッシュは処理系に依存します。これは将来変更になるかもしれません。
本メソッドは C Ruby 以外では動作しません。