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

commit d56356fec7c7a0f3e38dbb7b52b5dceb4d45583d
Author: Andy Wingo <wi...@igalia.com>
AuthorDate: Mon Oct 2 22:47:35 2023 +0200

    Add gc_safepoint_mechanism gc attr
---
 api/bdw-attrs.h     | 4 ++++
 api/gc-attrs.h      | 6 ++++++
 api/semi-attrs.h    | 4 ++++
 api/whippet-attrs.h | 4 ++++
 4 files changed, 18 insertions(+)

diff --git a/api/bdw-attrs.h b/api/bdw-attrs.h
index e7a08100d..e190c2cee 100644
--- a/api/bdw-attrs.h
+++ b/api/bdw-attrs.h
@@ -50,4 +50,8 @@ static inline size_t gc_write_barrier_card_size(void) {
   GC_CRASH();
 }
 
+static inline enum gc_safepoint_mechanism gc_safepoint_mechanism(void) {
+  return GC_SAFEPOINT_MECHANISM_SIGNAL;
+}
+
 #endif // BDW_ATTRS_H
diff --git a/api/gc-attrs.h b/api/gc-attrs.h
index 60d8e3351..c08330eaa 100644
--- a/api/gc-attrs.h
+++ b/api/gc-attrs.h
@@ -37,4 +37,10 @@ static inline enum gc_write_barrier_kind 
gc_write_barrier_kind(size_t obj_size)
 static inline size_t gc_write_barrier_card_table_alignment(void) 
GC_ALWAYS_INLINE;
 static inline size_t gc_write_barrier_card_size(void) GC_ALWAYS_INLINE;
 
+enum gc_safepoint_mechanism {
+  GC_SAFEPOINT_MECHANISM_COOPERATIVE,
+  GC_SAFEPOINT_MECHANISM_SIGNAL,
+};
+static inline enum gc_safepoint_mechanism gc_safepoint_mechanism(void) 
GC_ALWAYS_INLINE;
+
 #endif // GC_ATTRS_H
diff --git a/api/semi-attrs.h b/api/semi-attrs.h
index 3bf9584b8..be906768f 100644
--- a/api/semi-attrs.h
+++ b/api/semi-attrs.h
@@ -52,4 +52,8 @@ static inline size_t gc_write_barrier_card_size(void) {
   GC_CRASH();
 }
 
+static inline enum gc_safepoint_mechanism gc_safepoint_mechanism(void) {
+  return GC_SAFEPOINT_MECHANISM_COOPERATIVE;
+}
+
 #endif // SEMI_ATTRS_H
diff --git a/api/whippet-attrs.h b/api/whippet-attrs.h
index b26d79ad3..e6e5b22b9 100644
--- a/api/whippet-attrs.h
+++ b/api/whippet-attrs.h
@@ -57,4 +57,8 @@ static inline size_t gc_write_barrier_card_size(void) {
   return 256;
 }
 
+static inline enum gc_safepoint_mechanism gc_safepoint_mechanism(void) {
+  return GC_SAFEPOINT_MECHANISM_COOPERATIVE;
+}
+
 #endif // WHIPPET_ATTRS_H

Reply via email to