diff options
| author | Dan Halbert <halbert@halwitz.org> | 2020-01-12 23:32:51 -0500 |
|---|---|---|
| committer | Dan Halbert <halbert@halwitz.org> | 2020-01-12 23:32:51 -0500 |
| commit | 9e7f8743c2725c1818033e348e8d542ec7539045 (patch) | |
| tree | 200b6b76c2ee13e63a6a3a78545735092dedd4f6 /py | |
| parent | 346ce3b73b532d2776e660e0e92c5d79c699880e (diff) | |
fix CCCD bonding store; avoid excessive bonding writes
Diffstat (limited to 'py')
| -rwxr-xr-x | py/gc.c | 4 | ||||
| -rw-r--r-- | py/gc.h | 2 |
2 files changed, 6 insertions, 0 deletions
@@ -464,6 +464,10 @@ void gc_info(gc_info_t *info) { GC_EXIT(); } +bool gc_alloc_possible(void) { + return MP_STATE_MEM(gc_pool_start) != 0; +} + // We place long lived objects at the end of the heap rather than the start. This reduces // fragmentation by localizing the heap churn to one portion of memory (the start of the heap.) void *gc_alloc(size_t n_bytes, bool has_finaliser, bool long_lived) { @@ -58,6 +58,8 @@ void gc_collect_ptr(void *ptr); void gc_collect_root(void **ptrs, size_t len); void gc_collect_end(void); +// Is the gc heap available? +bool gc_alloc_possible(void); void *gc_alloc(size_t n_bytes, bool has_finaliser, bool long_lived); // Use this function to sweep the whole heap and run all finalisers |
