- 03 Jun, 2014 9 commits
-
-
Damien George authored
This saves 4 words of stack space per Python call.
-
Damien George authored
-
Damien George authored
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.
-
Damien George authored
Support multiple bytecode optimisation levels
-
Paul Sokolovsky authored
To clearly signify that lineno is not known.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
This allows to have multiple "optimization" levels (CPython has two (-OO removes docstrings), we can have more).
-
Paul Sokolovsky authored
Add missing commas to stm32f4xx-af.csv
-
Dave Hylands authored
-
- 02 Jun, 2014 6 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Also, dump code block in bytes.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Also, add comment with description of extension to CPython's typecodes.
-
- 01 Jun, 2014 15 commits
-
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
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.
-
Damien George authored
-
Metallicow authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
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.
-
Damien George authored
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).
-
Damien George authored
-
Damien George authored
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.
-
Metallicow authored
-
Metallicow authored
-
- 31 May, 2014 10 commits
-
-
Damien George authored
-
Damien George authored
-
Damien George authored
Add a comma to make the .csv look proper in github
-
Damien George authored
-
Damien George authored
tests: Add argument to allow specifying which directories to test
-
Damien George authored
-
Damien George authored
-
Paul Sokolovsky authored
This improves stack usage in callers to mp_execute_bytecode2, and is step forward towards unifying execution interface for function and generators (which is important because generators don't even support full forms of arguments passing (keywords, etc.)).
-
Paul Sokolovsky authored
This makes sure that only as much stack allocated as actually used, reducing stack usage for each Python function call.
-
Paul Sokolovsky authored
-