[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]