summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
authorScott Shawcroft <scott@adafruit.com>2020-01-15 16:11:09 -0800
committerGitHub <noreply@github.com>2020-01-15 16:11:09 -0800
commit8b6133393781d84dde78115fa525ba2ec7223d5e (patch)
treeb15c20f662d9e65c5dca2bf06203b90c6ee0b80a /py
parent765a54afb594e244a9187b9e58e18b182b5097cd (diff)
parent85dc4089b9b2d721a3e4bfc68e252c0dda450137 (diff)
Merge pull request #2510 from dhalbert/bonding-nvm
nrf: Add bonding to BLE pairing support
Diffstat (limited to 'py')
-rwxr-xr-xpy/gc.c4
-rw-r--r--py/gc.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/py/gc.c b/py/gc.c
index 5e631f5ed..fef67f61b 100755
--- a/py/gc.c
+++ b/py/gc.c
@@ -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) {
diff --git a/py/gc.h b/py/gc.h
index cd63ba94c..2a0811f4e 100644
--- a/py/gc.h
+++ b/py/gc.h
@@ -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