286 Commits (7679e3be96f7e0996faa89678beaf423d7c25999)

Author SHA1 Message Date
Paul Sokolovsky 2039757b85 vm: Initial support for calling bytecode functions w/o C stack ("stackless"). 10 years ago
stijn 28fa84b445 py: Add optional support for descriptors' __get__ and __set__ methods. 10 years ago
Damien George 5e1d993f54 py: Clean up some logic in VM to remove assert(0)'s. 10 years ago
Damien George 12d6d777e1 py: Small optimisation of logic flow in BC_WITH_CLEANUP bytecode. 10 years ago
Damien George 596f41da04 py: Reuse value stack in VM WITH_CLEANUP opcode to reduce C-stack size. 10 years ago
Damien George 7d414a1b52 py: Parse big-int/float/imag constants directly in parser. 10 years ago
Damien George dab1385177 py: Add load_const_obj to emitter, add LOAD_CONST_OBJ to bytecode. 10 years ago
Damien George 7ee91cf861 py: Add option to cache map lookup results in bytecode. 10 years ago
Damien George b4b10fd350 py: Put all global state together in state structures. 10 years ago
Damien George 51dfcb4bb7 py: Move to guarded includes, everywhere in py/ core. 10 years ago
Damien George f89d659e3b py: In VM, for selective ip saving, store 1 byte past last opcode. 10 years ago
Paul Sokolovsky 749575097f vm: Record exception ip only for instructions where exceptions may happen. 10 years ago
Damien George 74eb44c392 py: Reduce size of VM exception stack element by 1 machine word. 10 years ago
Damien George 7764f163fa py: Fix label printing in showbc; print sp in vm trace. 10 years ago
Damien George cd97a43f8d py, vm: Make unum a local variable for each opcode that uses it. 10 years ago
Damien George b0b0012fd8 py: Fix VM dispatch following a pending exception check. 10 years ago
Damien George 124df6f8d0 py: Add mp_pending_exception global variable, for VM soft interrupt. 10 years ago
Damien George 8456cc017b py: Compress load-int, load-fast, store-fast, unop, binop bytecodes. 10 years ago
Damien George b534e1b9f1 py: Use variable length encoded uints in more places in bytecode. 10 years ago
Damien George b427d6ae86 py: Fix line number printing for file with 1 line. 10 years ago
Damien George 4747becc64 py: Improve encoding scheme for line-number to bytecode map. 10 years ago
Damien George 40f3c02682 Rename machine_(u)int_t to mp_(u)int_t. 11 years ago
Damien George aabd83ea20 py: Merge mp_execute_bytecode into fun_bc_call. 11 years ago
Marcus von Appen 0c90eb1658 - FreeBSD provides alloca() via stdlib.h, in contrast to Linux and Windows 11 years ago
Paul Sokolovsky 411732e93b vm: If there's no lineno info, set lineno in traceback to 0, not 1. 11 years ago
Damien George 3ebd4d0cae py: Add option to disable set() object (enabled by default). 11 years ago
Damien George fb510b3bf9 Rename bultins config variables to MICROPY_PY_BUILTINS_*. 11 years ago
Damien George c60a261ef0 py, vm: Replace save_ip, save_sp with code_state->{ip, sp}. 11 years ago
Damien George 5b5562c1d1 py: Fix stack underflow with optimised for loop. 11 years ago
Paul Sokolovsky b4ebad3310 vm: Factor out structure with code execution state and pass it around. 11 years ago
Paul Sokolovsky b16523aa95 vm: Don't unconditionally allocate state on stack, do that only if needed. 11 years ago
Paul Sokolovsky ff8da0b835 vm: Detect stack underflow in addition to overflow. 11 years ago
Paul Sokolovsky 1f07b7e3c3 py: Reformat few long functions argument lists for clarity. 11 years ago
Damien George 25c84643b6 py: Fix break from within a for loop. 11 years ago
Damien George 503d611033 py: Implement long int parsing in int(...). 11 years ago
Damien George d8675541a9 py, vm: Where possible, make variables local to each opcode. 11 years ago
Paul Sokolovsky afaaf535e6 objslice: Support arbitrary objects start, stop, and step. 11 years ago
Damien George ee3fd46f13 Rename configuration variables controling Python features. 11 years ago
Damien George 58ebde4664 Tidy up some configuration options. 11 years ago
Paul Sokolovsky da9f0924ef py, unix: Add copyright for modules I worked closely on. 11 years ago
Paul Sokolovsky c48d6f7add py: Don't expect that type->getiter() always returns iterator, check for NULL. 11 years ago
Damien George 3417bc2f25 py: Rename byte_code to bytecode everywhere. 11 years ago
Damien George a32c1e41cc py: Improve native emitter; now supports more opcodes. 11 years ago
Damien George 04b9147e15 Add license header to (almost) all files. 11 years ago
Paul Sokolovsky f54bcbf099 py, unix: Make "mpconfig.h" be first included, as other headers depend on it. 11 years ago
Damien George 968bf34c4c py: Remove unnecessary LOAD_CONST_ID bytecode. 11 years ago
Damien George db12891918 py: Eliminate 'op' variable in VM dispatch loop. 11 years ago
Damien George c0dc7c3dfa py, vm: Fix recent bug where state is freed too early. 11 years ago
Damien George d5e8482c4a py, vm: Free heap-allocated state if it was allocated on the heap. 11 years ago
Paul Sokolovsky c5e32c6995 vm: Add rudimentary bytecode execution tracing capability. 11 years ago