summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2020-12-18 08:25:24 +0900
committerKoichi Sasada <ko1@atdot.net>2020-12-18 08:26:25 +0900
commit29e42b8bfdfc7a2d879a4ddb1db3d4453d66143a (patch)
tree14c9cef6482e581efd2ea35a83ad27a1e570726a /gc.c
parent895b10ad020a788566c6e35431d07e6121e38c87 (diff)
add explicit check
To debug this issue: https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20201217T220004Z.fail.html.gz
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gc.c b/gc.c
index f6bfaf6d10..f59ac6af33 100644
--- a/gc.c
+++ b/gc.c
@@ -8439,12 +8439,12 @@ gc_enter_count(enum gc_enter_event event)
static inline void
gc_enter(rb_objspace_t *objspace, enum gc_enter_event event, unsigned int *lock_lev)
{
- // stop other ractors
RB_VM_LOCK_ENTER_LEV(lock_lev);
switch (event) {
case gc_enter_event_start:
case gc_enter_event_mark_continue:
+ // stop other ractors
rb_vm_barrier();
break;
default:
@@ -8452,7 +8452,7 @@ gc_enter(rb_objspace_t *objspace, enum gc_enter_event event, unsigned int *lock_
}
gc_enter_count(event);
- GC_ASSERT(during_gc == 0);
+ if (UNLIKELY(during_gc != 0)) rb_bug("during_gc != 0");
if (RGENGC_CHECK_MODE >= 3) gc_verify_internal_consistency(objspace);
mjit_gc_start_hook();