diff options
author | Ayke van Laethem <aykevanlaethem@gmail.com> | 2018-01-24 02:09:58 +0100 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2022-07-23 00:42:54 +1000 |
commit | bcc827d695e20b644ff4626bd529e3d8706716d7 (patch) | |
tree | 62b475268a2fb5d6035e8e83b22a55e9e4a1127b /extmod/webrepl/webrepl_setup.py | |
parent | 5dbb822ca4a809ac5cb4513afb0411b4eb8dc3cf (diff) | |
download | micropython-bcc827d695e20b644ff4626bd529e3d8706716d7.tar.gz micropython-bcc827d695e20b644ff4626bd529e3d8706716d7.zip |
py/gc: Allow the GC heap to be split over multiple memory areas.
This commit adds a new option MICROPY_GC_SPLIT_HEAP (disabled by default)
which, when enabled, allows the GC heap to be split over multiple memory
areas/regions. The first area is added with gc_init() and subsequent areas
can be added with gc_add(). New areas can be added at runtime. Areas are
stored internally as a linked list, and calls to gc_alloc() can be
satisfied from any area.
This feature has the following use-cases (among others):
- The ESP32 has a fragmented OS heap, so to use all (or more) of it the
GC heap must be split.
- Other MCUs may have disjoint RAM regions and are now able to use them
all for the GC heap.
- The user could explicitly increase the size of the GC heap.
- Support a dynamic heap while running on an OS, adding more heap when
necessary.
Diffstat (limited to 'extmod/webrepl/webrepl_setup.py')
0 files changed, 0 insertions, 0 deletions