163 Commits (8b84b8ab8a1e8136b042fe69b530a1fd45c20ae1)

Author SHA1 Message Date
Damien George dd11af209d py: Add LOAD_SUPER_METHOD bytecode to allow heap-free super meth calls. 8 years ago
Damien George 60656eaea4 py: Define and use MP_OBJ_ITER_BUF_NSLOTS to get size of stack iter buf. 8 years ago
Damien George 71a3d6ec3b py: Reduce size of mp_code_state_t structure. 8 years ago
Damien George 8cd4911e63 py/emitnative: Remove obsolete commented out code. 8 years ago
Damien George a5a84e1f85 py/emitnative: Use assertions and mp_not_implemented correctly. 8 years ago
Damien George 30b42dd72d py: Remove unused "use_stack" argument from for_iter_end emit function. 8 years ago
Damien George 088740ecc4 py: Optimise storage of iterator so it takes only 4 slots on Py stack. 8 years ago
Damien George f4df3aaa72 py: Allow bytecode/native to put iter_buf on stack for simple for loops. 9 years ago
Damien George ae8d867586 py: Add iter_buf to getiter type method. 9 years ago
Damien George f51f22dd42 py/emitnative: Remove assert(0)'s or replace with mp_not_implemented. 8 years ago
Damien George 8e5aced1fd py: Integrate Xtensa assembler into native emitter. 8 years ago
Damien George c8746e1e72 py: Move arch-specific assembler macros from emitnative to asmXXX.h. 8 years ago
Damien George 612599587b py: Factor out common code from assemblers into asmbase.[ch]. 8 years ago
Damien George 0f3388de1e py/emitnative: Fix native import emitter when in viper mode. 8 years ago
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