Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Add testcase for sequence unpacking. | Paul Sokolovsky | 2014-02-02 |
| | |||
* | rt_unpack_sequence(): Support generic iterables. | Paul Sokolovsky | 2014-02-02 |
| | |||
* | Tidy up some comments. | Damien George | 2014-02-01 |
| | |||
* | py: Tidy up BINARY_OPs; negation done by special NOT bytecode. | Damien George | 2014-02-01 |
| | | | | | IS_NOT and NOT_IN are now compiled to IS + NOT and IN + NOT, with a new special NOT bytecode. | ||
* | py: Reduce code size of compiler by a bit. | Damien George | 2014-02-01 |
| | |||
* | py: Fix emitcpy so continue is compatible with CPython. | Damien George | 2014-02-01 |
| | |||
* | py: Implement break/continue from an exception with finally. | Damien George | 2014-02-01 |
| | | | | Still todo: break/continue from within the finally block itself. | ||
* | unix: libffi include path now found using pkg-config. | Damien George | 2014-02-01 |
| | | | | Hopefully this works for other people as well :) | ||
* | Merge pull request #254 from pfalcon/config-modules | Damien George | 2014-02-01 |
|\ | | | | | Add mpconfigport.mk file to configure which modules to include into build | ||
| * | Add mpconfigport.mk file to configure which modules to include into build. | Paul Sokolovsky | 2014-02-01 |
| | | | | | | | | | | Proof of concept, controls "ffi" module as one which requires external dependencies. | ||
* | | py: mp_execute_byte_code has 2 arg arrays, for more efficient default params. | Damien George | 2014-02-01 |
| | | |||
* | | Merge branch 'fun-defargs' of github.com:pfalcon/micropython into ↵ | Damien George | 2014-02-01 |
|\ \ | |/ |/| | | | pfalcon-fun-defargs | ||
| * | Implement default function arguments (for Python functions). | Paul Sokolovsky | 2014-02-01 |
| | | | | | | | | | | | | | | | | TODO: Decide if we really need separate bytecode for creating functions with default arguments - we would need same for closures, then there're keywords arguments too. Having all combinations is a small exponential explosion, likely we need just 2 cases - simplest (no defaults, no kw), and full - defaults & kw. | ||
* | | Merge pull request #251 from pfalcon/return_unwind | Damien George | 2014-02-01 |
|\ \ | | | | | | | Add exception stack unwind support for RETURN_VALUE. | ||
| * | | Add exception stack unwind support for RETURN_VALUE. | Paul Sokolovsky | 2014-02-01 |
| |/ | | | | | | | | | | | | | | | This properly implements return from try/finally block(s). TODO: Consider if we need to do any value stack unwinding for RETURN_VALUE case. Intuitively, this is "success" return, so value stack should be in good shape, and unwinding shouldn't be required. | ||
* | | Merge branch 'iabdalkader-master' | Damien George | 2014-02-01 |
|\ \ | | | | | | | | | | | | | | | | Conflicts: stm/usb.c stm/usb.h | ||
| * | | Add usb_vcp_connected prototype to usb.h | mux | 2014-02-01 |
| | | | |||
| * | | Detect VCP line state. | mux | 2014-02-01 |
| |/ | | | | | | | * Detect VCP line state, based on SET_CONTROL_LINE_STATE request | ||
* / | stm: Add support for ctrl-C to interrupt running Python. | Damien George | 2014-02-01 |
|/ | | | | | | | Using PendSV interrupt at lowest priority, code can now raise an exception during an interrupt by calling pendsv_nlr_jump. The exception will be raised when all interrupts are finished. This is used to trap ctrl-C from the USB VCP to break out of running Python code. | ||
* | Merge pull request #246 from pfalcon/exc_stack_entry | Damien George | 2014-01-31 |
|\ | | | | | vm: Introduce structure for exception stack entry, record entry type. | ||
| * | Add basic try-finally testcase. | Paul Sokolovsky | 2014-01-31 |
| | | | | | | | | | | It's mildly suprising these work without further changes to exception handling code (the only change required was to handle SETUP_FINALLY). | ||
| * | Update VM stacks comments. | Paul Sokolovsky | 2014-01-31 |
| | | |||
| * | vm: Introduce structure for exception stack entry, record entry type. | Paul Sokolovsky | 2014-01-31 |
| | | | | | | | | Also, handle SETUP_FINALLY opcode. | ||
* | | py: Simplified rt_call_function_n_kw. | Damien George | 2014-01-31 |
| | | |||
* | | Merge branch 'fix_str_call' of github.com:msiemens/micropython into ↵ | Damien George | 2014-01-31 |
|\ \ | | | | | | | | | | msiemens-fix_str_call | ||
| * | | Fix SIGSEV when running "a"() | Markus Siemens | 2014-01-31 |
| |/ | | | | | | | | | | | rt_call_function_n_kw did check for integers but not for strings being called. Added a check so running "a"() won't SIGSEV but throw an exception. | ||
* | | py: Make str.replace do 2 passes over the string. | Damien George | 2014-01-31 |
| | | |||
* | | Merge branch 'master' of github.com:xbe/micropython into xbe-master | Damien George | 2014-01-31 |
|\ \ | |/ |/| | |||
| * | Implement str.replace and add tests for it. | xbe | 2014-01-30 |
| | | |||
| * | Add tests for str.strip | xbe | 2014-01-30 |
| | | |||
* | | Dump 4 more bytecodes (loop and finally ones). | Paul Sokolovsky | 2014-01-31 |
| | | |||
* | | Typo fixes in comments. | Paul Sokolovsky | 2014-01-31 |
| | | |||
* | | Add testcase with exception handler spread across functions. | Paul Sokolovsky | 2014-01-31 |
|/ | |||
* | py: Add MICROPY_ENABLE_FLOAT around a float specific piece of code. | Damien George | 2014-01-31 |
| | |||
* | Merge pull request #239 from pfalcon/end_finally | Damien George | 2014-01-30 |
|\ | | | | | vm: Add basic implementation of END_FINALLY opcode. | ||
| * | vm: Add basic implementation of END_FINALLY opcode. | Paul Sokolovsky | 2014-01-30 |
| | | | | | | | | | | | | Allows to have nested try blocks with except filters. TODO: Don't add END_FINALLY's exception re-raise points to traceback. | ||
* | | Merge pull request #240 from msiemens/windows_fix | Damien George | 2014-01-30 |
|\ \ | | | | | | | windows: Make windows/main.c independent from unix/main.c | ||
| * | | windows: Make windows/main.c independent from unix/main.c | Markus Siemens | 2014-01-30 |
| |/ | | | | | | | | | | | | | | | Up to know changes unix/main.c were able to break the windows build because windows/main.c simply included unix/main.c. Now windows/main.c stands on it's own and won't break if unix/main.c changes. | ||
* / | Fix Makefiles: -O3 option was not being applied; mkdir for STM. | Damien George | 2014-01-30 |
|/ | |||
* | py: Improve __bool__ and __len__ dispatch; add slots for them. | Damien George | 2014-01-30 |
| | |||
* | Merge pull request #238 from pfalcon/bool_len | Damien George | 2014-01-30 |
|\ | | | | | Implement __bool__ and __len__ via unary_op virtual method for all types. | ||
| * | Implement __bool__ and __len__ via unary_op virtual method for all types. | Paul Sokolovsky | 2014-01-30 |
|/ | | | | | | | __bool__() and __len__() are just the same as __neg__() or __invert__(), and require efficient dispatching implementation (not requiring search/lookup). type->unary_op() is just the right choice for this short of adding standalone virtual method(s) to already big mp_obj_type_t structure. | ||
* | realloc(): Log original memory ptr too. | Paul Sokolovsky | 2014-01-30 |
| | | | | To alloc complete memory alloc flow tracing. | ||
* | run-tests can handle segfault. | Damien George | 2014-01-29 |
| | |||
* | Merge branch 'master' of github.com:msiemens/micropython into msiemens-master | Damien George | 2014-01-29 |
|\ | |||
| * | Fixed problems with nlx86.S on Linux | Markus Siemens | 2014-01-28 |
| | | | | | | | | | | Fixed '#ifdef's so Linux would compile again and added .scl and .type for Windows. | ||
| * | Added Windows port (see #233) | Markus Siemens | 2014-01-28 |
| | | |||
* | | py: Add compile option to enable/disable source line numbers. | Damien George | 2014-01-29 |
| | | |||
* | | stm: Add optional memory debugging output. | Damien George | 2014-01-29 |
| | | |||
* | | py: Simplify fastn in VM; reduce size of unique code struct. | Damien George | 2014-01-29 |
| | | | | | | | | | | | | | | | | | | | | We still have FAST_[0,1,2] byte codes, but they now just access the fastn array (before they had special local variables). It's now simpler, a bit faster, and uses a bit less stack space (on STM at least, which is most important). The only reason now to keep FAST_[0,1,2] byte codes is for compressed byte code size. |