summaryrefslogtreecommitdiff
path: root/os_dep.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2022-05-11 08:07:05 +0300
committerIvan Maidanski <ivmai@mail.ru>2022-05-11 12:01:20 +0300
commit8f72b3545c60e79b18b9cfc18ff6b72270da653e (patch)
tree7216d509546d8cd1987b6be180ce970e42a6e6e6 /os_dep.c
parent970cf9d5e32f7023eb9acb082f241593bcc9a5bd (diff)
downloadbdwgc-8f72b3545c60e79b18b9cfc18ff6b72270da653e.tar.gz
Replace comments about GC is held or not with relevant assertions
(refactoring) * alloc.c (GC_default_stop_func): Refine comment about the allocation lock. * alloc.c (GC_finish_collection): Remove comment that the allocation lock is held because the assertion about it already exists. * finalize.c (GC_grow_table, GC_mark_fo, GC_finalize): Likewise. * finalize.c [!GC_MOVE_DISAPPEARING_LINK_NOT_NEEDED] (GC_move_disappearing_link_inner): Likewise. * mark.c (GC_mark_some_inner): Likewise. * mark.c [PARALLEL_MARK] (GC_do_parallel_mark): Likewise. * os_dep.c [OPENBSD && GC_OPENBSD_UTHREADS] (GC_find_limit_openbsd, GC_skip_hole_openbsd): Likewise. * os_dep.c [NEED_FIND_LIMIT || USE_PROC_FOR_LIBRARIES && THREADS] (GC_find_limit_with_bound): Likewise. * os_dep.c (GC_register_data_segments): Likewise. * os_dep.c [MPROTECT_VDB || PROC_VDB || SOFT_VDB] (GC_dirty_init): Likewise. * pthread_stop_world.c (GC_start_world): Likewise. * pthread_support.c (GC_new_thread): Likewise. * thread_local_alloc.c (return_freelists): Likewise. * win32_threads.c (GC_new_thread, GC_lookup_thread_inner, GC_delete_gc_thread_no_free): Likewise. * blacklst.c (GC_promote_black_lists): Remove comment that the allocation lock is held, and add the corresponding assertion to the beginning of the function. * blacklst.c [!PARALLEL_MARK] (GC_add_to_black_list_normal, GC_add_to_black_list_stack): Likewise. * darwin_stop_world.c (GC_stop_world, GC_start_world): Likewise. * mark_rts.c (GC_remove_root_at_pos, GC_remove_roots_inner, GC_exclude_static_roots_inner): Likewise. * pthread_stop_world.c (GC_push_all_stacks, GC_suspend_all): Likewise. * pthread_support.c (GC_check_finalizer_nested): Likewise. * thread_local_alloc.c (GC_destroy_thread_local): Likewise. * win32_threads.c (GC_check_finalizer_nested, GC_push_all_stacks): Likewise. * blacklst.c (GC_is_black_listed): Refine comment about the allocation lock. * darwin_stop_world.c (GC_push_all_stacks): Add assertion that the lock is held on entrance. * gcj_mlc.c (maybe_finalize): Likewise. * malloc.c [THREADS] (GC_free_inner): Likewise. * dyn_load.c (GC_dyld_image_add, GC_dyld_image_remove, GC_init_dyld): Remove comment the allocation lock should not be held, and add the corresponding assertion to the beginning of the function. * finalize.c (GC_invoke_finalizers): Likewise. * mark.c [PARALLEL_MARK] (GC_help_marker): Likewise. * pthread_support.c (GC_init_parallel): Likewise. * win32_threads.c (GC_lookup_pthread, GC_init_parallel): Likewise. * finalize.c (GC_finalize_all): Remove comment that the lock is not held on entrance. * gcj_mlc.c (GC_init_gcj_malloc): Likewise. * typd_mlc.c (GC_add_ext_descriptor): Likewise. * include/gc/javaxfc.h (GC_finalize_all): Add comment the function acquires the allocation lock. * mallocx.c (GC_generic_malloc_many): Adjust comment about GC lock. * new_hblk.c (GC_build_fl): Likewise. * pthread_support.c (GC_new_thread): Move the assertion about the allocation lock closer to the beginning of the function. * win32_threads.c (GC_new_thread): Likewise.
Diffstat (limited to 'os_dep.c')
-rw-r--r--os_dep.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/os_dep.c b/os_dep.c
index be4634f5..c90b71a6 100644
--- a/os_dep.c
+++ b/os_dep.c
@@ -541,7 +541,6 @@ GC_INNER const char * GC_get_maps(void)
/* works-around the issues. */
/* Return the first non-addressable location > p or bound. */
- /* Requires the allocation lock. */
STATIC ptr_t GC_find_limit_openbsd(ptr_t p, ptr_t bound)
{
static volatile ptr_t result;
@@ -587,7 +586,6 @@ GC_INNER const char * GC_get_maps(void)
static volatile int firstpass;
/* Return first addressable location > p or bound. */
- /* Requires the allocation lock. */
STATIC ptr_t GC_skip_hole_openbsd(ptr_t p, ptr_t bound)
{
static volatile ptr_t result;
@@ -981,15 +979,11 @@ GC_INNER size_t GC_page_size = 0;
/* Return the first non-addressable location > p (up) or */
/* the smallest location q s.t. [q,p) is addressable (!up). */
/* We assume that p (up) or p-1 (!up) is addressable. */
- /* Requires allocation lock. */
GC_ATTR_NO_SANITIZE_ADDR
STATIC ptr_t GC_find_limit_with_bound(ptr_t p, GC_bool up, ptr_t bound)
{
static volatile ptr_t result;
- /* Safer if static, since otherwise it may not be */
- /* preserved across the longjmp. Can safely be */
- /* static since it's only called with the */
- /* allocation lock held. */
+ /* Safer if static, see that in GC_find_limit_openbsd. */
GC_ASSERT(up ? (word)bound >= MIN_PAGE_SIZE
: (word)bound <= ~(word)MIN_PAGE_SIZE);
@@ -1578,7 +1572,7 @@ GC_INNER size_t GC_page_size = 0;
/* Register static data segment(s) as roots. If more data segments are */
/* added later then they need to be registered at that point (as we do */
/* with SunOS dynamic loading), or GC_mark_roots needs to check for */
-/* them (as we do with PCR). Called with allocator lock held. */
+/* them (as we do with PCR). */
# ifdef OS2
void GC_register_data_segments(void)
@@ -3074,8 +3068,6 @@ GC_API GC_push_other_roots_proc GC_CALL GC_get_push_other_roots(void)
#endif /* !GWW_VDB && !SOFT_VDB */
#ifdef DEFAULT_VDB
- /* All of the following assume the allocation lock is held. */
-
/* The client asserts that unallocated pages in the heap are never */
/* written. */
@@ -5178,7 +5170,7 @@ GC_INNER void GC_save_callers(struct callinfo info[NFRAMES])
#ifdef NEED_CALLINFO
-/* Print info to stderr. We do NOT hold the allocation lock */
+/* Print info to stderr. We do NOT hold the allocation lock. */
GC_INNER void GC_print_callers(struct callinfo info[NFRAMES])
{
int i;