- 03 Feb, 2014 1 commit
-
-
Damien George authored
-
- 02 Feb, 2014 3 commits
-
-
Damien George authored
Only works on modules and class instances.
-
Damien George authored
Native emitter has been broken since stack order has changed from reverse to standard. This fix gets it partially working.
-
xbe authored
-
- 01 Feb, 2014 4 commits
-
-
Paul Sokolovsky authored
-
Damien George authored
-
Damien George authored
IS_NOT and NOT_IN are now compiled to IS + NOT and IN + NOT, with a new special NOT bytecode.
-
Paul Sokolovsky authored
TODO: Decide if we really need separate bytecode for creating functions with default arguments - we would need same for closures, then there're keywords arguments too. Having all combinations is a small exponential explosion, likely we need just 2 cases - simplest (no defaults, no kw), and full - defaults & kw.
-
- 31 Jan, 2014 3 commits
-
-
Damien George authored
-
Markus Siemens authored
rt_call_function_n_kw did check for integers but not for strings being called. Added a check so running "a"() won't SIGSEV but throw an exception.
-
Damien George authored
-
- 30 Jan, 2014 2 commits
-
-
Damien George authored
-
Paul Sokolovsky authored
__bool__() and __len__() are just the same as __neg__() or __invert__(), and require efficient dispatching implementation (not requiring search/lookup). type->unary_op() is just the right choice for this short of adding standalone virtual method(s) to already big mp_obj_type_t structure.
-
- 29 Jan, 2014 2 commits
-
-
Damien George authored
We still have FAST_[0,1,2] byte codes, but they now just access the fastn array (before they had special local variables). It's now simpler, a bit faster, and uses a bit less stack space (on STM at least, which is most important). The only reason now to keep FAST_[0,1,2] byte codes is for compressed byte code size.
-
Damien George authored
LOAD_METHOD bug was: emitbc did not correctly calculate the amount of stack usage for a LOAD_METHOD operation. small int bug was: int was being used to pass small ints, when it should have been machine_int_t.
-
- 28 Jan, 2014 2 commits
-
-
Damien George authored
-
Paul Sokolovsky authored
-
- 27 Jan, 2014 1 commit
-
-
Damien George authored
-
- 25 Jan, 2014 2 commits
-
-
Damien George authored
Addresses Issue #203.
-
Paul Sokolovsky authored
-
- 24 Jan, 2014 1 commit
-
-
Paul Sokolovsky authored
This reuses as much str implementation as possible, from this we can make them more separate as needed.
-
- 23 Jan, 2014 1 commit
-
-
Damien George authored
-
- 22 Jan, 2014 2 commits
-
-
Damien George authored
STM port crashes without this re-init. There should not be any state in the core py/ code that relies on pre-initialised data.
-
Damien George authored
-
- 21 Jan, 2014 1 commit
-
-
Damien George authored
Can now have null bytes in strings. Can define ROM qstrs per port using qstrdefsport.h
-
- 20 Jan, 2014 3 commits
-
-
Paul Sokolovsky authored
Currently, MicroPython strings are mix between CPython byte and unicode strings. So, conversion is null so far. This dummy implementation is intended for compatibility with CPython (so, same code can run on both).
-
Damien George authored
-
Paul Sokolovsky authored
These are micropython.mem_total(), .mem_current(), .mem_peak(). These are 3 individual functions with simple scalar return value to make sure that calls to these functions themselves have minimal (hopefully zero) impact on memory allocation.
-
- 19 Jan, 2014 3 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Damien George authored
Exceptions know source file, line and block name. Also tidy up some debug printing functions and provide a global flag to enable/disable them.
-
- 18 Jan, 2014 6 commits
-
-
Damien George authored
-
Damien George authored
Now searches both locals_dict and methods. Partly addresses Issue #145.
-
Paul Sokolovsky authored
So far, only storage, initialization, repr() and buffer protocol is implemented - alredy suitable for passing binary data around.
-
Damien George authored
Change state layout in VM so the stack starts at state[0] and grows upwards. Locals are at the top end of the state and number downwards. This cleans up a lot of the interface connecting the VM to C: now all functions that take an array of Micro Python objects are in order (ie no longer in reverse). Also clean up C API with keyword arguments (call_n and call_n_kw replaced with single call method that takes keyword arguments). And now make_new takes keyword arguments. emitnative.c has not yet been changed to comply with the new order of stack layout.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- 16 Jan, 2014 2 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Implicit "micropython" module contains (at least) codegeneration decorators. Make it explicit, so an app could have "import micropython". On MicroPython, that will be no-op. On CPython, that will give a chance to have a module with placeholder decorators.
-
- 15 Jan, 2014 1 commit
-
-
Damien George authored
-