aboutsummaryrefslogtreecommitdiff
path: root/py/vm.c
AgeCommit message (Collapse)Author
2014-01-19py: Add full traceback to exception printing.Damien George
2014-01-19py: Add module/function/class name to exceptions.Damien George
Exceptions know source file, line and block name. Also tidy up some debug printing functions and provide a global flag to enable/disable them.
2014-01-19py: Temporary fix for bug where not enough VM state is allocated.Damien George
2014-01-18py: Fix VM/runtime unpack sequence bug, Issue #193.Damien George
2014-01-18Add source file name and line number to error messages.Damien George
Byte code has a map from byte-code offset to source-code line number, used to give better error messages.
2014-01-18Make VM stack grow upwards, and so no reversed args arrays.Damien George
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.
2014-01-17Implement LOAD_CONST_INT (by dispatching to int object implementation).Paul Sokolovsky
2014-01-13sortedJohn R. Lenton
2014-01-11Merge branch 'master' of github.com:dpgeorge/micropythonDamien George
2014-01-11py: Make arg to MP_BC_RAISE_VARARGS a byte.Damien George
2014-01-11unified the bopsJohn R. Lenton
2014-01-11Crude attempt to implement RAISE_VARARGS (with args=1 so far only).Paul Sokolovsky
2014-01-06Use constructor to create small int (avoid exposing mp_obj_t internals to VM).Paul Sokolovsky
2014-01-04Add ellipsis object.Damien George
2014-01-04slice: Allow building with MICROPY_ENABLE_SLICE=0.Paul Sokolovsky
2014-01-04Implement BUILD_SLICE opcode (2-arg version).Paul Sokolovsky
2014-01-02py: change negative array indices with array - 1.Damien George
2014-01-02Add quick impl for MP_BC_LOAD_CONST_BYTES which just creates qstr so far.Paul Sokolovsky
This is based on the fact that qstr so far behaves more like byte string than like Unicode string (for example, "012"[0] returns 48 (int)).
2013-12-30py: make closures work.Damien George
2013-12-29py: implement POP_BLOCK in VM.Damien
2013-12-29py: implement some basic exception matching.Damien
2013-12-29Add code in VM to handle nested exceptions correctly.Damien
2013-12-21Change object representation from 1 big union to individual structs.Damien
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).
2013-12-17py: split runtime into map, obj, builtin.Damien
2013-12-11py: work towards working closures.Damien
2013-12-10py: add skeletal import functionality.Damien
2013-11-26py: add UNPACK_SEQUENCE and keyword methods to VM.Damien
2013-11-09Add JUMP_IF_x_OR_POP opcodes to VM.Damien
2013-11-05Improve allocation of stack for byte code.Damien
2013-11-05Make byte code jumps relative.Damien
2013-11-04Byte code for SMALL_INT uses 3 bytes for integer.Damien
2013-11-02Add basic complex number support.Damien
2013-11-02Implement: str.join, more float support, ROT_TWO in VM.Damien
2013-10-16Add SET_ADD opcode to VM.Damien
2013-10-16Add MAP_ADD opcode to VM.Damien
2013-10-16Implement BC & runtime support for generator/yielding.Damien
2013-10-16Support tuples and list comprehension, albeit crude.Damien
2013-10-15Crude try-except working.Damien
2013-10-15Implement basic exception framework, and simple for loop.Damien
2013-10-12Separate out mpy core and unix version.Damien
2013-10-10Simplify and improve function & method calling.Damien
2013-10-09Implement basic class/object functionality in runtime.Damien
2013-10-05Further factorise PASS_1 out of specific emit code.Damien