diff options
author | Peter Zhu <[email protected]> | 2022-07-19 11:15:05 -0400 |
---|---|---|
committer | Peter Zhu <[email protected]> | 2022-07-20 13:13:56 -0400 |
commit | 5871ecf956711fcacad7c03f2aef95115ed25bc4 (patch) | |
tree | ef8db409dd1acd1d2184279d8a8d3893f6b965f6 /internal/symbol.h | |
parent | b25ee69e3873162689c46bc3ffdd1686151184b2 (diff) |
Add RARRAY_LITERAL_FLAG for array literals
Array created as literals during iseq compilation don't need a
reference count since they can never be modified. The previous
implementation would mutate the hidden array's reference count,
causing copy-on-write invalidation.
This commit adds a RARRAY_LITERAL_FLAG for arrays created through
rb_ary_literal_new. Arrays created with this flag do not have reference
count stored and just assume they have infinite number of references.
Co-authored-by: Jean Boussier <[email protected]>
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/6151
Diffstat (limited to 'internal/symbol.h')
0 files changed, 0 insertions, 0 deletions