Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | objfun: Factor out function to report positional args mismatch. | Paul Sokolovsky | 2014-04-30 |
| | |||
* | py: Abstract no-return attribute for functions a bit. | Paul Sokolovsky | 2014-04-30 |
| | |||
* | py: If setjmp NLR implementation is forced, omit native versions. | Paul Sokolovsky | 2014-04-30 |
| | |||
* | nlr.h: As we treat all warnings as errors, can't use #warning. | Paul Sokolovsky | 2014-04-30 |
| | | | | And this is not good. | ||
* | py: Fix bug in map lookup of interned string vs non-interned. | Damien George | 2014-04-28 |
| | | | | | | | Had choice of either interning or forcing full equality comparison, and chose latter. See comments in mp_map_lookup. Addresses issue #523. | ||
* | py: Fix lexerunix, where not all data may be read from a file. | Damien George | 2014-04-28 |
| | | | | Addresses issue #526. | ||
* | py: Remove silly comment about interning keywords. | Damien George | 2014-04-28 |
| | | | | | | | | | | Of course, keywords are turned into lexer tokens in the lexer, so will never need to be interned (unless you do something like x="def"). As it is now, the following on pyboard makes no new qstrs: import pyb pyb.info() | ||
* | py: Clear allocated, but unused memory in containers. | Paul Sokolovsky | 2014-04-28 |
| | | | | | | Also, clear up freed slots in containers. As a follow up to 32bef315be8e56ad2d7f69223fe7b9606893b6ab. | ||
* | objlist: We no longer need to assert on mem alloc results. | Paul Sokolovsky | 2014-04-28 |
| | | | | They either succeed or raise exception. | ||
* | objlist: Use static small int constructor. | Paul Sokolovsky | 2014-04-28 |
| | |||
* | py: Add '*' qstr for 'import *'; use blank qstr for comprehension arg. | Damien George | 2014-04-27 |
| | |||
* | py: Remove unnecessary LOAD_CONST_ID bytecode. | Damien George | 2014-04-27 |
| | | | | It's the same as LOAD_CONST_STR. | ||
* | py: Eliminate 'op' variable in VM dispatch loop. | Damien George | 2014-04-27 |
| | | | | | Remembering the last op is rarely needed, and when it is, can simply use *save_ip. | ||
* | py: Save some ROM by shortening compiler error messages. | Damien George | 2014-04-27 |
| | | | | Messages are still explanatory, while taking a little less ROM. | ||
* | py: Change the way function arguments are compiled. | Damien George | 2014-04-27 |
| | | | | | | | | New way uses slightly less ROM and RAM, should be slightly faster, and, most importantly, allows to catch the error "non-keyword arg following keyword arg". Addresses issue #466. | ||
* | py: Implement keyword-only args. | Damien George | 2014-04-27 |
| | | | | | | | Implements 'def f(*, a)' and 'def f(*a, b)', but not default keyword-only args, eg 'def f(*, a=1)'. Partially addresses issue #524. | ||
* | Merge branch 'master' of github.com:micropython/micropython | Damien George | 2014-04-26 |
|\ | |||
| * | py: "read" & "write" are so common that make them core. | Paul Sokolovsky | 2014-04-26 |
| | | | | | | | | Few other strings move to core, but make depend on "io" module. | ||
| * | objstringio: Compile only if MICROPY_ENABLE_MOD_IO defined. | Paul Sokolovsky | 2014-04-26 |
| | | |||
| * | modio: Implement io.StringIO class. | Paul Sokolovsky | 2014-04-26 |
| | | |||
* | | py, gc: Only zero out the extra bytes at the end of the heap chunk. | Damien George | 2014-04-26 |
|/ | | | | | This is a small optimisation to zero out only the additional bytes that the caller did not ask for. | ||
* | Simplify names for argcheck.c / arg parsing. | Damien George | 2014-04-26 |
| | |||
* | Add ARRAY_SIZE macro, and use it where possible. | Damien George | 2014-04-26 |
| | |||
* | Merge branch 'master' of github.com:micropython/micropython | Damien George | 2014-04-26 |
|\ | |||
| * | objstr: Optimize .rstrip() by scanning string from end. | Paul Sokolovsky | 2014-04-26 |
| | | |||
| * | objstr: Implement .lstrip() & .rstrip(). | Paul Sokolovsky | 2014-04-26 |
| | | | | | | | | Share code with .strip(). TODO: optimize .rstrip(). | ||
| * | streams: Make .write() support arbitrary objects with buffer interface. | Paul Sokolovsky | 2014-04-26 |
| | | | | | | | | This in particular fixes writing str vs bytes. | ||
* | | py: Make collections module configurable, enabled by default. | Damien George | 2014-04-26 |
|/ | |||
* | py: Add MICROPY_ENABLE_DOC_STRING, disabled by default. | Damien George | 2014-04-25 |
| | | | | | | Also add a few STATIC's to some compile functions that should have them. Addresses issue #521. | ||
* | Merge branch 'master' of github.com:micropython/micropython | Damien George | 2014-04-25 |
|\ | |||
| * | py: Support instance __call__ method. | Paul Sokolovsky | 2014-04-25 |
| | | |||
| * | py, gc: Fix old gc_realloc for case when NULL is passed in as ptr. | Damien George | 2014-04-25 |
| | | |||
* | | py, gc: Zero out newly allocated blocks in the GC. | Damien George | 2014-04-25 |
|/ | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||
* | py, vm: Fix recent bug where state is freed too early. | Damien George | 2014-04-24 |
| | |||
* | py, vm: Free heap-allocated state if it was allocated on the heap. | Damien George | 2014-04-24 |
| | |||
* | Merge pull request #519 from pfalcon/exc-no-ptr-to-field | Damien George | 2014-04-24 |
|\ | | | | | objexcept: Don't store args tuple within exception object. | ||
| * | objexcept: Don't store args tuple within exception object. | Paul Sokolovsky | 2014-04-23 |
| | | | | | | | | To avoid pointer-to-field GC problem. | ||
* | | Merge pull request #518 from pfalcon/vm-trace | Damien George | 2014-04-24 |
|\ \ | | | | | | | vm: Add rudimentary bytecode execution tracing capability. | ||
| * | | vm: Add rudimentary bytecode execution tracing capability. | Paul Sokolovsky | 2014-04-23 |
| |/ | |||
* / | Makefile: Allow to override "super optimization" options used for some files. | Paul Sokolovsky | 2014-04-24 |
|/ | | | | To help with debugging issue like #510 for example. | ||
* | showbc: MAKE_CLOSURE*: Update for new closed-over encoding. | Paul Sokolovsky | 2014-04-23 |
| | |||
* | emitglue: Typo fix in var name. | Paul Sokolovsky | 2014-04-23 |
| | |||
* | builtinimport: If there was error compiling imported module, raise exception. | Paul Sokolovsky | 2014-04-22 |
| | |||
* | objexcept: Add mp_obj_new_exception_arg1() convenience function. | Paul Sokolovsky | 2014-04-22 |
| | |||
* | py: Add 'align' and 'data' meta-instructions to inline assembler. | Damien George | 2014-04-21 |
| | |||
* | py: Fix super() bug, where it didn't allow instance access. | Damien George | 2014-04-21 |
| | | | | | This is a one-liner fix. It gets the class-super.py test passing, but is probably not a complete fix. | ||
* | Merge branch 'master' of github.com:micropython/micropython | Damien George | 2014-04-21 |
|\ | |||
| * | py: Add win32-specific header for alloca(). | Paul Sokolovsky | 2014-04-20 |
| | | |||
| * | nlrx86.S: Another ifdef for win32 symbol underscoring issues. | Paul Sokolovsky | 2014-04-20 |
| | | |||
* | | py: Small change to mp_arg_parse_all. | Damien George | 2014-04-21 |
|/ |