+added _PREVGC, _POSTGC.
-removed _ONGC.
This commit is contained in:
parent
fdb722c6b3
commit
41954bb9a8
@ -1703,9 +1703,12 @@ static void _real_to_str(real_t r, char* str, size_t size, size_t afterpoint);
|
|||||||
default: break; \
|
default: break; \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
#ifndef _ONGC
|
#ifndef _PREVGC
|
||||||
# define _ONGC(__s, __g, __c) do { ((void)(__s)); ((void)(__g)); ((void)(__c)); } while(0)
|
# define _PREVGC(__s, __g) do { ((void)(__s)); ((void)(__g)); } while(0)
|
||||||
#endif /* _ONGC */
|
#endif /* _PREVGC */
|
||||||
|
#ifndef _POSTGC
|
||||||
|
# define _POSTGC(__s, __g) do { ((void)(__s)); ((void)(__g)); } while(0)
|
||||||
|
#endif /* _POSTGC */
|
||||||
|
|
||||||
#ifdef _HAS_REF_OBJ_LOCK
|
#ifdef _HAS_REF_OBJ_LOCK
|
||||||
static bool_t _lock_ref_object(_lock_t* lk, _ref_t* ref, void* obj);
|
static bool_t _lock_ref_object(_lock_t* lk, _ref_t* ref, void* obj);
|
||||||
@ -6823,6 +6826,7 @@ static void _gc_collect_garbage(mb_interpreter_t* s, int depth) {
|
|||||||
_HT_FOREACH(valid, _do_nothing_on_object, _ht_remove_existing, gc->recursive_table);
|
_HT_FOREACH(valid, _do_nothing_on_object, _ht_remove_existing, gc->recursive_table);
|
||||||
|
|
||||||
/* Collect garbage */
|
/* Collect garbage */
|
||||||
|
_PREVGC(s, gc);
|
||||||
do {
|
do {
|
||||||
#ifdef MB_ENABLE_CLASS
|
#ifdef MB_ENABLE_CLASS
|
||||||
_HT_FOREACH(gc->table, _do_nothing_on_object, _gc_destroy_garbage_class, &s->gc);
|
_HT_FOREACH(gc->table, _do_nothing_on_object, _gc_destroy_garbage_class, &s->gc);
|
||||||
@ -6841,9 +6845,9 @@ static void _gc_collect_garbage(mb_interpreter_t* s, int depth) {
|
|||||||
_gc_swap_tables(s);
|
_gc_swap_tables(s);
|
||||||
gc->collecting++;
|
gc->collecting++;
|
||||||
} while(1);
|
} while(1);
|
||||||
|
_POSTGC(s, gc);
|
||||||
|
|
||||||
/* Tidy */
|
/* Tidy */
|
||||||
_ONGC(s, gc, gc->collected_table);
|
|
||||||
_ht_clear(gc->collected_table);
|
_ht_clear(gc->collected_table);
|
||||||
gc->valid_table = 0;
|
gc->valid_table = 0;
|
||||||
_ht_clear(valid);
|
_ht_clear(valid);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user