diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2023-04-12 07:38:42 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2023-04-12 10:40:10 +0300 |
commit | 4f1f9afa07b963904457aebaec3b4438b99c36c9 (patch) | |
tree | c26bf854d81f00f490ee510c6b37f7ced1618c45 /include | |
parent | 4c0c2e42923f3e4912d848fd034935650e63fe56 (diff) | |
download | bdwgc-4f1f9afa07b963904457aebaec3b4438b99c36c9.tar.gz |
Add assertion about GC lock to GC_add_roots_inner and its callers
(refactoring)
Also, add the assertion to GC_roots_present() and COND_DUMP_CHECKS().
* dyn_load.c [HAVE_DL_ITERATE_PHDR && PT_GNU_RELRO]
(GC_register_dynlib_callback): Add assertion that GC lock is held.
* dyn_load.c [HAVE_DL_ITERATE_PHDR]
(GC_register_dynamic_libraries_dl_iterate_phdr): Likewise.
* dyn_load.c [MSWIN32 || MSWINCE || CYGWIN32] (GC_cond_add_roots):
Likewise.
* dyn_load.c [ALPHA && OSF1 || HPUX || AIX || HAIKU]
(GC_register_dynamic_libraries): Likewise.
* include/private/gc_priv.h (COND_DUMP_CHECKS): Likewise.
* mark_rts.c (GC_roots_present, GC_add_roots_inner): Likewise.
* dyn_load.c [MSWIN32 || MSWINCE || CYGWIN32] (GC_cond_add_roots):
Check THREADS instead of GC_WIN32_THREADS; check base==limit before
stack_top assignment.
Diffstat (limited to 'include')
-rw-r--r-- | include/private/gc_priv.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/private/gc_priv.h b/include/private/gc_priv.h index ec0cda5c..0149e0ee 100644 --- a/include/private/gc_priv.h +++ b/include/private/gc_priv.h @@ -2958,6 +2958,7 @@ GC_INNER void *GC_store_debug_info_inner(void *p, word sz, const char *str, #define COND_DUMP_CHECKS \ do { \ + GC_ASSERT(I_HOLD_LOCK()); \ GC_ASSERT(GC_compute_large_free_bytes() == GC_large_free_bytes); \ GC_ASSERT(GC_compute_root_size() == GC_root_size); \ } while (0) |