diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-10-21 14:20:15 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2022-11-16 21:46:49 -0500 |
commit | 1e9ad6321618fd351d4ae2a460e0b1bbe2f1b1c4 (patch) | |
tree | ef2ad14dc59cd90d3216b7a002722c7b4b7c603a | |
parent | a222757605aed368054b0ccd4d40bbc5bfa559f3 (diff) | |
download | haskell-1e9ad6321618fd351d4ae2a460e0b1bbe2f1b1c4.tar.gz |
Hi
-rw-r--r-- | rts/Arena.c | 1 | ||||
-rw-r--r-- | rts/include/Rts.h | 1 | ||||
-rw-r--r-- | rts/sm/GC.c | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/rts/Arena.c b/rts/Arena.c index 8129475332..154769fb04 100644 --- a/rts/Arena.c +++ b/rts/Arena.c @@ -98,6 +98,7 @@ arenaAlloc( Arena *arena, size_t size ) } // Free an entire arena +WARD_NEED(may_take_sm_lock) void arenaFree( Arena *arena ) { diff --git a/rts/include/Rts.h b/rts/include/Rts.h index 09a0adab49..86dbe022db 100644 --- a/rts/include/Rts.h +++ b/rts/include/Rts.h @@ -91,6 +91,7 @@ extern "C" { #define WARD_USES(perm) WARD_ANN(uses(perm)) #define WARD_GRANT(perm) WARD_ANN(grant(perm)) #define WARD_REVOKE(perm) WARD_ANN(revoke(perm)) +#define WARD_WAIVE(perm) WARD_ANN(waive(perm)) /* __builtin_unreachable is supported since GNU C 4.5 */ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) diff --git a/rts/sm/GC.c b/rts/sm/GC.c index e7e0e80150..ba7bc82039 100644 --- a/rts/sm/GC.c +++ b/rts/sm/GC.c @@ -251,6 +251,7 @@ SHARE_SM_LOCK(void) } WARD_GRANT(may_take_sm_lock) +WARD_WAIVE(may_take_sm_lock) WARD_NEED(sharing_sm_lock) WARD_REVOKE(sharing_sm_lock) WARD_NEED(sm_lock_held) |