aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2014-05-31Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-05-31tests: Add feature test for when heap allocation is disabled.Damien George
2014-05-31Merge pull request #643 from dhylands/fix-af-csvDamien George
Add a comma to make the .csv look proper in github
2014-05-31tests: Change --test_dirs to --test-dirs.Damien George
2014-05-31Merge pull request #632 from stinos/tests-dir-argumentDamien George
tests: Add argument to allow specifying which directories to test
2014-05-31py: Fix stack underflow with optimised for loop.Damien George
2014-05-31tests: Add another test for break-from-for-loop.Damien George
2014-05-31vm: Factor out structure with code execution state and pass it around.Paul Sokolovsky
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.)).
2014-05-31vm: Don't unconditionally allocate state on stack, do that only if needed.Paul Sokolovsky
This makes sure that only as much stack allocated as actually used, reducing stack usage for each Python function call.
2014-05-31vm: Detect stack underflow in addition to overflow.Paul Sokolovsky
2014-05-31objstr: str_uni_istype(): Spurious whitespace on empty lines.Paul Sokolovsky
2014-05-31objstr: str_uni_istype(): Codestyle.Paul Sokolovsky
2014-05-31Merge pull request #644 from kimbauters/masterPaul Sokolovsky
add methods isspace(), isalpha(), isdigit(), isupper() and islower() to str
2014-05-31add methods isspace(), isalpha(), isdigit(), isupper() and islower() to strKim Bauters
2014-05-30Add a comma to make the .csv look proper in githubDave Hylands
2014-05-31py: Reformat few long functions argument lists for clarity.Paul Sokolovsky
2014-05-31unix: 64-bit cleanness.Paul Sokolovsky
2014-05-31unix: Add poorman's stack usage info to mem_info() dump.Paul Sokolovsky
2014-05-31objfun: Typo fixes in comments.Paul Sokolovsky
2014-05-31modsocket: Add some comments on intended usage/API design of module.Paul Sokolovsky
2014-05-31modsocket: Remove stale ifdef.Paul Sokolovsky
2014-05-31tests: Add test for break in for.Paul Sokolovsky
For #635 / 25c84643b6c4da169cdb11de54f027e3c477c301.
2014-05-30py: Fix break from within a for loop.Damien George
Needed to pop the iterator object when breaking out of a for loop. Need also to be careful to unwind exception handler before popping iterator. Addresses issue #635.
2014-05-30objstr: *strip(): If nothing is stripped, don't create dup string.Paul Sokolovsky
2014-05-30objstr: *strip(): Fix handling of one-char subject strings.Paul Sokolovsky
2014-05-30Merge pull request #633 from stinos/msvc-fix-genhdr-depPaul Sokolovsky
msvc: Only update generated headers when there are changes
2014-05-30qemu-arm: Add port README.Paul Sokolovsky
Based on https://github.com/micropython/micropython/pull/630 by @errordeveloper.
2014-05-29py: Implement bignum '&' with negatives on lhs and rhs.Damien George
Needs proper coverage testing. Doesn't implement -ve & -ve. Addresses issue #611.
2014-05-28msvc: Only update generated headers when there are changesstijn
This fixes generating the headers casuing complete rebuilds, even when the headere's content didn't really change.
2014-05-28py: Fix check of small-int overflow when parsing ints.Damien George
Also unifies use of SMALL_INT_FITS macro across parser and runtime.
2014-05-28py: Make int(<longint>) work by just returning the longint.Damien George
2014-05-28py: Implement long int parsing in int(...).Damien George
Addresses issue #627.
2014-05-28unix/gccollect.c: Make Clang workaround apply only to it. Unbreaks gcc builds.Paul Sokolovsky
2014-05-28tests: Add argument to allow specifying which directories to teststijn
2014-05-28Revert "Fix DEBUG=1 builds"Paul Sokolovsky
This reverts commit 6e76f7bc90fcd130db888f8804b8555dc8f3a484. This patch tries to workaround a previous clang workaround. Instead of going into workaround of workaround spiral, the original workaround should be tamed.
2014-05-28Merge pull request #631 from stinos/fix-win-defDamien George
windows: Complete rename of MICROPY_PATH_MAX to MICROPY_ALLOC_PATH_MAX (...
2014-05-28Merge pull request #629 from dhylands/fix-unix-debugDamien George
Fix unix DEBUG=1 builds
2014-05-27windows: Complete rename of MICROPY_PATH_MAX to MICROPY_ALLOC_PATH_MAX (58ebde4)stijn
2014-05-26Fix DEBUG=1 buildsDave Hylands
Without this fix, I get the following error: CC gccollect.c gccollect.c: In function ‘gc_helper_get_regs’: gccollect.c:63:1: error: bp cannot be used in asm here
2014-05-26modos: stat(): Accept bytes argument.Paul Sokolovsky
2014-05-26tests: Add small testcase for 3-arg slices.Paul Sokolovsky
2014-05-25py, vm: Where possible, make variables local to each opcode.Damien George
This helps the compiler do its optimisation, makes it clear which variables are local per opcode and which global, and makes it consistent when extra variables are needed in an opcode (in addition to old obj1, obj2 pair, for example). Could also make unum local, but that's for another time.
2014-05-25py: Slightly improve efficiency of mp_obj_new_str; rename str_new.Damien George
Reorder interning logic in mp_obj_new_str, to be more efficient. str_new is globally accessible, so should be prefixed with mp_obj_.
2014-05-25Change const byte* to const char* where sensible.Damien George
This removes need for some casts (at least, more than it adds need for new casts!).
2014-05-25Merge branch 'pfalcon-keep-strings-uninterned'Damien George
2014-05-25py: Don't automatically intern strings in parser.Damien George
This completes non-automatic interning of strings in the parser, so that doc strings don't take up RAM. It complicates the parser and compiler, and bloats stmhal by about 300 bytes. It's complicated because now there are 2 kinds of parse-nodes that can be strings: interned leaves and non-interned structs.