diff --git a/library/alien/compiler.factor b/library/alien/compiler.factor index 8403b3fcc5..5cddcadfaa 100644 --- a/library/alien/compiler.factor +++ b/library/alien/compiler.factor @@ -60,4 +60,4 @@ kernel-internals math namespaces sequences words ; : if-void ( type true false -- | false: type -- ) pick "void" = [ drop nip call ] [ nip call ] if ; inline -: compile-gc "maybe_gc" f %alien-invoke , ; +: compile-gc "simple_gc" f %alien-invoke , ; diff --git a/native/gc.c b/native/gc.c index 98d58b15d6..d01652ed4f 100644 --- a/native/gc.c +++ b/native/gc.c @@ -353,8 +353,13 @@ void maybe_gc(CELL size) } } -void primitive_gc_time(void) +void simple_gc(void) { maybe_gc(0); +} + +void primitive_gc_time(void) +{ + simple_gc(); dpush(tag_bignum(s48_long_long_to_bignum(gc_time))); } diff --git a/native/gc.h b/native/gc.h index 820964bacc..a7295fc458 100644 --- a/native/gc.h +++ b/native/gc.h @@ -121,5 +121,6 @@ INLINE void* allot_object(CELL type, CELL length) CELL collect_next(CELL scan); void garbage_collection(CELL gen); void primitive_gc(void); -DLLEXPORT void maybe_gc(CELL size); +void maybe_gc(CELL size); +DLLEXPORT void simple_gc(void); void primitive_gc_time(void);