149 Commits (6ab2c5e6cc6359c3419a9d8ee61b4e586864d048)

Author SHA1 Message Date
Damien George a5624bf381 py: Combine 3 comprehension emit functions (list/dict/set) into 1. 8 years ago
Damien George 581a59a456 py: Rename struct mp_code_state to mp_code_state_t. 8 years ago
Damien George 23df4b08fb py/emitnative: Use MP_OBJ_NEW_SMALL_INT instead of manual bit shifting. 9 years ago
Damien George 2c915e1ae6 py: Implement basic with support in native emitter. 9 years ago
Damien George ce8b4e8749 py: Combine continuous block of emit steps into with_cleanup emit call. 9 years ago
Damien George 9598f36a84 py/emitnative: Add check that RHS of viper store is of integral type. 9 years ago
Damien George a2e5e4c3d8 py/viper: Allow uint as index to load/store, and give better error msg. 9 years ago
Damien George 5f3e005b67 py: Extend native type-sig to use 4 bits, so uint is separate to ptr. 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 5d66b427e2 py/emit: Change type of arg of load_const_obj from void* to mp_obj_t. 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 fcce1483fa py: Fix build of ARM native emitter due to recent viper changes. 9 years ago
Damien George b8f9ac5411 py: Implement ptr32 load and store in viper emitter. 9 years ago
Damien George 9f5f156b9d py/emitnative: Raise ViperTypeError for unsupported unary ops. 9 years ago
Damien George fbcaf0ea18 py: Slightly simplify compile and emit of star/double-star arguments. 9 years ago
Damien George c39093d801 py: In native ARM emitter, load r7 with table earlier in func prelude. 9 years ago
Damien George 84d59c2873 py: For viper compile errors, add traceback with function and filename. 9 years ago
Damien George f17e663493 py: Issue an error when compiling Viper functions with more than 4 args. 9 years ago
Damien George 59fba2d6ea py: Remove mp_load_const_bytes and instead load precreated bytes object. 10 years ago
Damien George ed570e4b2a py: Remove mp_load_const_str and replace uses with inlined version. 10 years ago
Damien George 567b349c2b py: Implement native multiply operation in viper emitter. 10 years ago
Damien George 4d9cad180d py: Implement implicit cast to obj for viper load/store index/value. 10 years ago
Paul Sokolovsky 351424e719 emitnative: Revamp ARM codegen compile after full-arg support refactors. 10 years ago
Damien George 9a42eb541e py: Fix naming of function arguments when function is a closure. 10 years ago
Damien George 8f6aad2f48 py/emitnative.c: Fix stack adjustment when erroring on binary op. 10 years ago
Damien George c8b60f013b py: Make viper codegen raise proper exception (ViperTypeError) on error. 10 years ago
Damien George 044c473de2 py: Add %q format support to mp_[v]printf, and use it. 10 years ago
Damien George e72cda99fd py: Convert occurrences of non-debug printf to mp_printf. 10 years ago
Damien George 9988618e0e py: Implement full func arg passing for native emitter. 10 years ago
Damien George 78772ada0d py: Implement calling functions with *args in native emitter. 10 years ago
Damien George fa5950eb00 py: Fix bug in native emitter when closing over an argument. 10 years ago
Damien George 99957384ea py: Get native emitter working again with x86 (now supports closures). 10 years ago
Damien George 4cd9ced8dc py: Implement closures in native code generator. 10 years ago
Damien George 2cc5473021 py: Implement (non-compliant) support for delete_fast in native emitter. 10 years ago
Damien George 2686f9b3e8 py: Fix emitnative's creation of small ints so it uses the macro. 10 years ago
Damien George 51229afbde py: Increase fixed size of stack-info in native emitter. 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 1a6721fefd py: Remove obsolete MP_F_LOAD_CONST_{INT,DEC} from emitnative.c. 10 years ago
Damien George 7d414a1b52 py: Parse big-int/float/imag constants directly in parser. 10 years ago
Damien George 3da677e658 py: Implement Ellipsis object in native emitter. 10 years ago
Damien George 32444b759a py: Don't use anonymous unions, name them instead. 10 years ago
Damien George b6e6b5277f py: Implement proper re-raising in native codegen's finally handler. 10 years ago
Damien George ff8dd3f486 py, unix: Allow to compile with -Wunused-parameter. 10 years ago
Damien George 0abb5609b0 py: Remove unnecessary id_flags argument from emitter's load_fast. 10 years ago
Damien George 2127e9a844 py, unix: Trace root pointers with native emitter under unix port. 10 years ago
Damien George dab1385177 py: Add load_const_obj to emitter, add LOAD_CONST_OBJ to bytecode. 10 years ago