summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-02-01py: mp_execute_byte_code has 2 arg arrays, for more efficient default params.Damien George
2014-02-01Merge branch 'fun-defargs' of github.com:pfalcon/micropython into ↵Damien George
pfalcon-fun-defargs
2014-02-01Merge pull request #251 from pfalcon/return_unwindDamien George
Add exception stack unwind support for RETURN_VALUE.
2014-02-01Merge branch 'iabdalkader-master'Damien George
Conflicts: stm/usb.c stm/usb.h
2014-02-01stm: Add support for ctrl-C to interrupt running Python.Damien George
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.
2014-02-01Add usb_vcp_connected prototype to usb.hmux
2014-02-01Implement default function arguments (for Python functions).Paul Sokolovsky
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.
2014-02-01Add exception stack unwind support for RETURN_VALUE.Paul Sokolovsky
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.
2014-02-01Detect VCP line state.mux
* Detect VCP line state, based on SET_CONTROL_LINE_STATE request
2014-01-31Merge pull request #246 from pfalcon/exc_stack_entryDamien George
vm: Introduce structure for exception stack entry, record entry type.
2014-01-31py: Simplified rt_call_function_n_kw.Damien George
2014-01-31Merge branch 'fix_str_call' of github.com:msiemens/micropython into ↵Damien George
msiemens-fix_str_call
2014-01-31py: Make str.replace do 2 passes over the string.Damien George
2014-01-31Merge branch 'master' of github.com:xbe/micropython into xbe-masterDamien George
2014-01-31Fix SIGSEV when running "a"()Markus Siemens
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.
2014-01-31Add basic try-finally testcase.Paul Sokolovsky
It's mildly suprising these work without further changes to exception handling code (the only change required was to handle SETUP_FINALLY).
2014-01-31Update VM stacks comments.Paul Sokolovsky
2014-01-31vm: Introduce structure for exception stack entry, record entry type.Paul Sokolovsky
Also, handle SETUP_FINALLY opcode.
2014-01-31Dump 4 more bytecodes (loop and finally ones).Paul Sokolovsky
2014-01-31Typo fixes in comments.Paul Sokolovsky
2014-01-31Add testcase with exception handler spread across functions.Paul Sokolovsky
2014-01-30Implement str.replace and add tests for it.xbe
2014-01-30Add tests for str.stripxbe
2014-01-31py: Add MICROPY_ENABLE_FLOAT around a float specific piece of code.Damien George
2014-01-30Merge pull request #239 from pfalcon/end_finallyDamien George
vm: Add basic implementation of END_FINALLY opcode.
2014-01-30Merge pull request #240 from msiemens/windows_fixDamien George
windows: Make windows/main.c independent from unix/main.c
2014-01-30Fix Makefiles: -O3 option was not being applied; mkdir for STM.Damien George
2014-01-30windows: Make windows/main.c independent from unix/main.cMarkus Siemens
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.
2014-01-30vm: Add basic implementation of END_FINALLY opcode.Paul Sokolovsky
Allows to have nested try blocks with except filters. TODO: Don't add END_FINALLY's exception re-raise points to traceback.
2014-01-30py: Improve __bool__ and __len__ dispatch; add slots for them.Damien George
2014-01-30Merge pull request #238 from pfalcon/bool_lenDamien George
Implement __bool__ and __len__ via unary_op virtual method for all types.
2014-01-30Implement __bool__ and __len__ via unary_op virtual method for all types.Paul Sokolovsky
__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.
2014-01-30realloc(): Log original memory ptr too.Paul Sokolovsky
To alloc complete memory alloc flow tracing.
2014-01-29run-tests can handle segfault.Damien George
2014-01-29Merge branch 'master' of github.com:msiemens/micropython into msiemens-masterDamien George
2014-01-29py: Add compile option to enable/disable source line numbers.Damien George
2014-01-29stm: Add optional memory debugging output.Damien George
2014-01-29py: Simplify fastn in VM; reduce size of unique code struct.Damien George
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.
2014-01-29stm: Fix gccollect ram range.Damien George
2014-01-29Merge branch 'master' of github.com:iabdalkader/micropythonDamien George
2014-01-29py: Fix bug with LOAD_METHOD; fix int->machine_int_t for small int.Damien George
LOAD_METHOD bug was: emitbc did not correctly calculate the amount of stack usage for a LOAD_METHOD operation. small int bug was: int was being used to pass small ints, when it should have been machine_int_t.
2014-01-29py: Msg in exception is no longer interned.Damien George
2014-01-29Add qstr_info() function and bindings for unix port.Damien George
2014-01-29Fix unused function warning in mainmux
* Add SD card test to fix warning
2014-01-29Remove redundant include in file.cmux
* Remove include mpconfigport.h from file.c
2014-01-29Move HEAP_END and RAM_END to linker scriptmux
* Issue #232
2014-01-28stm: Increase timeout for RTC LSE startup; use backup regs.Damien George
2014-01-28py: Implement 'not' in compiler, and improve rt_is_true.Damien George
2014-01-28Rename array test to array1 so it doesn't clash with array module.Damien George
On my machine, 'import array' in CPython tries to load the array test.
2014-01-28unix: Fix compile warnings for ffi module on 64-bit machine.Damien George