1 /* Copyright (C) 2009 Matthew Fluet.
2 * Copyright (C) 1999-2005 Henry Cejtin, Matthew Fluet, Suresh
3 * Jagannathan, and Stephen Weeks.
4 * Copyright (C) 1997-2000 NEC Research Institute.
6 * MLton is released under a BSD-style license.
7 * See the file MLton-LICENSE for details.
10 #if (defined (MLTON_GC_INTERNAL_FUNCS))
12 static void minorGC (GC_state s
);
13 static void majorGC (GC_state s
, size_t bytesRequested
, bool mayResize
);
14 static inline void growStackCurrent (GC_state s
);
15 static inline void enterGC (GC_state s
);
16 static inline void leaveGC (GC_state s
);
17 static void performGC (GC_state s
,
18 size_t oldGenBytesRequested
,
19 size_t nurseryBytesRequested
,
22 static inline void ensureInvariantForMutator (GC_state s
, bool force
);
23 static inline void ensureHasHeapBytesFree (GC_state s
,
24 size_t oldGenBytesRequested
,
25 size_t nurseryBytesRequested
);
27 #endif /* (defined (MLTON_GC_INTERNAL_FUNCS)) */
29 #if (defined (MLTON_GC_INTERNAL_BASIS))
31 PRIVATE
void GC_collect (GC_state s
, size_t bytesRequested
, bool force
);
33 #endif /* (defined (MLTON_GC_INTERNAL_BASIS)) */