- Aug 30, 2017
-
-
Damien George authored
This comment style is no longer used because the docs are written by hand, not generated.
-
- Jul 31, 2017
-
-
Alexander Steffen authored
There were several different spellings of MicroPython present in comments, when there should be only one.
-
- Sep 21, 2016
-
-
Damien George authored
One can instead lookup __name__ in the modules dict to get the value.
-
- Jul 20, 2016
-
-
Paul Sokolovsky authored
Currently, MicroPython runs GC when it could not allocate a block of memory, which happens when heap is exhausted. However, that policy can't work well with "inifinity" heaps, e.g. backed by a virtual memory - there will be a lot of swap thrashing long before VM will be exhausted. Instead, in such cases "allocation threshold" policy is used: a GC is run after some number of allocations have been made. Details vary, for example, number or total amount of allocations can be used, threshold may be self-adjusting based on GC outcome, etc. This change implements a simple variant of such policy for MicroPython. Amount of allocated memory so far is used for threshold, to make it useful to typical finite-size, and small, heaps as used with MicroPython ports. And such GC policy is indeed useful for such types of heaps too, as it allows to better control fragmentation. For example, if a threshold is set to half size of heap, then for an application which usually makes big number of small allocations, that will (try to) keep half of heap memory in a nice defragmented state for an occasional large allocation. For an application which doesn't exhibit such behavior, there won't be any visible effects, except for GC running more frequently, which however may affect performance. To address this, the GC threshold is configurable, and by default is off so far. It's configured with gc.threshold(amount_in_bytes) call (can be queries without an argument).
-
- Dec 17, 2015
-
-
Damien George authored
-
- Nov 29, 2015
-
-
Damien George authored
-
- Oct 11, 2015
-
-
Paul Sokolovsky authored
-
- Feb 07, 2015
-
-
Damien George authored
Without mp_sys_path and mp_sys_argv in the root pointer section of the state, their memory was being incorrectly collected by GC.
-
- Jan 07, 2015
-
-
Damien George authored
This patch consolidates all global variables in py/ core into one place, in a global structure. Root pointers are all located together to make GC tracing easier and more efficient.
-
- Jan 01, 2015
-
-
Damien George authored
Addresses issue #1022.
-
- Nov 29, 2014
-
-
Damien George authored
This is just a clean-up of the code. Generated code is exactly the same.
-
- Oct 31, 2014
-
-
Damien George authored
gc.enable/disable are now the same as CPython: they just control whether automatic garbage collection is enabled or not. If disabled, you can still allocate heap memory, and initiate a manual collection.
-
- Aug 10, 2014
-
-
Damien George authored
-
- Jul 31, 2014
-
-
Damien George authored
Addresses issue #724.
-
- Jul 03, 2014
-
-
Damien George authored
See discussion in issue #50.
-
- Jun 25, 2014
-
-
Paul Sokolovsky authored
Return free/allocated memory on GC heap.
-
- Jun 21, 2014
-
-
Paul Sokolovsky authored
It defines types used by all other headers. Fixes #691.
-
- Jun 19, 2014
-
-
Emmanuel Blot authored
-
- Jun 06, 2014
-
-
Paul Sokolovsky authored
-
- Jun 05, 2014
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- May 24, 2014
-
-
Damien George authored
Now of the form MICROPY_PY_*. See issue #35.
-
- May 08, 2014
-
-
Damien George authored
-
- May 05, 2014
-
-
Paul Sokolovsky authored
-
- May 03, 2014
-
-
Damien George authored
Blanket wide to all .c and .h files. Some files originating from ST are difficult to deal with (license wise) so it was left out of those. Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/.
-
- Apr 26, 2014
-
-
Paul Sokolovsky authored
-
Damien George authored
-
- Apr 05, 2014
-
-
Damien George authored
Towards addressing issue #424. Had a small increase to ROM usage (order 60 bytes).
-
- Apr 03, 2014
-
-
Paul Sokolovsky authored
So far just includes "open" function, which should be supplied by a port. TODO: Make the module #ifdef'ed.
-