circuitpython/shared-module
Christian Walther c7404a3ff8 Add movable allocation system.
This allows calls to `allocate_memory()` while the VM is running, it will then allocate from the GC heap (unless there is a suitable hole among the supervisor allocations), and when the VM exits and the GC heap is freed, the allocation will be moved to the bottom of the former GC heap and transformed into a proper supervisor allocation. Existing movable allocations will also be moved to defragment the supervisor heap and ensure that the next VM run gets as much memory as possible for the GC heap.

By itself this breaks terminalio because it violates the assumption that supervisor_display_move_memory() still has access to an undisturbed heap to copy the tilegrid from. It will work in many cases, but if you're unlucky you will get garbled terminal contents after exiting from the vm run that created the display. This will be fixed in the following commit, which is separate to simplify review.
2020-11-28 17:50:23 +01:00
..
_bleio discovery of Nordic UART service working 2020-08-08 00:29:37 -04:00
_eve Fix opcode typo in VertexFormat() 2020-11-24 17:26:39 -08:00
_pixelbuf use the stack 2020-08-10 18:42:05 -04:00
_stage modified _stage/__init__.c call to set region to update 2020-09-28 19:10:47 -04:00
aesio aesio: add basic AES encryption and decryption 2020-05-06 17:40:06 +08:00
audiocore audiocore: The arguments to reset_buffer went missing 2019-12-13 18:31:12 -06:00
audioio bring MixerVoice back to building state; update documentation 2019-08-03 11:20:06 -05:00
audiomixer audiomixer: Fix garbled playback when voice 0 is stopped, audio pops 2020-06-01 19:14:38 -05:00
audiomp3 MP3Decoder: take advantage of background callback 2020-07-15 09:26:47 -05:00
audiopwmio audiopwmio: Add the shared files for this new module 2019-07-26 07:52:37 -05:00
bitbangio Add license to some obvious files. 2020-07-06 19:16:25 +01:00
board Fix lost board.SPI and board.I2C after explicitly deiniting them. 2020-10-26 22:44:38 +01:00
busio add timeout keyword to I2C - for bitbangio - ignored for busio 2018-05-13 21:54:44 -04:00
canio CAN: Use mp_obj_t insteaed of canio_message_obj_t, get rid of rtr field 2020-09-28 17:22:00 -05:00
displayio Merge pull request #3718 from jepler/epd-rotation 2020-11-23 15:04:26 -08:00
fontio Move Glyph and BuiltinFont into fontio 2019-03-19 16:22:09 -07:00
framebufferio displayio: further ensure just one start_terminal call 2020-10-15 15:24:19 -05:00
gamepad Gamepad & GamepadShift: Enable ticks while object exists 2020-05-13 10:14:37 -05:00
gamepadshift Gamepad & GamepadShift: Enable ticks while object exists 2020-05-13 10:14:37 -05:00
ipaddress Changes based on Dan's feedback 2020-09-03 16:32:12 -07:00
memorymonitor remove other extraneous files 2020-08-21 19:10:13 -05:00
multiterminal Merge tag 'v1.9.3' 2017-11-02 12:41:50 -07:00
network Add license to some obvious files. 2020-07-06 19:16:25 +01:00
os Add license to some obvious files. 2020-07-06 19:16:25 +01:00
random Introduce a random module that is a subset of CPython's random. It 2017-06-27 17:37:24 -07:00
rgbmatrix Add movable allocation system. 2020-11-28 17:50:23 +01:00
sdcardio remove extraneous files 2020-08-21 19:08:25 -05:00
sharpdisplay Add movable allocation system. 2020-11-28 17:50:23 +01:00
socket modify modnetwork and modusocket for circuitpython 2018-10-04 22:02:25 +10:00
storage Merge pull request #3223 from dhalbert/unmount-before-reset 2020-07-29 10:47:24 -07:00
struct struct.pack_into incorrect buffer size check 2019-01-21 11:45:38 -05:00
terminalio fix terminalio not clearing on construct 2019-08-08 14:58:51 -04:00
time Fix up Spresense build. It doesn't sleep. 2020-03-17 14:21:45 -07:00
touchio Claim USB pins at startup to prevent overwrites 2020-07-22 14:22:05 -04:00
uheap uheap: Switch to using gc_nbytes to measure allcoation size so we stop undercounting. 2016-11-23 17:32:50 -08:00
usb_hid support to get HID OUT report 2020-08-19 20:18:17 +08:00
usb_midi Add movable allocation system. 2020-11-28 17:50:23 +01:00
ustack Fix up end of file and trailing whitespace. 2020-06-03 10:56:35 +01:00
vectorio use top-left heuristic for vectorio.Polygon 2020-07-28 23:10:59 -07:00
wiznet Add license to some obvious files. 2020-07-06 19:16:25 +01:00