circuitpython/py
Scott Shawcroft 8137e2d6d2
Switch all ports to auto-growing split heap
This simplifies allocating outside of the VM because the VM doesn't
take up all remaining memory by default.

On ESP we delegate to the IDF for allocations. For all other ports,
we use TLSF to manage an outer "port" heap. The IDF uses TLSF
internally and we use their fork for the other ports.

This also removes the dynamic C stack sizing. It wasn't often used
and is not possible with a fixed outer heap.

Fixes #8512. Fixes #7334.
2023-11-01 15:24:16 -07:00
..
argcheck.c In py/ use MP_ERROR_TEXT instead of translate 2023-10-25 08:19:31 +02:00
asmarm.c py/asmarm: Add asm_arm_ldrh_reg_reg_offset() helper func. 2022-05-23 14:21:16 +10:00
asmarm.h initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
asmbase.c spelling 2023-09-20 11:23:39 -05:00
asmbase.h py/emit: Suppress unreachable bytecode/native code that follows jump. 2022-06-20 22:28:18 +10:00
asmthumb.c all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
asmthumb.h initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
asmx64.c py/asmx64: Support full range of regs in asm_x64_lea_disp_to_r64. 2022-05-17 14:25:51 +10:00
asmx64.h initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
asmx86.c
asmx86.h Initial MicroPython v1.21.0 merge; not compiled yet 2023-10-18 17:49:14 -04:00
asmxtensa.c py/asmxtensa: Fix use of l32i/s32i when offset won't fit in encoding. 2022-03-30 16:32:17 +11:00
asmxtensa.h initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
bc.c initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
bc.h initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
bc0.h py: Change jump-if-x-or-pop opcodes to have unsigned offset argument. 2022-03-28 15:43:09 +11:00
binary.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
binary.h
builtin.h wip: continuing compilation fixes; mp_obj_alloc everywhere 2023-08-07 20:45:57 -04:00
builtinevex.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
builtinhelp.c In py/ use MP_ERROR_TEXT instead of translate 2023-10-25 08:19:31 +02:00
builtinimport.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
circuitpy_defns.mk Switch all ports to auto-growing split heap 2023-11-01 15:24:16 -07:00
circuitpy_mkenv.mk fetch-port-submodules; fetch-all-submodules 2023-06-05 17:23:34 -04:00
circuitpy_mpconfig.h Switch all ports to auto-growing split heap 2023-11-01 15:24:16 -07:00
circuitpy_mpconfig.mk Enable warnings in full builds only 2023-10-26 13:43:04 -07:00
compile.c Fix pointer-ness, const-ness of compressed messages 2023-10-25 21:40:11 +02:00
compile.h py: Pass in address to compiled module instead of returning it. 2022-12-08 12:27:23 +11:00
dynruntime.h Initial MicroPython v1.21.0 merge; not compiled yet 2023-10-18 17:49:14 -04:00
dynruntime.mk py/dynruntime.mk: Allow building assembly source in natmods. 2022-08-11 14:00:13 +10:00
emit.h py/compile: Fix scope of assignment expression target in comprehensions. 2023-03-09 12:13:12 +11:00
emitbc.c spelling 2023-09-20 11:23:39 -05:00
emitcommon.c py/compile: Fix scope of assignment expression target in comprehensions. 2023-03-09 12:13:12 +11:00
emitglue.c Fix native emitter compile 2023-10-24 14:48:02 -07:00
emitglue.h py/emitnative: Access qstr values using indirection table qstr_table. 2022-05-23 15:43:06 +10:00
emitinlinethumb.c Fix pointer-ness, const-ness of compressed messages 2023-10-25 21:40:11 +02:00
emitinlinextensa.c Fix pointer-ness, const-ness of compressed messages 2023-10-25 21:40:11 +02:00
emitnarm.c py/emitnative: Access qstr values using indirection table qstr_table. 2022-05-23 15:43:06 +10:00
emitnative.c Fix native emitter compile 2023-10-24 14:48:02 -07:00
emitnthumb.c py/emitnative: Access qstr values using indirection table qstr_table. 2022-05-23 15:43:06 +10:00
emitnx64.c py/emitnative: Access qstr values using indirection table qstr_table. 2022-05-23 15:43:06 +10:00
emitnx86.c py/emitnative: Access qstr values using indirection table qstr_table. 2022-05-23 15:43:06 +10:00
emitnxtensa.c py/emitnative: Access qstr values using indirection table qstr_table. 2022-05-23 15:43:06 +10:00
emitnxtensawin.c py/emitnative: Access qstr values using indirection table qstr_table. 2022-05-23 15:43:06 +10:00
enum.c fix use of locals_dict 2023-09-22 14:25:23 -05:00
enum.h MAKE_ENUM_TYPE for new style type defs 2023-09-22 13:39:24 -05:00
formatfloat.c all: Fix various spelling mistakes found by codespell 2.2.6. 2023-10-03 11:24:50 +11:00
formatfloat.h
frozenmod.c py: Rework bytecode and .mpy file format to be mostly static data. 2022-02-24 18:08:43 +11:00
frozenmod.h py/builtin: Clean up and simplify import_stat and builtin_open config. 2022-05-25 13:04:45 +10:00
gc.c Switch all ports to auto-growing split heap 2023-11-01 15:24:16 -07:00
gc.h Switch all ports to auto-growing split heap 2023-11-01 15:24:16 -07:00
grammar.h
lexer.c py/lexer: Add missing initialisation for fstring_args_idx. 2023-09-29 13:58:26 +10:00
lexer.h py/builtin: Clean up and simplify import_stat and builtin_open config. 2022-05-25 13:04:45 +10:00
make_root_pointers.py py/make_root_pointers: Add MP_REGISTER_ROOT_POINTER parser/generator. 2022-07-18 13:48:23 +10:00
makecompresseddata.py all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
makemoduledefs.py py/makemoduledefs.py: Automatically declare delegation attr functions. 2023-06-14 19:03:46 +10:00
makeqstrdata.py change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
makeqstrdefs.py fix another error seen only on clean builds 2023-10-30 16:25:25 +01:00
maketranslationdata.py Fix pointer-ness, const-ness of compressed messages 2023-10-25 21:40:11 +02:00
makeversionhdr.py change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
malloc.c py/malloc: Fix DEBUG_print() args in m_realloc_maybe. 2023-09-04 10:26:09 +10:00
map.c py/map: Clear value when re-using slot with ordered dictionaries. 2023-01-13 14:21:32 +11:00
misc.h WIP 2023-10-25 21:24:52 +02:00
mkenv.mk change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
mkrules.cmake all: Remove query-variants make target. 2023-08-15 17:37:44 +10:00
mkrules.mk change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
modarray.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
modbuiltins.c Add `warnings` and warn about displayio changes 2023-10-25 15:45:45 -07:00
modcmath.c all: Remove third argument to MP_REGISTER_MODULE. 2022-06-02 16:31:37 +10:00
modcollections.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
moderrno.c Fix pointer-ness, const-ness of compressed messages 2023-10-25 21:40:11 +02:00
modgc.c py/gc: Add "max new split" value in result of gc.mem_free(). 2023-09-15 12:19:13 +10:00
modio.c Merge remote-tracking branch 'adafruit/main' into v1.20-merge 2023-10-11 11:21:57 -07:00
modmath.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
modmicropython.c initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
modstruct.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
modsys.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
modthread.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
mpconfig.h MICROPY_NONSTANDARD_TYPECODES default; check MICROPY_PY_ERRNO in objexcept.c 2023-10-20 13:35:38 -04:00
mperrno.h change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
mphal.h
mpprint.c py/mpprint.c: fix formatting 2023-10-26 15:30:42 -04:00
mpprint.h restore cprintf/vcprintf prototypes 2023-10-26 19:39:26 +02:00
mpstate.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
mpstate.h Add `warnings` and warn about displayio changes 2023-10-25 15:45:45 -07:00
mpthread.h py/modthread: Return thread id from start_new_thread(). 2023-09-03 18:49:18 +10:00
mpz.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
mpz.h change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
nativeglue.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
nativeglue.h initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
nlr.c Initial MicroPython v1.21.0 merge; not compiled yet 2023-10-18 17:49:14 -04:00
nlr.h Initial MicroPython v1.21.0 merge; not compiled yet 2023-10-18 17:49:14 -04:00
nlraarch64.c Initial MicroPython v1.21.0 merge; not compiled yet 2023-10-18 17:49:14 -04:00
nlrmips.c Trinket M0 comes up; still very much wip 2023-09-28 16:22:10 -04:00
nlrpowerpc.c initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
nlrsetjmp.c py/nlrsetjmp: Use MP_NLR_JUMP_HEAD macro to simplify code. 2023-06-02 21:47:34 +10:00
nlrthumb.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
nlrx64.c Initial MicroPython v1.21.0 merge; not compiled yet 2023-10-18 17:49:14 -04:00
nlrx86.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
nlrxtensa.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
obj.c remove some unneeded diffs 2023-10-26 19:39:43 +02:00
obj.h Merge pull request #8519 from jepler/compressed-message-type 2023-10-27 10:53:44 -04:00
objarray.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objarray.h py/objarray: Raise error on out-of-bound memoryview slice start. 2023-01-20 16:31:37 +11:00
objattrtuple.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
objbool.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
objboundmeth.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
objcell.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
objclosure.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
objcomplex.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objdeque.c initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
objdict.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objenumerate.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
objexcept.c Merge pull request #8519 from jepler/compressed-message-type 2023-10-27 10:53:44 -04:00
objexcept.h change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objfilter.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
objfloat.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objfun.c Initial MicroPython v1.21.0 merge; not compiled yet 2023-10-18 17:49:14 -04:00
objfun.h wip; remove long-lived functionality; remove PR#2614 2023-08-08 20:41:17 -04:00
objgenerator.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objgenerator.h
objgetitemiter.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
objint.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objint.h change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objint_longlong.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objint_mpz.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objlist.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objlist.h change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objmap.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
objmodule.c Switch to using MP_ERROR_TEXT instead of translate, globally 2023-10-30 09:49:06 +01:00
objmodule.h py/makemoduledefs.py: Automatically declare delegation attr functions. 2023-06-14 19:03:46 +10:00
objnamedtuple.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objnamedtuple.h change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objnone.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
objobject.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objpolyiter.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
objproperty.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objproperty.h Fix native property setting from subclass 2023-10-24 16:20:51 -07:00
objrange.c initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
objreversed.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
objset.c initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
objsingleton.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
objslice.c Initial MicroPython v1.21.0 merge; not compiled yet 2023-10-18 17:49:14 -04:00
objstr.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objstr.h change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objstringio.c Re-add passing native methods the subclass instance 2023-10-24 16:20:51 -07:00
objstringio.h
objstrunicode.c pre-commit fixes 2023-10-23 20:14:40 -04:00
objtraceback.c convert to MP_DEFINED_CONST_OBJ_TYPE() 2023-09-19 21:09:29 -04:00
objtraceback.h
objtuple.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objtuple.h change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objtype.c Pass subobject into native subscr 2023-10-25 11:44:32 -07:00
objtype.h change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
objzip.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
opmethods.c py/obj: Add accessors for type slots and use everywhere. 2022-09-19 19:06:07 +10:00
pairheap.c
pairheap.h
parse.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
parse.h initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
parsenum.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
parsenum.h initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
parsenumbase.c
parsenumbase.h
persistentcode.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
persistentcode.h initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
profile.c py/profile: Remove the requirement to disable MICROPY_COMP_CONST. 2023-08-30 10:58:04 +10:00
profile.h py: Rework bytecode and .mpy file format to be mostly static data. 2022-02-24 18:08:43 +11:00
proto.c fixes for mp_type_get_protocol_slot 2023-09-22 13:51:57 -05:00
proto.h fixes for mp_type_get_protocol_slot 2023-09-22 13:51:57 -05:00
py.cmake Initial MicroPython v1.21.0 merge; not compiled yet 2023-10-18 17:49:14 -04:00
py.mk Merge pull request #8508 from dhalbert/v1.21-merge 2023-10-24 15:36:06 -07:00
pystack.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
pystack.h initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
qstr.c Fix pointer-ness, const-ness of compressed messages 2023-10-25 21:40:11 +02:00
qstr.h Fix pointer-ness, const-ness of compressed messages 2023-10-25 21:40:11 +02:00
qstrdefs.h change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
reader.c py: Include filename in errors from loading/saving files via "open". 2022-09-19 23:27:08 +10:00
reader.h
repl.c initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
repl.h py/modsys: Add optional mutable attributes sys.ps1/ps2 and use them. 2022-03-10 10:58:33 +11:00
ringbuf.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
ringbuf.h change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
runtime.c Switch to using MP_ERROR_TEXT instead of translate, globally 2023-10-30 09:49:06 +01:00
runtime.h Fix pointer-ness, const-ness of compressed messages 2023-10-25 21:40:11 +02:00
runtime0.h change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
runtime_utils.c
scheduler.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
scope.c py: Rework bytecode and .mpy file format to be mostly static data. 2022-02-24 18:08:43 +11:00
scope.h initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
sequence.c initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
showbc.c py: Change jump-if-x-or-pop opcodes to have unsigned offset argument. 2022-03-28 15:43:09 +11:00
smallint.c
smallint.h py/smallint: Introduce MP_SMALL_INT_BITS macro. 2022-03-25 12:23:43 +11:00
stackctrl.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
stackctrl.h
stream.c Initial MicroPython v1.21.0 merge; not compiled yet 2023-10-18 17:49:14 -04:00
stream.h pre-commit C formatting fix 2023-10-23 20:37:42 -04:00
unicode.c
unicode.h
usermod.cmake
vm.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
vmentrytable.h initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
vstr.c change CIRCUITPY change markers to CIRCUITPY-CHANGE 2023-10-19 16:42:36 -04:00
warning.c