Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | Bytecode uint varlen encoding: support arbitrary values. | Paul Sokolovsky | 2014-02-19 | |
| | ||||
* | Support passing positional args as keywords to bytecode functions. | Paul Sokolovsky | 2014-02-16 | |
| | | | | | For this, record argument names along with each bytecode function. The code still includes extensive debug logging support so far. | |||
* | py: Pass all scope flags through to runtime. | Damien George | 2014-02-15 | |
| | ||||
* | Replace global "static" -> "STATIC", to allow "analysis builds". Part 2. | Paul Sokolovsky | 2014-02-12 | |
| | ||||
* | py: Tidy up BINARY_OPs; negation done by special NOT bytecode. | Damien George | 2014-02-01 | |
| | | | | | IS_NOT and NOT_IN are now compiled to IS + NOT and IN + NOT, with a new special NOT bytecode. | |||
* | py: Implement break/continue from an exception with finally. | Damien George | 2014-02-01 | |
| | | | | Still todo: break/continue from within the finally block itself. | |||
* | py: mp_execute_byte_code has 2 arg arrays, for more efficient default params. | Damien George | 2014-02-01 | |
| | ||||
* | Implement default function arguments (for Python functions). | Paul Sokolovsky | 2014-02-01 | |
| | | | | | | | | 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. | |||
* | py: Add compile option to enable/disable source line numbers. | Damien George | 2014-01-29 | |
| | ||||
* | py: Fix bug with LOAD_METHOD; fix int->machine_int_t for small int. | Damien George | 2014-01-29 | |
| | | | | | | | | 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. | |||
* | py: Optimise generated code for working out line numbers. | Damien George | 2014-01-25 | |
| | ||||
* | py: Improve freeing of emitters in mp_compile. | Damien George | 2014-01-24 | |
| | | | | | There can be multiple emitters allocated during compile (eg byte code and native). | |||
* | Add support for freeing code emitter objects at the end of compilation. | Paul Sokolovsky | 2014-01-24 | |
| | ||||
* | Revamp qstrs: they now include length and hash. | Damien George | 2014-01-21 | |
| | | | | | Can now have null bytes in strings. Can define ROM qstrs per port using qstrdefsport.h | |||
* | py: Add module/function/class name to exceptions. | Damien George | 2014-01-19 | |
| | | | | | | | Exceptions know source file, line and block name. Also tidy up some debug printing functions and provide a global flag to enable/disable them. | |||
* | Add source file name and line number to error messages. | Damien George | 2014-01-18 | |
| | | | | | Byte code has a map from byte-code offset to source-code line number, used to give better error messages. | |||
* | Merge branch 'master' of github.com:dpgeorge/micropython | Damien George | 2014-01-11 | |
|\ | ||||
| * | unified the bops | John R. Lenton | 2014-01-11 | |
| | | ||||
* | | py: Make arg to MP_BC_RAISE_VARARGS a byte. | Damien George | 2014-01-11 | |
|/ | ||||
* | Add ellipsis object. | Damien George | 2014-01-04 | |
| | ||||
* | Change mp_compile so that it returns a function object for the module. | Damien George | 2014-01-03 | |
| | ||||
* | py: make closures work. | Damien George | 2013-12-30 | |
| | ||||
* | Change object representation from 1 big union to individual structs. | Damien | 2013-12-21 | |
| | | | | | | | | | | 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). | |||
* | py: remove further unnecessary emit_verbatim code. | Damien | 2013-12-12 | |
| | ||||
* | py: work towards working closures. | Damien | 2013-12-11 | |
| | ||||
* | Make byte code jumps relative. | Damien | 2013-11-05 | |
| | ||||
* | Byte code for SMALL_INT uses 3 bytes for integer. | Damien | 2013-11-04 | |
| | ||||
* | Add local_num skeleton framework to deref/closure emit calls. | Damien | 2013-10-20 | |
| | ||||
* | Remove line in emitbc.c to print code size. | Damien | 2013-10-18 | |
| | ||||
* | Implement BC & runtime support for generator/yielding. | Damien | 2013-10-16 | |
| | ||||
* | Separate out mpy core and unix version. | Damien | 2013-10-12 | |
| | ||||
* | Simplify and improve function & method calling. | Damien | 2013-10-10 | |
| | ||||
* | Implement basic class/object in native code. | Damien | 2013-10-10 | |
| | ||||
* | Implement basic class/object functionality in runtime. | Damien | 2013-10-09 | |
| | ||||
* | Add support for inline thumb assembly. | Damien | 2013-10-05 | |
| | ||||
* | Implement built-in decorators to select emit type. | Damien | 2013-10-05 | |
| | ||||
* | Factorise EMIT_COMMON calls, mostly into emit_pass1. | Damien | 2013-10-05 | |
| | ||||
* | Compiler computes labels and max_num_labels. | Damien | 2013-10-05 | |
| | ||||
* | Further factorise PASS_1 out of specific emit code. | Damien | 2013-10-05 | |
| | ||||
* | Restructure emit so it goes through a method table. | Damien | 2013-10-05 | |
| | ||||
* | Initial commit. | Damien | 2013-10-04 | |