126 Commits (d45e5f8c357d13e66aeac644e2b5ead8c734025f)

Author SHA1 Message Date
Damien George ce8b4e8749 py: Combine continuous block of emit steps into with_cleanup emit call. 9 years ago
Damien George ea23520403 py: Add MICROPY_DYNAMIC_COMPILER option to config compiler at runtime. 9 years ago
Damien George dd5353a405 py: Add MICROPY_ENABLE_COMPILER and MICROPY_PY_BUILTINS_EVAL_EXEC opts. 9 years ago
Damien George bdbe8c9ae2 py: Make UNARY_OP_NOT a first-class op, to agree with Py not semantics. 9 years ago
Damien George 999cedb90f py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR. 9 years ago
Damien George 5d66b427e2 py/emit: Change type of arg of load_const_obj from void* to mp_obj_t. 9 years ago
Damien George d8c834c95d py: Add MICROPY_PERSISTENT_CODE_LOAD/SAVE to load/save bytecode. 9 years ago
Damien George c8e9c0d89a py: Add MICROPY_PERSISTENT_CODE so code can persist beyond the runtime. 9 years ago
Damien George 713ea1800d py: Add constant table to bytecode. 9 years ago
Damien George 3a3db4dcf0 py: Put all bytecode state (arg count, etc) in bytecode. 9 years ago
Damien George 9b7f583b0c py: Reorganise bytecode layout so it's more structured, easier to edit. 10 years ago
Damien George fbcaf0ea18 py: Slightly simplify compile and emit of star/double-star arguments. 9 years ago
Damien George 3a2171e406 py: Eliminate some cases which trigger unused parameter warnings. 9 years ago
Damien George 65dc960e3b unix-cpy: Remove unix-cpy. It's no longer needed. 9 years ago
Damien George 59fba2d6ea py: Remove mp_load_const_bytes and instead load precreated bytes object. 10 years ago
Damien George 9a42eb541e py: Fix naming of function arguments when function is a closure. 10 years ago
Damien George 8872abcbc4 py: Remove LOAD_CONST_ELLIPSIS bytecode, use LOAD_CONST_OBJ instead. 10 years ago
Damien George 8c1d23a0e2 py: Modify bytecode "with" behaviour so it doesn't use any heap. 10 years ago
Damien George e72cda99fd py: Convert occurrences of non-debug printf to mp_printf. 10 years ago
Damien George 91bc32dc16 py: Provide typedefs for function types instead of writing them inline. 10 years ago
Damien George 4dea922610 py: Adjust some spaces in code style/format, purely for consistency. 10 years ago
Damien George c9aa1883ed py: Simplify bytecode prelude when encoding closed over variables. 10 years ago
Damien George 4112590a60 py, compiler: When just bytecode, make explicit calls instead of table. 10 years ago
Damien George a210c774f9 py, compiler: Remove emit_pass1 code, using emit_bc to do its job. 10 years ago
Damien George 542bd6b4a1 py, compiler: Refactor load/store/delete_id logic to reduce code size. 10 years ago
Damien George 63f3832e81 py: Combine emit functions for jump true/false to reduce code size. 10 years ago
Damien George 7d414a1b52 py: Parse big-int/float/imag constants directly in parser. 10 years ago
Damien George ff8dd3f486 py, unix: Allow to compile with -Wunused-parameter. 10 years ago
Damien George 963a5a3e82 py, unix: Allow to compile with -Wsign-compare. 10 years ago
Damien George 0abb5609b0 py: Remove unnecessary id_flags argument from emitter's load_fast. 10 years ago
Damien George d2d64f00fb py: Add "default" to switches to allow better code flow analysis. 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 83204f3406 py: Allow to properly disable builtin slice operation. 10 years ago
Damien George e37dcaafb4 py: Allow to properly disable builtin "set" object. 10 years ago
Damien George 8456cc017b py: Compress load-int, load-fast, store-fast, unop, binop bytecodes. 10 years ago
Damien George 1084b0f9c2 py: Store bytecode arg names in bytecode (were in own array). 10 years ago
Damien George 7ff996c237 py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files. 10 years ago
Damien George b534e1b9f1 py: Use variable length encoded uints in more places in bytecode. 10 years ago
Damien George 2ac4af6946 py: Allow viper to have type annotations. 10 years ago
Damien George 4747becc64 py: Improve encoding scheme for line-number to bytecode map. 10 years ago
Paul Sokolovsky 58c9586c34 emitbc: Fix structure field alignment issue. 10 years ago
Damien George 40f3c02682 Rename machine_(u)int_t to mp_(u)int_t. 11 years ago
Damien George b601d9574a py: Improvements to native emitter. 11 years ago
Paul Sokolovsky 59c675a64c py: Include mpconfig.h before all other includes. 11 years ago
Paul Sokolovsky b8f117dd32 py: For optimization level -O3 and higher, remove lineno info from bytecode. 11 years ago
Damien George 25c84643b6 py: Fix break from within a for loop. 11 years ago
Damien George 0fb80c303a py: Compress a little the bytecode emitter structure. 11 years ago