summaryrefslogtreecommitdiffstatshomepage
path: root/unix/gccollect.c
Commit message (Collapse)AuthorAge
* unix: fix symbol references for x86 MacJan Pochyla2016-11-02
|
* unix/gccollect: Provide declaration of exported function.Damien George2016-06-28
|
* unix: Implement garbage collection with threading.Damien George2016-06-28
| | | | | This patch allows any given thread to do a proper garbage collection and scan all the pointers of all active threads.
* py: Add MP_STATE_THREAD to hold state specific to a given thread.Damien George2016-06-28
|
* py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR.Damien George2015-11-29
| | | | | | | | | This allows the mp_obj_t type to be configured to something other than a pointer-sized primitive type. This patch also includes additional changes to allow the code to compile when sizeof(mp_uint_t) != sizeof(void*), such as using size_t instead of mp_uint_t, and various casts.
* unix/gccollect: Fallback to setjmp-based register fetching automatically.Paul Sokolovsky2015-11-08
| | | | | | | | Now, if we build for an architecture which doesn't have dedicated support for getting registers for GC scanning, fallback to setjmp-based method automatically. It's still possible to force setjmp-based implementation on archs with dedicated support (e.g. for testing, or for peculiar calling conventions/optimizations).
* unix: Add target to build "minimal" uPy interpreter.Damien George2015-01-16
|
* unix, windows: Don't call mp_unix_mark_exec on windows.Damien George2015-01-14
|
* py, unix: Trace root pointers with native emitter under unix port.Damien George2015-01-14
| | | | | | Native code has GC-heap pointers in it so it must be scanned. But on unix port memory for native functions is mmap'd, and so it must have explicit code to scan it for root pointers.
* py: Can compile with -Wmissing-declarations and -Wmissing-prototypes.Damien George2015-01-12
|
* py: Put all global state together in state structures.Damien George2015-01-07
| | | | | | 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.
* unix: Prefix includes with py/; remove need for -I../py.Damien George2015-01-01
|
* py: Make functions static where appropriate.Damien George2014-12-10
|
* py: Make gc.enable/disable just control auto-GC; alloc is still allowed.Damien George2014-10-31
| | | | | | 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.
* Rename machine_(u)int_t to mp_(u)int_t.Damien George2014-07-03
| | | | See discussion in issue #50.
* stackctrl: Add "mp_" prefix.Paul Sokolovsky2014-07-01
|
* unix: Fix mpconfig.h not being included before misc.hstijn2014-06-28
| | | | This fixes count_lead_ones in misc.h not compiling due to unknown types
* gc: Use simple cast instead of union to silence compilerstijn2014-06-22
|
* windows: Enable GC and implement bss start and end symbolsstijn2014-06-22
| | | | | The pointers to the bss section are acquired in init.c() by inspecting the PE header. Works for msvc and mingw.
* py: Support arm and thumb ARM ISAs, in addition to thumb2.Paul Sokolovsky2014-06-22
| | | | These changes were tested with QEMU, and by few people of real hardware.
* unix: Add setjmp-based GC register helper implementation.Paul Sokolovsky2014-06-05
| | | | | | | | As I suspected for a long time, for x86, register helper doesn't really make any difference - there's simply not enough register to keep anything in them for any prolonged time. Anything gets pushed on stack anyway. So, on x86, uPy passed all tests even with empty reg helper. So, this setjmp implementation goes as "untested".
* unix/gccollect.c: Make Clang workaround apply only to it. Unbreaks gcc builds.Paul Sokolovsky2014-05-28
|
* unix: Add asm statements needed to read registers with clang. Code generated ↵Antonin ENFRUN2014-05-12
| | | | | | by gcc 4.9.0 is unchanged (same statements, different order). Both are inefficient, saving unmodified registers on the stack.
* Add license header to (almost) all files.Damien George2014-05-03
| | | | | | | 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/.
* unix: Update comment in gccollect.cxbe2014-04-11
|
* Changes to get unix/ port compiling on Cygwin.Damien George2014-04-03
|
* unix: Clean up includes.xbe2014-03-16
| | | | Remove unnecessary includes. Add includes that improve portability.
* unix: Add GC support for ARM architecture.Paul Sokolovsky2014-03-03
|
* GC: Fix printf formats for debugging; add gc_dump_alloc_table.Damien George2014-02-26
|
* More GC debugging improvements.Paul Sokolovsky2014-02-11
|
* unix: Implement garbage collection support.Paul Sokolovsky2014-02-11