wingo pushed a commit to branch wip-whippet
in repository guile.

commit 4d271e74925e1f9f291a9f67d6bad6b34c33b22b
Author: Andy Wingo <wi...@igalia.com>
AuthorDate: Wed Mar 5 16:08:41 2025 +0100

    nofl space: refactor to add NOFL_METADATA_BYTE_MARK_MASK
---
 src/nofl-space.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/nofl-space.h b/src/nofl-space.h
index f98530b02..47c352154 100644
--- a/src/nofl-space.h
+++ b/src/nofl-space.h
@@ -237,6 +237,10 @@ enum nofl_metadata_byte {
   NOFL_METADATA_BYTE_MARK_0 = 2,
   NOFL_METADATA_BYTE_MARK_1 = 4,
   NOFL_METADATA_BYTE_MARK_2 = 8,
+  NOFL_METADATA_BYTE_MARK_MASK = (NOFL_METADATA_BYTE_YOUNG |
+                                  NOFL_METADATA_BYTE_MARK_0 |
+                                  NOFL_METADATA_BYTE_MARK_1 |
+                                  NOFL_METADATA_BYTE_MARK_2),
   NOFL_METADATA_BYTE_END = 16,
   NOFL_METADATA_BYTE_PINNED = 32,
   NOFL_METADATA_BYTE_LOGGED_0 = 64,
@@ -1420,8 +1424,7 @@ nofl_space_should_evacuate(struct nofl_space *space, 
uint8_t metadata_byte,
 static inline int
 nofl_space_set_mark_relaxed(struct nofl_space *space, uint8_t *metadata,
                             uint8_t byte) {
-  uint8_t mask = NOFL_METADATA_BYTE_YOUNG | NOFL_METADATA_BYTE_MARK_0
-    | NOFL_METADATA_BYTE_MARK_1 | NOFL_METADATA_BYTE_MARK_2;
+  uint8_t mask = NOFL_METADATA_BYTE_MARK_MASK;
   atomic_store_explicit(metadata,
                         (byte & ~mask) | space->marked_mask,
                         memory_order_relaxed);
@@ -1430,8 +1433,7 @@ nofl_space_set_mark_relaxed(struct nofl_space *space, 
uint8_t *metadata,
 
 static inline int
 nofl_space_set_mark(struct nofl_space *space, uint8_t *metadata, uint8_t byte) 
{
-  uint8_t mask = NOFL_METADATA_BYTE_YOUNG | NOFL_METADATA_BYTE_MARK_0
-    | NOFL_METADATA_BYTE_MARK_1 | NOFL_METADATA_BYTE_MARK_2;
+  uint8_t mask = NOFL_METADATA_BYTE_MARK_MASK;
   atomic_store_explicit(metadata,
                         (byte & ~mask) | space->marked_mask,
                         memory_order_release);

Reply via email to