summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-12-26 11:39:46 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-03-08 10:16:06 +0700
commit88b04909453a6847d3d902fb634d5dd14b2f32dd (patch)
treefe0154e9d314f03b10d0baf6e16a73af167846b0 /esp8266
parent4f0080346b565cbf9f2204874b81814013d67488 (diff)
downloadmicropython-88b04909453a6847d3d902fb634d5dd14b2f32dd.tar.gz
micropython-88b04909453a6847d3d902fb634d5dd14b2f32dd.zip
esp8266: Don't gc-collect BSS.
None of the other ports do, since introduction of mp_state_ctx_t. In the case of current esp8266 port, heap is inside BSS, so scanning it picked up a lot of dead pointers.
Diffstat (limited to 'esp8266')
-rw-r--r--esp8266/gccollect.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/esp8266/gccollect.c b/esp8266/gccollect.c
index 541500292e..3a5032bc93 100644
--- a/esp8266/gccollect.c
+++ b/esp8266/gccollect.c
@@ -39,10 +39,6 @@ void gc_collect(void) {
// start the GC
gc_collect_start();
- // We need to scan everything in RAM that can hold a pointer.
- // The data segment is used, but should not contain pointers, so we just scan the bss.
- gc_collect_root((void**)&_bss_start, ((uint32_t)&_bss_end - (uint32_t)&_bss_start) / sizeof(uint32_t));
-
// get the registers and the sp
mp_uint_t regs[8];
mp_uint_t sp = gc_helper_get_regs_and_sp(regs);