Merge remote-tracking branch 'origin/main' into main

This commit is contained in:
Hosted Weblate 2021-09-15 01:27:45 +02:00
commit 98cf17ff69
No known key found for this signature in database
GPG Key ID: A3FAAA06E6569B4C
8 changed files with 18 additions and 8 deletions

2
main.c
View File

@ -236,7 +236,7 @@ STATIC void cleanup_after_vm(supervisor_allocation* heap, mp_obj_t exception) {
size_t traceback_len = 0; size_t traceback_len = 0;
mp_print_t print_count = {&traceback_len, count_strn}; mp_print_t print_count = {&traceback_len, count_strn};
mp_obj_print_exception(&print_count, exception); mp_obj_print_exception(&print_count, exception);
prev_traceback_allocation = allocate_memory(align32_size(traceback_len + 1), false, false); prev_traceback_allocation = allocate_memory(align32_size(traceback_len + 1), false, true);
// Empirically, this never fails in practice - even when the heap is totally filled up // Empirically, this never fails in practice - even when the heap is totally filled up
// with single-block-sized objects referenced by a root pointer, exiting the VM frees // with single-block-sized objects referenced by a root pointer, exiting the VM frees
// up several hundred bytes, sufficient for the traceback (which tends to be shortened // up several hundred bytes, sufficient for the traceback (which tends to be shortened

View File

@ -9,3 +9,5 @@ CHIP_FAMILY = samd21
INTERNAL_FLASH_FILESYSTEM = 1 INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = NONE LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0 CIRCUITPY_FULL_BUILD = 0
CIRCUITPY_RAINBOWIO = 0

View File

@ -9,3 +9,5 @@ CHIP_FAMILY = samd21
INTERNAL_FLASH_FILESYSTEM = 1 INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = NONE LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0 CIRCUITPY_FULL_BUILD = 0
CIRCUITPY_RAINBOWIO = 0

View File

@ -9,3 +9,5 @@ CHIP_FAMILY = samd21
INTERNAL_FLASH_FILESYSTEM = 1 INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = NONE LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0 CIRCUITPY_FULL_BUILD = 0
CIRCUITPY_RAINBOWIO = 0

View File

@ -11,5 +11,6 @@ LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0 CIRCUITPY_FULL_BUILD = 0
# There are many pin definitions on this board; it doesn't quite fit on very large translations. # There are many pin definitions on this board; it doesn't quite fit on very large translations.
# So remove what might be least likely module to be used. # Remove a couple of modules.
CIRCUITPY_ONEWIREIO = 0
CIRCUITPY_RAINBOWIO = 0 CIRCUITPY_RAINBOWIO = 0

View File

@ -20,6 +20,7 @@ CIRCUITPY_COUNTIO = 0
CIRCUITPY_DISPLAYIO = 0 CIRCUITPY_DISPLAYIO = 0
CIRCUITPY_ERRNO = 0 CIRCUITPY_ERRNO = 0
CIRCUITPY_FRAMEBUFFERIO = 0 CIRCUITPY_FRAMEBUFFERIO = 0
CIRCUITPY_GETPASS = 0
CIRCUITPY_KEYPAD = 0 CIRCUITPY_KEYPAD = 0
CIRCUITPY_MSGPACK = 0 CIRCUITPY_MSGPACK = 0
CIRCUITPY_NEOPIXEL_WRITE = 0 CIRCUITPY_NEOPIXEL_WRITE = 0
@ -27,6 +28,7 @@ CIRCUITPY_NVM = 0
CIRCUITPY_PIXELBUF = 0 CIRCUITPY_PIXELBUF = 0
CIRCUITPY_PULSEIO = 0 CIRCUITPY_PULSEIO = 0
CIRCUITPY_PWMIO = 1 CIRCUITPY_PWMIO = 1
CIRCUITPY_RAINBOWIO = 0
CIRCUITPY_RGBMATRIX = 0 CIRCUITPY_RGBMATRIX = 0
CIRCUITPY_ROTARYIO = 0 CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 1 CIRCUITPY_RTC = 1

View File

@ -195,7 +195,7 @@ STATIC mp_obj_t supervisor_set_next_code_file(size_t n_args, const mp_obj_t *pos
const char *filename = mp_obj_str_get_data(args.filename.u_obj, &len); const char *filename = mp_obj_str_get_data(args.filename.u_obj, &len);
free_memory(next_code_allocation); free_memory(next_code_allocation);
if (options != 0 || len != 0) { if (options != 0 || len != 0) {
next_code_allocation = allocate_memory(align32_size(sizeof(next_code_info_t) + len + 1), false, false); next_code_allocation = allocate_memory(align32_size(sizeof(next_code_info_t) + len + 1), false, true);
if (next_code_allocation == NULL) { if (next_code_allocation == NULL) {
m_malloc_fail(sizeof(next_code_info_t) + len + 1); m_malloc_fail(sizeof(next_code_info_t) + len + 1);
} }

View File

@ -34,12 +34,9 @@
enum { enum {
CIRCUITPY_SUPERVISOR_IMMOVABLE_ALLOC_COUNT = CIRCUITPY_SUPERVISOR_IMMOVABLE_ALLOC_COUNT =
0
// stack + heap // stack + heap
2 + 2
// next_code_allocation
+ 1
// prev_traceback_allocation
+ 1
#if INTERNAL_FLASH_FILESYSTEM == 0 #if INTERNAL_FLASH_FILESYSTEM == 0
+ 1 + 1
@ -59,6 +56,10 @@ enum {
CIRCUITPY_SUPERVISOR_MOVABLE_ALLOC_COUNT = CIRCUITPY_SUPERVISOR_MOVABLE_ALLOC_COUNT =
0 0
// next_code_allocation
+ 1
// prev_traceback_allocation
+ 1
#if CIRCUITPY_DISPLAYIO #if CIRCUITPY_DISPLAYIO
#if CIRCUITPY_TERMINALIO #if CIRCUITPY_TERMINALIO
+ 1 + 1