diff options
author | tmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-04-17 11:20:23 +0000 |
---|---|---|
committer | tmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-04-17 11:20:23 +0000 |
commit | cbd8b099200d9cd19df770dbabeb698b08135800 (patch) | |
tree | b17fd242610ade8f1d76f8efb9a91b41cb998ace /iseq.h | |
parent | ce6db8f286160fbf71c409416bd43c229b874601 (diff) | |
download | ruby-cbd8b099200d9cd19df770dbabeb698b08135800.tar.gz |
iseq: reduce array allocations for simple sequences
* compile.c (iseq_add_mark_object): Use new rb_iseq_add_mark_object().
* insns.def (setinlinecache): Ditto.
* iseq.c (rb_iseq_add_mark_object): New function to allocate
iseq->mark_ary on demand. [Bug #8142]
* iseq.h (rb_iseq_add_mark_object): Ditto.
* iseq.c (prepare_iseq_build): Avoid allocating mark_ary until needed.
* iseq.c (rb_iseq_build_for_ruby2cext): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'iseq.h')
-rw-r--r-- | iseq.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -21,6 +21,7 @@ VALUE rb_iseq_build_from_ary(rb_iseq_t *iseq, VALUE locals, VALUE args, VALUE exception, VALUE body); /* iseq.c */ +void rb_iseq_add_mark_object(rb_iseq_t *iseq, VALUE obj); VALUE rb_iseq_load(VALUE data, VALUE parent, VALUE opt); VALUE rb_iseq_parameters(const rb_iseq_t *iseq, int is_proc); struct st_table *ruby_insn_make_insn_table(void); |