Feature #11435
closed
[RFC] iseq: implement memsize for wrapper
Added by normalperson (Eric Wong) over 8 years ago.
Updated over 8 years ago.
Description
I noticed this was disabled in the recent refactoring.
This patch implementation seems to return smaller sizes
than I expected, so maybe that is the result of improvements
and moving data around or likely I missed something.
Only lightly checked, I'll check again another day/week
or someone else can look at it.
Files
It seems nice.
We can also add RUBY_TYPED_WB_PROTECTED.
BTW, I can change implementation of ISeq object in future.
But now, your patch is reasonable.
- Status changed from Open to Closed
Applied in changeset r51547.
iseq.c (iseq_memsize): reimplement for wrapper
- iseq.c (iseq_memsize): reimplement for wrapper
(param_keyword_size): extracted from iseq_memsize
(iseqw_mark): new mark function
(iseqw_data_type): new data type
(iseqw_new): wrap as iseqw_data_type
(iseqw_check): adjust for wrapper
(Init_ISeq): remove iseqw_iseq_key initialization
- test/objspace/test_objspace.rb: new test
[ruby-core:70344] [Feature #11435]
v2 changes:
- added RUBY_TYPED_WB_PROTECTED and write barrier
- account for rb_call_info_kw_arg_t entries
Also available in: Atom
PDF
Like0
Like0Like0