117 Commits (90e1303b2df1bc1967ae5403a0456512f10b3782)

Author SHA1 Message Date
Paul Sokolovsky 5ed578e5b4 py/gc: Adjust gc_alloc() signature to be able to accept multiple flags. 6 years ago
Damien George 91041945c9 py/gc: In gc_alloc, reset n_free var right before search for free mem. 6 years ago
Damien George b630dfcc1d py: Fix compiling with debug enabled and make more use of DEBUG_printf. 6 years ago
Damien George 522ea80f06 py/gc: Add gc_sweep_all() function to run all remaining finalisers. 7 years ago
Damien George 6bd78741c1 py/gc: When GC threshold is hit don't unnecessarily collect twice. 7 years ago
Damien George 749b16174b py/mpstate.h: Adjust start of root pointer section to exclude non-ptrs. 7 years ago
Damien George 2a0cbc0d38 py/gc: Update comment now that gc_drain_stack is called gc_mark_subtree. 7 years ago
Ayke van Laethem 736faef223 py/gc: Make GC stack pointer a local variable. 7 years ago
Ayke van Laethem 5c9e5618e0 py/gc: Rename gc_drain_stack to gc_mark_subtree and pass it first block. 7 years ago
Ayke van Laethem ea7cf2b738 py/gc: Reduce code size by specialising VERIFY_MARK_AND_PUSH macro. 7 years ago
Damien George 02d830c035 py: Introduce a Python stack for scoped allocation. 7 years ago
Paul Sokolovsky dea3fb93c7 py/gc: In sweep debug output, print pointer as a pointer. 7 years ago
Paul Sokolovsky 5453d88d5d py/gc: Factor out a macro to trace GC mark operations. 7 years ago
Paul Sokolovsky 9ef4be8b41 py/gc: Add CLEAR_ON_SWEEP option to debug mis-traced objects. 7 years ago
Damien George 74fad3536b py/gc: In gc_realloc, convert pointer sanity checks to assertions. 7 years ago
Damien George a3dc1b1957 all: Remove inclusion of internal py header files. 7 years ago
Stefan Naumann ace9fb5405 py: Add verbose debug compile-time flag MICROPY_DEBUG_VERBOSE. 7 years ago
Alexander Steffen 55f33240f3 all: Use the name MicroPython consistently in comments 7 years ago
Damien George 12d4fa9b37 py/gc: Refactor assertions in gc_free function. 7 years ago
Damien George c7e8c6f7de py/gc: Execute finaliser code in a protected environment. 8 years ago
Damien George 5ffe1d8dc0 py/gc: Add MICROPY_GC_CONSERVATIVE_CLEAR option to always zero memory. 8 years ago
Paul Sokolovsky 93e353e384 py/gc: Implement GC running by allocation threshold. 8 years ago
Paul Sokolovsky 749cbaca7f py/gc: Calculate (and report) maximum contiguous free block size. 8 years ago
Paul Sokolovsky 6a6e0b7e05 py/gc: Be sure to count last allocated block at heap end in stats. 8 years ago
Damien George a1c93a62b1 py: Don't use gc or qstr mutex when the GIL is enabled. 9 years ago
Damien George 3653f5144a py/gc: Fix GC+thread bug where ptr gets lost because it's not computed. 9 years ago
Damien George e33806aaff py/gc: Fix 2 cases of concurrent access to ATB and FTB. 9 years ago
Damien George c93d9caa8b py/gc: Make memory manager and garbage collector thread safe. 9 years ago
Damien George 330165a2cc py: Add MP_STATE_THREAD to hold state specific to a given thread. 9 years ago
Paul Sokolovsky 68a7a92cec py/gc: gc_dump_alloc_table(): Dump heap offset instead of actual address. 9 years ago
Paul Sokolovsky 9a8751b006 gc: gc_dump_alloc_table(): Use '=' char for tail blocks. 9 years ago
Paul Sokolovsky bc04dc277e py/gc: Make (byte)array type dumping conditional on these types being enabled. 9 years ago
Paul Sokolovsky 3d7f3f00e0 py/gc: gc_dump_alloc_table(): Show byte/str and (byte)array objects. 9 years ago
Paul Sokolovsky 3ea03a1188 py/gc: Improve mark/sweep debug output. 9 years ago
Damien George acaccb37ec py/gc: When printing info, use %u instead of UINT_FMT for size_t args. 9 years ago
Damien George d977d268e8 py/gc: Use size_t instead of mp_uint_t to count things related to heap. 9 years ago
Damien George f7782f8082 py/gc: For finaliser, interpret a pointer into the heap as concrete obj. 9 years ago
Damien George 969e4bbe6a py/gc: Scan GC blocks as an array of pointers, not an array of objects. 9 years ago
Paul Sokolovsky 75feece208 py/gc: Make GC block size be configurable. 9 years ago
Damien George 999cedb90f py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR. 9 years ago
Damien George 94fe6e523d py/gc: Move away from using mp_uint_t, instead use uintptr_t and size_t. 9 years ago
Dave Hylands 7f3c0d1ea8 py: Clear finalizer flag when calling gc_free. 9 years ago
Damien George 3a2171e406 py: Eliminate some cases which trigger unused parameter warnings. 9 years ago
Damien George ade9a05236 py: Improve allocation policy of qstr data. 10 years ago
Damien George e72cda99fd py: Convert occurrences of non-debug printf to mp_printf. 10 years ago
Damien George 12ab9eda8d py: Make heap printing compatible with 16-bit word size. 10 years ago
Damien George e1e359ff59 py: Put mp_sys_path, mp_sys_argv and gc_collected in mp_state_ctx_t. 10 years ago
Damien George abc1959e2c py, unix, lib: Allow to compile with -Wold-style-definition. 10 years ago
Damien George ec21405821 py: Add (commented out) code to gc_dump_alloc_table for qstr info. 10 years ago
stijn afd6c8e1d2 Remove obsolete bss-related code/build features 10 years ago