mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
* array.c (rb_ary_tmp_new): added.
This function creates internal use only array (which is completely hided by ObjectSpace.each_object) with filling nil. Otherwise, it can be incldues strange VALUEs. * internal.h: added. * node.h: use rb_ary_tmp_new_fill() for MEMO. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
85691b9578
commit
b5e89e44f1
4 changed files with 23 additions and 3 deletions
4
node.h
4
node.h
|
@ -468,9 +468,7 @@ typedef struct RNode {
|
|||
#define roomof(x, y) ((sizeof(x) + sizeof(y) - 1) / sizeof(y))
|
||||
#define MEMO_FOR(type, value) ((type *)RARRAY_PTR(value))
|
||||
#define NEW_MEMO_FOR(type, value) \
|
||||
(rb_ary_set_len(((value) = rb_ary_tmp_new(roomof(type, VALUE))), \
|
||||
roomof(type, VALUE)), \
|
||||
MEMO_FOR(type, value))
|
||||
((value) = rb_ary_tmp_new_fill(roomof(type, VALUE)), MEMO_FOR(type, value))
|
||||
|
||||
RUBY_SYMBOL_EXPORT_BEGIN
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue