ruby-changes:72620
From: Peter <ko1@a...>
Date: Thu, 21 Jul 2022 22:03:03 +0900 (JST)
Subject: [ruby-changes:72620] d67fcdcc9f (master): Add RARRAY_SHARED_FLAG
https://git.ruby-lang.org/ruby.git/commit/?id=d67fcdcc9f From d67fcdcc9fec1b842f0f221d4bada32bdbb7220a Mon Sep 17 00:00:00 2001 From: Peter Zhu <peter@p...> Date: Wed, 20 Jul 2022 15:34:42 -0400 Subject: Add RARRAY_SHARED_FLAG --- array.c | 6 +++--- internal/array.h | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/array.c b/array.c index 180f2ff20f..d877066000 100644 --- a/array.c +++ b/array.c @@ -66,7 +66,7 @@ should_be_T_ARRAY(VALUE ary) https://github.com/ruby/ruby/blob/trunk/array.c#L66 #define ARY_HEAP_SIZE(a) (assert(!ARY_EMBED_P(a)), assert(ARY_OWNS_HEAP_P(a)), ARY_CAPA(a) * sizeof(VALUE)) #define ARY_OWNS_HEAP_P(a) (assert(should_be_T_ARRAY((VALUE)(a))), \ - !FL_TEST_RAW((a), ELTS_SHARED|RARRAY_EMBED_FLAG)) + !FL_TEST_RAW((a), RARRAY_SHARED_FLAG|RARRAY_EMBED_FLAG)) #define FL_SET_EMBED(a) do { \ assert(!ARY_SHARED_P(a)); \ @@ -78,9 +78,9 @@ should_be_T_ARRAY(VALUE ary) https://github.com/ruby/ruby/blob/trunk/array.c#L78 #define FL_UNSET_EMBED(ary) FL_UNSET((ary), RARRAY_EMBED_FLAG|RARRAY_EMBED_LEN_MASK) #define FL_SET_SHARED(ary) do { \ assert(!ARY_EMBED_P(ary)); \ - FL_SET((ary), ELTS_SHARED); \ + FL_SET((ary), RARRAY_SHARED_FLAG); \ } while (0) -#define FL_UNSET_SHARED(ary) FL_UNSET((ary), ELTS_SHARED) +#define FL_UNSET_SHARED(ary) FL_UNSET((ary), RARRAY_SHARED_FLAG) #define ARY_SET_PTR(ary, p) do { \ assert(!ARY_EMBED_P(ary)); \ diff --git a/internal/array.h b/internal/array.h index 0c8ad3f3d6..d8a824423d 100644 --- a/internal/array.h +++ b/internal/array.h @@ -18,6 +18,7 @@ https://github.com/ruby/ruby/blob/trunk/internal/array.h#L18 # define ARRAY_DEBUG (0+RUBY_DEBUG) #endif +#define RARRAY_SHARED_FLAG ELTS_SHARED #define RARRAY_SHARED_ROOT_FLAG FL_USER12 #define RARRAY_PTR_IN_USE_FLAG FL_USER14 #define RARRAY_LITERAL_FLAG FL_USER15 @@ -79,7 +80,7 @@ RBIMPL_ATTR_MAYBE_UNUSED() https://github.com/ruby/ruby/blob/trunk/internal/array.h#L80 static inline int ary_should_not_be_shared_and_embedded(VALUE ary) { - return !FL_ALL_RAW(ary, ELTS_SHARED|RARRAY_EMBED_FLAG); + return !FL_ALL_RAW(ary, RARRAY_SHARED_FLAG|RARRAY_EMBED_FLAG); } static inline bool @@ -87,7 +88,7 @@ ARY_SHARED_P(VALUE ary) https://github.com/ruby/ruby/blob/trunk/internal/array.h#L88 { assert(RB_TYPE_P(ary, T_ARRAY)); assert(ary_should_not_be_shared_and_embedded(ary)); - return FL_TEST_RAW(ary, ELTS_SHARED); + return FL_TEST_RAW(ary, RARRAY_SHARED_FLAG); } static inline bool -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/