summaryrefslogtreecommitdiffstatshomepage
path: root/py
Commit message (Collapse)AuthorAge
* py: Add 'align' and 'data' meta-instructions to inline assembler.Damien George2014-04-21
|
* py: Fix super() bug, where it didn't allow instance access.Damien George2014-04-21
| | | | | This is a one-liner fix. It gets the class-super.py test passing, but is probably not a complete fix.
* Merge branch 'master' of github.com:micropython/micropythonDamien George2014-04-21
|\
| * py: Add win32-specific header for alloca().Paul Sokolovsky2014-04-20
| |
| * nlrx86.S: Another ifdef for win32 symbol underscoring issues.Paul Sokolovsky2014-04-20
| |
* | py: Small change to mp_arg_parse_all.Damien George2014-04-21
|/
* objarray: Slice subscription operation: properly test for op subtype.Paul Sokolovsky2014-04-20
| | | | | Also, checked that both bytearray and array.array actually support generic (a-la list) slice assignment and deletion. Added TODOs.
* gc: gc_realloc(): Fix byte-to-block calculation.Paul Sokolovsky2014-04-20
|
* py, gc: Further simplify coding-style of gc_realloc.Damien George2014-04-20
| | | | No logic changes, just coding style to make it easy to read.
* py: Wrap #if's around emitter functions that are used only by emitcpy.Damien George2014-04-20
| | | | | | | 3 emitter functions are needed only for emitcpy, and so we can #if them out when compiling with emitcpy support. Also remove unused SETUP_LOOP bytecode.
* py: Making closures now passes pointer to stack, not a tuple for vars.Damien George2014-04-20
| | | | | | | Closed over variables are now passed on the stack, instead of creating a tuple and passing that. This way memory for the closed over variables can be allocated within the closure object itself. See issue #510 for background.
* objclosure: Store reference to entire closed variables tuple.Paul Sokolovsky2014-04-20
| | | | Avoids pointer-to-field garbage collection issue. Fixes #510.
* objcell: Add disabled by default print method for debugging.Paul Sokolovsky2014-04-20
|
* gc: "new" gc_realloc: Rewrite in plain C, fixing bunch of bugs.Paul Sokolovsky2014-04-20
| | | | | | There were typos, various rounding errors trying to do concurrent counting in bytes vs blocks, complex conditional paths, superfluous variables, etc., etc., all leading to obscure segfaults.
* gc: Recover simple gc_realloc implementation, make easier to switch between.Paul Sokolovsky2014-04-20
|
* modstruct: Add 'O' typecode for passing mp_obj_t.Paul Sokolovsky2014-04-20
| | | | Useful as callback data, etc.
* modstruct: Use proper int accessor which checks input value type.Paul Sokolovsky2014-04-20
|
* Merge branch 'master' of github.com:micropython/micropythonDamien George2014-04-20
|\
| * objarray: Implement slice subscription.Paul Sokolovsky2014-04-19
| |
* | py: Fix mp_arg_parse_all.Damien George2014-04-20
| |
* | py: Add arg checking helper functions.Damien George2014-04-20
|/ | | | | | | These are to assist in writing native C functions that take positional and keyword arguments. mp_arg_check_num is for just checking the number of arguments is correct. mp_arg_parse_all is for parsing positional and keyword arguments with default values.
* modstruct: Initial implementation of struct.pack().Paul Sokolovsky2014-04-19
|
* objstr: Init hash in mp_obj_str_builder_start() to 0.Paul Sokolovsky2014-04-19
|
* obj.h: Typo fix in comment.Paul Sokolovsky2014-04-19
|
* modstruct: Fix .calcsize() to account for struct type/alignment.Paul Sokolovsky2014-04-19
|
* modstruct: Support 'q' & 'Q' type codes.Paul Sokolovsky2014-04-19
|
* Merge branch 'master' of github.com:micropython/micropythonDamien George2014-04-18
|\
| * sequence: Further simplify sequence comparison.Paul Sokolovsky2014-04-18
| |
| * sequence: Fix glaring bug in sequence comparison.Paul Sokolovsky2014-04-18
| |
| * objfloat: Try to achieve the same float printing format as CPython does.Paul Sokolovsky2014-04-18
| | | | | | | | | | | | | | Test usecase I used is print(time.time()) and print(time.time() - time.time()). On Linux/Glibc they now give the same output as CPython 3.3. Specifically, time.time() gives non-exponential output with 7 decimal digits, and subtraction gives exponential output e-06/e-07.
| * py: from import * should not import symbols starting with underscore.Paul Sokolovsky2014-04-18
| | | | | | | | | | I skipped implementing this initially, but then it causes __name__ of current module be overwritten and relative imports fail.
* | py: Add mp_binary_set_val_array_from_int, to store an int directly.Damien George2014-04-18
| |
* | py: Allow to pass buffer protocol flags to get_buffer helper funcs.Damien George2014-04-18
| |
* | py: Add typecode to buffer protocol.Damien George2014-04-18
| | | | | | | | | | | | | | When querying an object that supports the buffer protocol, that object must now return a typecode (as per binary.[ch]). This does not have to be honoured by the caller, but can be useful for determining element size.
* | py: Tidy up function argument error messages.Damien George2014-04-18
| | | | | | | | We are not as verbose as CPython, and maybe a bit too cryptic sometimes.
* | py: Tidy up array.array; add more error handling.Damien George2014-04-18
| |
* | inlinethumb: Add wfi, cpsid and cpsie instructions.Damien George2014-04-18
|/
* py: Rename USE_COMPUTED_GOTOS to USE_COMPUTED_GOTO and enable on stmhal.Damien George2014-04-17
| | | | | | On stmhal, computed gotos make the binary about 1k bigger, but makes it run faster, and we have the room, so why not. All tests pass on pyboard using computed gotos.
* py: Add MP_OBJ_STOP_ITERATION and make good use of it.Damien George2014-04-17
| | | | | Also make consistent use of MP_OBJ_NOT_SUPPORTED and MP_OBJ_NULL. This helps a lot in debugging and understanding of function API.
* py: Merge BINARY_OP_SUBSCR and store_subscr (w/ delete) into subscr.Damien George2014-04-17
| | | | mp_obj_t->subscr now does load/store/delete.
* py: Simplify objfun/objgenerator connection, no need to call bc_get.Damien George2014-04-17
|
* Merge branch 'master' of github.com:micropython/micropythonDamien George2014-04-17
|\
| * objgenerator: Generator must execute in its defining lexical context.Paul Sokolovsky2014-04-17
| | | | | | | | | | I.e. with its own globals. So, just as for functions, we need to switch globals when resuming a generator.
| * objfun: Add local header.Paul Sokolovsky2014-04-17
| | | | | | | | | | | | | | | | | | This follows pattern already used for objtuple, etc.: objfun.h's content is not public - each and every piece of code should not have access to it. It's not private either - with out architecture and implementation language (C) it doesn't make sense to keep implementation of each object strictly private and maintain cumbersome accessors. It's "local" - intended to be used by a small set of "friend" (in C++ terms) objects.
* | py: Fix pfenv_print_strn to return correct number of chars printed.Damien George2014-04-17
|/ | | | With this fix, all tests in tests/basics pass on pyboard.
* py: Make built-in 'range' a class.Damien George2014-04-17
| | | | Addresses issue #487.
* build: Simplify build directory layout by putting all headers in genhdr.Damien George2014-04-17
| | | | | Any generated headers go in $(BUILD)/genhdr/, and are #included as 'genhdr/xxx.h'.
* Merge branch 'relocatable-build-dir' of github.com:lurch/micropython into ↵Damien George2014-04-17
|\ | | | | | | lurch-relocatable-build-dir
| * build directory can now be renamedAndrew Scheller2014-04-16
| | | | | | | | | | | | | | | | | | The autogenerated header files have been moved about, and an extra include dir has been added, which means you can give a custom BUILD=newbuilddir option to make, and everything "just works" Also tidied up the way the different Makefiles build their include- directory flags
* | Merge pull request #507 from pfalcon/nlr-setjmpDamien George2014-04-17
|\ \ | | | | | | nlr: Add implementation using setjmp/longjmp.