- 09 Apr, 2014 1 commit
-
-
Damien George authored
Convert int types to uint where sensible, and then to uint8_t or uint16_t where possible to reduce RAM usage.
-
- 06 Apr, 2014 1 commit
-
-
Damien George authored
On x64, native emitter now passes 70 of the tests.
-
- 30 Mar, 2014 1 commit
-
-
Damien George authored
Mostly just a global search and replace. Except rt_is_true which becomes mp_obj_is_true. Still would like to tidy up some of the names, but this will do for now.
-
- 27 Mar, 2014 1 commit
-
-
Damien George authored
-
- 16 Feb, 2014 1 commit
-
-
Paul Sokolovsky authored
For this, record argument names along with each bytecode function. The code still includes extensive debug logging support so far.
-
- 15 Feb, 2014 1 commit
-
-
Damien George authored
-
- 02 Feb, 2014 1 commit
-
-
Damien George authored
Native emitter has been broken since stack order has changed from reverse to standard. This fix gets it partially working.
-
- 01 Feb, 2014 1 commit
-
-
Damien George authored
IS_NOT and NOT_IN are now compiled to IS + NOT and IN + NOT, with a new special NOT bytecode.
-
- 30 Jan, 2014 1 commit
-
-
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 1 commit
-
-
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.
-
- 28 Jan, 2014 1 commit
-
-
Damien George authored
-
- 11 Jan, 2014 2 commits
-
-
Damien George authored
-
John R. Lenton authored
-
- 06 Jan, 2014 2 commits
- 04 Jan, 2014 1 commit
-
-
Damien George authored
Qstr's are now split into a linked-list of qstr pools. This has 2 benefits: the first pool can be in ROM (huge benefit, since we no longer use RAM for the core qstrs), and subsequent pools use m_new for the next pool instead of m_renew (thus avoiding a huge single table for all the qstrs). Still would be better to use a hash table, but this scheme takes us part of the way (eventually convert the pools to hash tables). Also fixed bug with import. Also improved the way the module code is referenced (not magic number 1 anymore).
-
- 30 Dec, 2013 1 commit
-
-
Damien George authored
-
- 21 Dec, 2013 1 commit
-
-
Damien authored
A big change. Micro Python objects are allocated as individual structs with the first element being a pointer to the type information (which is itself an object). This scheme follows CPython. Much more flexible, not necessarily slower, uses same heap memory, and can allocate objects statically. Also change name prefix, from py_ to mp_ (mp for Micro Python).
-