- 26 Apr, 2014 6 commits
-
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Share code with .strip(). TODO: optimize .rstrip().
-
Paul Sokolovsky authored
This in particular fixes writing str vs bytes.
-
- 25 Apr, 2014 4 commits
-
-
Damien George authored
Also add a few STATIC's to some compile functions that should have them. Addresses issue #521.
-
Damien George authored
Also add some more debugging output to gc_dump_alloc_table(). Now that newly allocated heap is always zero'd, maybe we just make this a policy for the uPy API to keep it simple (ie any new implementation of memory allocation must zero all allocations). This follows the D language philosophy. Before this patch, a previously used memory block which had pointers in it may still retain those pointers if the new user of that block does not actually use the entire block. Eg, if I want 5 blocks worth of heap, I actually get 8 (round up to nearest 4). Then I never use the last 3, so they keep their old values, which may be pointers pointing to the heap, hence preventing GC. In rare (or maybe not that rare) cases, this leads to long, unintentional "linked lists" within the GC'd heap, filling it up completely. It's pretty rare, because you have to reuse exactly that memory which is part of this "linked list", and reuse it in just the right way. This should fix issue #522, and might have something to do with issue #510.
-
Paul Sokolovsky authored
-
Damien George authored
-
- 24 Apr, 2014 2 commits
-
-
Damien George authored
-
Damien George authored
-
- 23 Apr, 2014 5 commits
-
-
Paul Sokolovsky authored
To help with debugging issue like #510 for example.
-
Paul Sokolovsky authored
To avoid pointer-to-field GC problem.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- 21 Apr, 2014 4 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Damien George authored
-
Damien George authored
This is a one-liner fix. It gets the class-super.py test passing, but is probably not a complete fix.
-
- 20 Apr, 2014 15 commits
-
-
Damien George authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Also, checked that both bytearray and array.array actually support generic (a-la list) slice assignment and deletion. Added TODOs.
-
Paul Sokolovsky authored
-
Damien George authored
No logic changes, just coding style to make it easy to read.
-
Damien George authored
3 emitter functions are needed only for emitcpy, and so we can #if them out when compiling with emitcpy support. Also remove unused SETUP_LOOP bytecode.
-
Damien George authored
Closed over variables are now passed on the stack, instead of creating a tuple and passing that. This way memory for the closed over variables can be allocated within the closure object itself. See issue #510 for background.
-
Paul Sokolovsky authored
Avoids pointer-to-field garbage collection issue. Fixes #510.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
There were typos, various rounding errors trying to do concurrent counting in bytes vs blocks, complex conditional paths, superfluous variables, etc., etc., all leading to obscure segfaults.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Useful as callback data, etc.
-
Paul Sokolovsky authored
-
Damien George authored
-
- 19 Apr, 2014 4 commits
-
-
Damien George authored
These are to assist in writing native C functions that take positional and keyword arguments. mp_arg_check_num is for just checking the number of arguments is correct. mp_arg_parse_all is for parsing positional and keyword arguments with default values.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-