summaryrefslogtreecommitdiffstatshomepage
path: root/py
Commit message (Collapse)AuthorAge
* runtime: mp_load_method_maybe(): Don't use confusing "base" term.Paul Sokolovsky2015-03-21
| | | | | | | "Base" should rather refer to "base type"."Base object for attribute lookup" should rather be just "object". Also, a case of common subexpression elimination.
* objlist: list_reverse(): Fix typesafety error.Paul Sokolovsky2015-03-20
|
* py: Clarify API for map/set lookup when removing&adding at once.Damien George2015-03-20
| | | | Addresses issue #1160.
* py: Implement core of OrderedDict type.Paul Sokolovsky2015-03-20
| | | | | | | | | | | | Given that there's already support for "fixed table" maps, which are essentially ordered maps, the implementation of OrderedDict just extends "fixed table" maps by adding an "is ordered" flag and add/remove operations, and reuses 95% of objdict code, just making methods tolerant to both dict and OrderedDict. Some things are missing so far, like CPython-compatible repr and comparison. OrderedDict is Disabled by default; enabled on unix and stmhal ports.
* py: Implement DELETE_GLOBAL in showbc.c.Damien George2015-03-20
|
* objtype: More comment clarification for attribute lookup.Paul Sokolovsky2015-03-20
|
* py: Allow to compile with extra warnings (sign-compare, unused-param).Damien George2015-03-19
|
* objtype: Clarify comment why we call mp_load_method_maybe() for native sub-obj.Paul Sokolovsky2015-03-17
|
* objtype: Refactor dealing with native sub-objects for clarity.Paul Sokolovsky2015-03-16
|
* objtype: mp_obj_class_lookup: Remove implausible condition.Paul Sokolovsky2015-03-16
| | | | | We already have branch for lookup->is_type == true, so here it's guaranteed to be false.
* objtype: Clarify comment for mp_obj_class_lookup().Paul Sokolovsky2015-03-16
|
* objtype: Clarify code by consistently using common subexpression.Paul Sokolovsky2015-03-16
|
* py: Fix printing of error message when parsing malformed integer.Damien George2015-03-16
|
* py, extmod: Remove include of unnecessary system headers.Damien George2015-03-14
|
* py: In pfenv_vprintf, adjust type from mp_uint_t to unsigned int.Damien George2015-03-14
|
* py: Remove unnecessary and unused sgn argument from pfenv_print_mp_int.Damien George2015-03-14
|
* py: Fix builtin abs so it works for bools and bignum.Damien George2015-03-14
|
* py: Add MICROPY_COMP_{DOUBLE,TRIPLE}_TUPLE_ASSIGN config options.Damien George2015-03-14
| | | | | | These allow to fine-tune the compiler to select whether it optimises tuple assignments of the form a, b = c, d and a, b, c = d, e, f. Sensible defaults are provided.
* py: In compiler, put macro guard around potentially unused asm vars.Damien George2015-03-14
|
* py: Make some mpz functions static and remove unused ones.Damien George2015-03-12
|
* py: Add support for start/stop/step attributes of builtin range object.Peter D. Gray2015-03-11
|
* objmemoryview: Introduce mp_obj_new_memoryview().Paul Sokolovsky2015-03-06
| | | | | This follows existing pattern for object constructor API and allows to create memoryview objects e.g. in external modules.
* objarray: Support array('O'), array of objects, as extension to CPython.Paul Sokolovsky2015-03-05
| | | | Might be useful at least for memoryview hacks.
* objarray: Fix typo in null TYPECODE_MASK.Paul Sokolovsky2015-03-04
|
* py: Add MICROPY_MALLOC_USES_ALLOCATED_SIZE to allow simpler malloc API.Damien George2015-03-03
|
* runtime: Typo fixes in comments.Paul Sokolovsky2015-03-03
|
* py: In inline assembler, reset labels on code-size pass.Damien George2015-03-03
|
* py: Simplify some inline-assembler error messages, but retain meaning.Damien George2015-03-03
| | | | | Just to reduce code size. Messages are still to the point and unambiguous.
* py: Give error for duplicate label in inline assembler.Damien George2015-03-03
|
* py: Guard against redef of nlr_push with DEBUG + MICROPY_NLR_SETJMP.stijn2015-03-03
|
* py: In inline assembler, fix branch out-of-range error reporting.Damien George2015-03-02
| | | | | Should only give an error on the last pass of the assembler, since that's when we are certain about the branch size.
* py: Use SMALL_INT creation macro in builtin sum.Damien George2015-03-02
|
* py: For inline assembler, add bcc_n and bcc_w ops.Damien George2015-03-02
| | | | Addresses issue #1143.
* py: Clean up and comment out unused functions in mpz.Damien George2015-03-02
|
* py: Set compiler scope before folding constants so error messages work.Damien George2015-03-01
| | | | Addresses issue #1140.
* py: Combine complie functions for or_test/and_test to reduce code size.Damien George2015-02-28
| | | | Saves around 60 bytes code on Thumb2 archs.
* py: Combine emit functions for jump true/false to reduce code size.Damien George2015-02-28
| | | | Saves 116 bytes for stmhal and 56 bytes for cc3200 port.
* py: Combine logic for compiling and/or tests, to reduce code size.Damien George2015-02-28
| | | | Reduces code size by 72 bytes on Thumb2 archs.
* objarray: Implement array slice assignment.Paul Sokolovsky2015-02-27
| | | | | | | | | | | | | | | | This is rarely used feature which takes enough code to implement, so is controlled by MICROPY_PY_ARRAY_SLICE_ASSIGN config setting, default off. But otherwise it may be useful, as allows to update arbitrary-sized data buffers in-place. Slice is yet to implement, and actually, slice assignment implemented in such a way that RHS of assignment should be array of the exact same item typecode as LHS. CPython has it more relaxed, where RHS can be any sequence of compatible types (e.g. it's possible to assign list of int's to a bytearray slice). Overall, when all "slice write" features are implemented, it may cost ~1KB of code.
* py: Transform assert logic in compiler to save code space.Damien George2015-02-27
| | | | Saves about 250 code bytes for Thumb2 archs.
* py: Use m_{new,renew,del} consistently.Damien George2015-02-27
| | | | This is so all memory requests go through the same interface.
* py: Fix adding of traceback so that it appends to existing info.Damien George2015-02-27
| | | | | | | | This makes exception traceback info self contained (ie doesn't rely on list object, which was a bit of a hack), reduces code size, and reduces RAM footprint of exception by eliminating the list object. Addresses part of issue #1126.
* py: Small optimisation of logic flow in BC_WITH_CLEANUP bytecode.Damien George2015-02-26
| | | | | Slightly smaller code, and does not need to use C stack to save temporaries.
* py: Make inline assembler raise exception when branch not in range.Damien George2015-02-25
| | | | Addresses issue #1132.
* py: In inline assembler, add return statement to fix flow logic.Damien George2015-02-24
|
* py: Factor some code in inline thumb assembler to reduce code size.Damien George2015-02-24
|
* py: Make more asmthumb functions inline to reduce code size.Damien George2015-02-24
|
* py: Reduce code size of inline thumb assembler by using static tables.Damien George2015-02-24
| | | | Reduces stmhal by about 300 bytes ROM.
* py: Update parse.c&mpconfig.h to reflect rename of mp_lexer_show_token.nhtshot2015-02-23
| | | | | This function is only used when DEBUG_PRINTERS and USE_RULE_NAME are enabled.
* py: Implement UnicodeError.Paul Sokolovsky2015-02-23
| | | | | Still too shy to implement UnicodeEncodeError which was really needed for micropython-lib case.