From: Eric Wong Date: 2014-06-10T19:31:46+00:00 Subject: [ruby-core:63075] Re: [RFC] README.EXT: document rb_gc_register_mark_object SASADA Koichi wrote: > (2014/05/31 4:56), Eric Wong wrote: > > +void rb_gc_register_mark_object(VALUE val) > > + > > + Tells GC to protect the object referenced by val. This requires less > > + memory to track than rb_global_variable, but may only be used if the C > > + variable never changes. > > + > > How about that? > > > Tells GC to protect the object referenced by val. > > Another things are implementation details. > > And I'm not sure the following sentence is needed. > > > but may only be used if the C > > variable never changes. > > I think it may assume global variables. But this API is independent from > C's global variables. I think this comment may be for > `rb_global_variable' users, but it is different API. I think it is important to tell users how it is different from rb_global_variable and when it is OK or not OK to use. So I think the implementation details/difference from rb_global_variable is important to prevent misuse. May we consider this part of the supported C API? > PS. > For our MVM development, we can not support "rb_global_variable()". So I > want to make it obsolete. > This is why I introduce rb_gc_register_mark_object(). But not yet. Is MVM still happening? I haven't heard about it in a long time. If so, we should move fstring and symbol table into the vm struct.