| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2015-04-02 | py: Add finer configuration of static funcs when not in stackless mode. | Damien George | |
| Also rename call_args_t to mp_call_args_t. | |||
| 2015-04-03 | vm: If there's no heap to call function in stackless manner, call via C stack. | Paul Sokolovsky | |
| 2015-04-03 | vm: Initial support for calling bytecode functions w/o C stack ("stackless"). | Paul Sokolovsky | |
| 2015-03-20 | py: Allow retrieving a function's __name__. | stijn | |
| Disabled by default. Enabled on unix and stmhal ports. | |||
| 2015-02-15 | py: Make old_globals part of mp_code_state structure. | Paul Sokolovsky | |
| Conceptually it is part of code state, so let it be allocated in the same way as the rest of state. | |||
| 2015-02-13 | py: Implement sdiv/udiv for inline Thumb assembler. | Damien George | |
| 2015-01-20 | py, unix: Allow to compile with -Wunused-parameter. | Damien George | |
| See issue #699. | |||
| 2015-01-14 | py: Add "default" to switches to allow better code flow analysis. | Damien George | |
| This helps compiler produce smaller code. Saves 124 bytes on stmhal and bare-arm. | |||
| 2015-01-12 | py: Allow to compile with -Wstrict-prototypes. | Damien George | |
| 2015-01-11 | py: Remove unnecessary BINARY_OP_EQUAL code that just checks pointers. | Damien George | |
| Previous patch c38dc3ccc76d1a9bf867704f43ea5d15da3fea7b allowed any object to be compared with any other, using pointer comparison for a fallback. As such, existing code which checked for this case is no longer needed. | |||
| 2015-01-01 | py: Move to guarded includes, everywhere in py/ core. | Damien George | |
| Addresses issue #1022. | |||
| 2014-11-05 | py: Fix some macros defines; cleanup some includes. | Damien George | |
| 2014-10-25 | py: Store bytecode arg names in bytecode (were in own array). | Damien George | |
| This saves a lot of RAM for 2 reasons: 1. For functions that don't have default values, var args or var kw args (which is a large number of functions in the general case), the mp_obj_fun_bc_t type now fits in 1 GC block (previously needed 2 because of the extra pointer to point to the arg_names array). So this saves 16 bytes per function (32 bytes on 64-bit machines). 2. Combining separate memory regions generally saves RAM because the unused bytes at the end of the GC block are saved for 1 of the blocks (since that block doesn't exist on its own anymore). So generally this saves 8 bytes per function. Tested by importing lots of modules: - 64-bit Linux gave about an 8% RAM saving for 86k of used RAM. - pyboard gave about a 6% RAM saving for 31k of used RAM. | |||
| 2014-10-03 | py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places. | Damien George | |
| This should pretty much resolve issue #50. | |||
| 2014-09-29 | py: Fix types, uint -> mp_uint_t. | Damien George | |
| 2014-09-23 | stmhal: Initialise stack pointer correctly. | Damien George | |
| Stack is full descending and must be 8-byte aligned. It must start off pointing to just above the last byte of RAM. Previously, stack started pointed to last byte of RAM (eg 0x2001ffff) and so was not 8-byte aligned. This caused a bug in combination with alloca. This patch also updates some debug printing code. Addresses issue #872 (among many other undiscovered issues). | |||
| 2014-09-04 | py: Use variable length encoded uints in more places in bytecode. | Damien George | |
| Code-info size, block name, source name, n_state and n_exc_stack now use variable length encoded uints. This saves 7-9 bytes per bytecode function for most functions. | |||
| 2014-08-30 | Change some parts of the core API to use mp_uint_t instead of uint/int. | Damien George | |
| Addressing issue #50, still some way to go yet. | |||
| 2014-08-24 | py: Fix bug where GC collected native/viper/asm function data. | Damien George | |
| Because (for Thumb) a function pointer has the LSB set, pointers to dynamic functions in RAM (eg native, viper or asm functions) were not being traced by the GC. This patch is a comprehensive fix for this. Addresses issue #820. | |||
| 2014-08-15 | py: Viper can now store to global. | Damien George | |
| 2014-08-15 | py: Allow viper to have type annotations. | Damien George | |
| Viper functions can now be annotated with the type of their arguments and return value. Eg: @micropython.viper def f(x:int) -> int: return x + 1 | |||
| 2014-07-03 | Rename machine_(u)int_t to mp_(u)int_t. | Damien George | |
| See discussion in issue #50. | |||
| 2014-07-01 | stackctrl: Add "mp_" prefix. | Paul Sokolovsky | |
| 2014-06-27 | py: Add portable framework to query/check C stack usage. | Paul Sokolovsky | |
| Such mechanism is important to get stable Python functioning, because Python function calling is handled with C stack. The idea is to sprinkle STACK_CHECK() calls in places where there can be C recursion. TODO: Add more STACK_CHECK()'s. | |||
| 2014-06-11 | objfun: Remove no longer used mp_obj_fun_prepare_simple_args(). | Paul Sokolovsky | |
| 2014-06-11 | objfun: Factor out mp_setup_code_state() function to set up code_state object. | Paul Sokolovsky | |
| It needs to be reused for generator functions, too. | |||
| 2014-06-08 | Merge branch 'alloca' of github.com:marcusva/micropython into marcusva-alloca | Damien George | |
| 2014-06-08 | py: Simplify function call of a bytecode object. | Damien George | |
| 2014-06-07 | py: Implement default keyword only args. | Damien George | |
| Should finish addressing issue #524. | |||
| 2014-06-07 | py: Merge mp_execute_bytecode into fun_bc_call. | Damien George | |
| This reduces stack usage by 16 words (64 bytes) for stmhal/ port. See issue #640. | |||
| 2014-06-07 | - FreeBSD provides alloca() via stdlib.h, in contrast to Linux and Windows | Marcus von Appen | |
| - Move the includes for alloca() intp mpconfigport.h | |||
| 2014-06-01 | Rename 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-05-31 | objfun: Typo fixes in comments. | Paul Sokolovsky | |
| 2014-05-21 | py: Rename MP_OBJ_NOT_SUPPORTED to MP_OBJ_NULL. | Damien George | |
| See issue #608 for justification. | |||
| 2014-05-17 | py: More const usage. | Paul Sokolovsky | |
| 2014-05-13 | py, unix: Add copyright for modules I worked closely on. | Paul Sokolovsky | |
| 2014-05-10 | py: Tidy up returning NULL which should be MP_OBJ_NOT_SUPPORTED. | Damien George | |
| 2014-05-10 | py: Combine native emitters to 1 glue function; distinguish viper. | Damien George | |
| This patch simplifies the glue between native emitter and runtime, and handles viper code like inline assember: return values are converted to Python objects. Fixes issue #531. | |||
| 2014-05-10 | py: Rename byte_code to bytecode everywhere. | Damien George | |
| bytecode is the more widely used. See issue #590. | |||
| 2014-05-03 | Add license header to (almost) all files. | Damien George | |
| Blanket wide to all .c and .h files. Some files originating from ST are difficult to deal with (license wise) so it was left out of those. Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/. | |||
| 2014-05-03 | Merge pull request #552 from stinos/mingw-alloca | Paul Sokolovsky | |
| py: Use <alloca.h> for alloca() | |||
| 2014-05-03 | objclosure, objcell: Print detailed representation if was requested. | Paul Sokolovsky | |
| Well, it is bound to "detailed error reporting", but that's closest what we have now without creating new entities. | |||
| 2014-05-03 | py: Use <alloca.h> for alloca() | stijn | |
| alloca() is declared in alloca.h which als happens to be included by stdlib.h. On mingw however it resides in malloc.h only. So if we include alloca.h directly, and add an alloca.h for mingw in it's port directory we can get rid of the mingw-specific define to include malloc.h and the other ports are happy as well. | |||
| 2014-05-02 | py, unix: Make "mpconfig.h" be first included, as other headers depend on it. | Paul Sokolovsky | |
| Specifically, nlr.h does. | |||
| 2014-05-01 | objfun: More debug logging. | Paul Sokolovsky | |
| 2014-05-01 | objgenerator: Fix check for too few args passed to gen function. | Paul Sokolovsky | |
| 2014-05-01 | objgenerator: .print(): Output real underlying function name. | Paul Sokolovsky | |
| 2014-05-01 | py: Add tentative scheme for error messages configuration. | Paul Sokolovsky | |
| 2014-05-01 | objfun: Add function name accessor and .print slot method. | Paul Sokolovsky | |
| 2014-04-30 | objfun: Factor out function to report positional args mismatch. | Paul Sokolovsky | |
