aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-06-05objstr: Implement "%(key)s" % {} formatting for strings and dicts.Paul Sokolovsky
Also, make sure that args to "*" format specifiers are bounds-checked properly and don't lead for segfaults in case of mismatch.
2014-06-05Merge pull request #660 from Rosuav/assert0Paul Sokolovsky
Replace assert(0) with a self-documenting TODO string
2014-06-05unix: Add setjmp-based GC register helper implementation.Paul Sokolovsky
As I suspected for a long time, for x86, register helper doesn't really make any difference - there's simply not enough register to keep anything in them for any prolonged time. Anything gets pushed on stack anyway. So, on x86, uPy passed all tests even with empty reg helper. So, this setjmp implementation goes as "untested".
2014-06-05Replace assert(0) with a self-documenting TODO stringChris Angelico
2014-06-04Merge pull request #653 from Metallicow/switch-example-correctionDamien George
remove `__doc__ =` and fix tweak doc diffs
2014-06-03Merge pull request #650 from bvernoux/masterDamien George
micropython port for HydraBus
2014-06-03Merge pull request #655 from Rosuav/masterDamien George
Two small changes
2014-06-04Simplify detection of quote characters in mp_str_print_quoted.Chris Angelico
Once a double quote has been found, the subsequent discovery of a single quote won't change behaviour at all, so don't bother looking for one.
2014-06-03Merge branch 'master' of https://github.com/micropython/micropythonbvernoux
2014-06-04Correct file reference (there's no qstrraw.h)Chris Angelico
2014-06-03Merge branch 'master' of https://github.com/bvernoux/micropythonbvernoux
Conflicts: README.md
2014-06-03Cleanup/removed specific stuff specific to HydraBus (except board).bvernoux
2014-06-03remove `__doc__ =` and fix tweak doc diffsMetallicow
2014-06-03py: Properly fix configuration of float and math module.Damien George
2014-06-03py: Allow tail call optimisation in mp_call_function_n_kw.Damien George
This saves 4 words of stack space per Python call.
2014-06-03py: Fix configuration of math module.Damien George
2014-06-03py: Implement full behaviour of dict.update(), and dict().Damien George
Add keyword args to dict.update(), and ability to take a dictionary as argument. dict() class constructor can now use dict.update() directly. This patch loses fast path for dict(other_dict), but is that really needed? Any anyway, this idiom will now re-hash the dictionary, so is arguably more memory efficient. Addresses issue #647.
2014-06-03Merge pull request #649 from pfalcon/multi-optDamien George
Support multiple bytecode optimisation levels
2014-06-03vm: If there's no lineno info, set lineno in traceback to 0, not 1.Paul Sokolovsky
To clearly signify that lineno is not known.
2014-06-03py: For optimization level -O3 and higher, remove lineno info from bytecode.Paul Sokolovsky
2014-06-03py: Instead of having "debug on" var, have "optimization level" var.Paul Sokolovsky
This allows to have multiple "optimization" levels (CPython has two (-OO removes docstrings), we can have more).
2014-06-03Merge pull request #651 from dhylands/fix-af-csv2Paul Sokolovsky
Add missing commas to stm32f4xx-af.csv
2014-06-02Add missing commas to stm32f4xx-af.csvDave Hylands
2014-06-03showbc: Make micropython -v also dump bytecode in hex form.Paul Sokolovsky
2014-06-03showbc: Make sure it's possible to trace MAKE_FUNCTION arg to actual bytecode.Paul Sokolovsky
2014-06-03unix: Properly print script filename in case of error.Paul Sokolovsky
2014-06-02Update README.mdBenjamin Vernoux
2014-06-02Merge branch 'master' of https://github.com/bvernoux/micropythonbvernoux
2014-06-02HydraBus boardbvernoux
2014-06-02Update README.mdBenjamin Vernoux
2014-06-02Update README.mdBenjamin Vernoux
2014-06-02Update README.mdBenjamin Vernoux
2014-06-02Update README.mdBenjamin Vernoux
2014-06-02micropython port for HydraBusbvernoux
2014-06-02showbc: Print code block header at the beginning, not in the middle of dump.Paul Sokolovsky
Also, dump code block in bytes.
2014-06-02lexer: Add another comment for somewhat obscure way __debug__ is handled.Paul Sokolovsky
2014-06-02modstruct: Add one more extension to typecodes - 'S', a pointer to C string.Paul Sokolovsky
Also, add comment with description of extension to CPython's typecodes.
2014-06-01Merge branch 'Metallicow-LED-Fix'Damien George
2014-06-01examples, switch: Make run_loop take sequence of LED objects.Damien George
2014-06-01Merge branch 'LED-Fix' of github.com:Metallicow/micropython into ↵Damien George
Metallicow-LED-Fix
2014-06-01py, str: Replace enum with actual function pointer.Damien George
This way, it's slightly more efficient, uses less ROM (60 bytes less for stmhal), and doesn't require to raise exception if bad operation given.
2014-06-01stmhal: Document pyb.Accel() constructor, that it takes time to start.Damien George
2014-06-01__doc__ switch, make importable, and easy to testMetallicow
2014-06-01bare-arm: Disable slice and set.Damien George
2014-06-01py: Fix configurability of builtin slice.Damien George
2014-06-01py: Add option to disable set() object (enabled by default).Damien George
2014-06-01Rename bultins config variables to MICROPY_PY_BUILTINS_*.Damien George
This renames: MICROPY_PY_FROZENSET -> MICROPY_PY_BUILTINS_FROZENSET MICROPY_PY_PROPERTY -> MICROPY_PY_BUILTINS_PROPERTY MICROPY_PY_SLICE -> MICROPY_PY_BUILTINS_SLICE MICROPY_ENABLE_FLOAT -> MICROPY_PY_BUILTINS_FLOAT See issue #35 for discussion.
2014-06-01py, vm: Replace save_ip, save_sp with code_state->{ip, sp}.Damien George
This may seem a bit of a risky change, in that it may introduce crazy bugs with respect to volatile variables in the VM loop. But, I think it should be fine: code_state points to some external memory, so the compiler should always read/write to that memory when accessing the ip/sp variables (ie not put them in registers). Anyway, it passes all tests and improves on all efficiency fronts: about 2-4% faster (64-bit unix), 16 bytes less stack space per call (64-bit unix) and slightly less executable size (unix and stmhal). The reason it's more efficient is save_ip and save_sp were volatile variables, so were anyway stored on the stack (in memory, not regs). Thus converting them to code_state->{ip, sp} doesn't cost an extra memory dereference (except maybe to get code_state, but that can be put in a register and then made more efficient for other uses of it).
2014-06-01Merge branch 'pfalcon-vm-alloca'Damien George
2014-06-01Merge branch 'vm-alloca' of github.com:pfalcon/micropython into ↵Damien George
pfalcon-vm-alloca Conflicts: py/vm.c Fixed stack underflow check. Use UINT_FMT/INT_FMT where necessary. Specify maximum VM-stack byte size by multiple of machine word size, so that on 64 bit machines it has same functionality as 32 bit.