add explicit check
To debug this issue: https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20201217T220004Z.fail.html.gz
This commit is contained in:
parent
895b10ad02
commit
29e42b8bfd
4
gc.c
4
gc.c
@ -8439,12 +8439,12 @@ gc_enter_count(enum gc_enter_event event)
|
|||||||
static inline void
|
static inline void
|
||||||
gc_enter(rb_objspace_t *objspace, enum gc_enter_event event, unsigned int *lock_lev)
|
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);
|
RB_VM_LOCK_ENTER_LEV(lock_lev);
|
||||||
|
|
||||||
switch (event) {
|
switch (event) {
|
||||||
case gc_enter_event_start:
|
case gc_enter_event_start:
|
||||||
case gc_enter_event_mark_continue:
|
case gc_enter_event_mark_continue:
|
||||||
|
// stop other ractors
|
||||||
rb_vm_barrier();
|
rb_vm_barrier();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -8452,7 +8452,7 @@ gc_enter(rb_objspace_t *objspace, enum gc_enter_event event, unsigned int *lock_
|
|||||||
}
|
}
|
||||||
|
|
||||||
gc_enter_count(event);
|
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);
|
if (RGENGC_CHECK_MODE >= 3) gc_verify_internal_consistency(objspace);
|
||||||
|
|
||||||
mjit_gc_start_hook();
|
mjit_gc_start_hook();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user