micropython/ports
stijn 34a7d7ebeb unix/gcollect: Make sure stack/regs get captured properly for GC.
When building with link time optimization enabled it is possible both
gc_collect() and gc_collect_regs_and_stack() get inlined into gc_alloc()
which can result in the regs variable being pushed on the stack earlier
than some of the registers. Depending on the calling convention, those
registers might however contain pointers to blocks which have just been
allocated in the caller of gc_alloc(). Then those pointers end up higher on
the stack than regs, aren't marked by gc_collect_root() and hence get
sweeped, even though they're still in use.

As reported in #4652 this happened for in 32-bit msvc release builds:
mp_lexer_new() does two consecutive allocations and the latter triggered a
gc_collect() which would sweep the memory of the first allocation again.
2019-05-01 15:06:21 +10:00
..
bare-arm py/objdict: Make .fromkeys() method configurable. 2018-12-13 01:20:55 +11:00
cc3200 ports: Convert to use pyexec_file_if_exists() to execute boot/main.py. 2019-04-26 15:22:14 +10:00
esp32 esp32/machine_wdt: Add timeout arg to select interval, make WDT panic. 2019-04-30 16:53:05 +10:00
esp8266 ports: Convert to use pyexec_file_if_exists() to execute boot/main.py. 2019-04-26 15:22:14 +10:00
javascript javascript/library: Print data as raw bytes to stdout so unicode works. 2019-04-28 22:39:41 +10:00
minimal minimal/frozentest: Recompile now that mpy format and version changed. 2019-03-08 15:53:05 +11:00
nrf ports: Convert to use pyexec_file_if_exists() to execute boot/main.py. 2019-04-26 15:22:14 +10:00
pic16bit all: Change PYB message prefix to MPY. 2019-02-12 15:18:33 +11:00
qemu-arm qemu-arm: Use gchelper code to get registers for GC scanning. 2019-02-12 14:48:29 +11:00
stm32 stm32/main: Increase default UART REPL rx buffer from 64 to 260 bytes. 2019-05-01 14:53:21 +10:00
teensy ports: Convert to use pyexec_file_if_exists() to execute boot/main.py. 2019-04-26 15:22:14 +10:00
unix unix/gcollect: Make sure stack/regs get captured properly for GC. 2019-05-01 15:06:21 +10:00
windows py: Allow registration of modules at their definition. 2019-03-08 22:46:43 +11:00
zephyr zephyr/CMakeLists.txt: Set AR to point to the Zephyr toolchain exe. 2019-04-11 12:24:05 +10:00