- 11 Jan, 2015 1 commit
-
-
Damien George authored
Previous patch c38dc3cc 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.
-
- 01 Jan, 2015 1 commit
-
-
Damien George authored
Addresses issue #1022.
-
- 05 Nov, 2014 1 commit
-
-
Damien George authored
-
- 25 Oct, 2014 1 commit
-
-
Damien George authored
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.
-
- 03 Oct, 2014 1 commit
-
-
Damien George authored
This should pretty much resolve issue #50.
-
- 29 Sep, 2014 1 commit
-
-
Damien George authored
-
- 23 Sep, 2014 1 commit
-
-
Damien George authored
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).
-
- 04 Sep, 2014 1 commit
-
-
Damien George authored
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.
-
- 29 Aug, 2014 1 commit
-
-
Damien George authored
Addressing issue #50, still some way to go yet.
-
- 24 Aug, 2014 1 commit
-
-
Damien George authored
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.
-
- 15 Aug, 2014 2 commits
-
-
Damien George authored
-
Damien George authored
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
-
- 03 Jul, 2014 1 commit
-
-
Damien George authored
See discussion in issue #50.
-
- 30 Jun, 2014 1 commit
-
-
Paul Sokolovsky authored
-
- 26 Jun, 2014 1 commit
-
-
Paul Sokolovsky authored
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.
-
- 11 Jun, 2014 2 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
It needs to be reused for generator functions, too.
-
- 07 Jun, 2014 4 commits
-
-
Damien George authored
-
Damien George authored
Should finish addressing issue #524.
-
Damien George authored
This reduces stack usage by 16 words (64 bytes) for stmhal/ port. See issue #640.
-
Marcus von Appen authored
- Move the includes for alloca() intp mpconfigport.h
-
- 01 Jun, 2014 1 commit
-
-
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.
-
- 30 May, 2014 1 commit
-
-
Paul Sokolovsky authored
-
- 21 May, 2014 1 commit
-
-
Damien George authored
See issue #608 for justification.
-
- 17 May, 2014 1 commit
-
-
Paul Sokolovsky authored
-
- 13 May, 2014 1 commit
-
-
Paul Sokolovsky authored
-
- 10 May, 2014 3 commits
-
-
Damien George authored
-
Damien George authored
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.
-
Damien George authored
bytecode is the more widely used. See issue #590.
-
- 03 May, 2014 3 commits
-
-
Damien George authored
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/.
-
Paul Sokolovsky authored
Well, it is bound to "detailed error reporting", but that's closest what we have now without creating new entities.
-
stijn authored
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.
-
- 02 May, 2014 1 commit
-
-
Paul Sokolovsky authored
Specifically, nlr.h does.
-
- 01 May, 2014 3 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- 30 Apr, 2014 3 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- 27 Apr, 2014 1 commit
-
-
Damien George authored
Implements 'def f(*, a)' and 'def f(*a, b)', but not default keyword-only args, eg 'def f(*, a=1)'. Partially addresses issue #524.
-