Proposal of a new C API
We uses rb_newobj() in CRuby when we allocates any object.
However, this function has no arguments, so we can not change a
internal allocate method depending klass and flags of any object.
So I propose to add following new C APIs.
- VALUE rb_newobj_of(VALUE klass, VALUE flags);
- #define NEWOBJ_OF(obj,type,klass,flags)
A patch is here.
rb_newobj_of() is named by Matz. I think it's a fitting name.
Please let me know if you have more good name.
Updated by authorNari (Narihiro Nakamura) over 7 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r37275.
Narihiro, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
include/ruby/ruby.h: add C APIs.
VALUE rb_newobj_of(VALUE klass, VALUE flags)
These allow to change a allocation strategy depending on klass
array.c: use new C API.