342 Commits (55fcb83a42fef108dfa2cd23bae55597d1569f68)

Author SHA1 Message Date
Damien George 55fcb83a42 py/compile: Support multiple inline asm emitters. 6 years ago
Damien George d9d92f27d7 py/compile: Add support to select the native emitter at runtime. 6 years ago
Damien George 1396a026be py: Add support to save native, viper and asm code to .mpy files. 6 years ago
Damien George 01a1f31f67 py/emitnative: Consolidate where HASCONSTS is set to load-const-obj fun. 6 years ago
Damien George 5a2599d962 py: Replace POP_BLOCK and POP_EXCEPT opcodes with POP_EXCEPT_JUMP. 6 years ago
Damien George e1fb03f3e2 py: Fix VM crash with unwinding jump out of a finally block. 6 years ago
Damien George 0779693c23 py/compile: Add optimisation to compile OrderedDict inplace. 6 years ago
Damien George 12ce9f2689 py/compile: Fix handling of unwinding BaseException in async with. 6 years ago
Damien George 4ee2c2a4cd py: Eliminate warnings about unused arguments when debugging disabled. 6 years ago
Damien George eee1e8841a py: Downcase all MP_OBJ_IS_xxx macros to make a more consistent C API. 6 years ago
Damien George deb67569ff py/compile: Swap order of pop_block/pop_except in "except as" handler. 6 years ago
Damien George e328a5d469 py/scope: Optimise scope_find_or_add_id to not need "added" arg. 6 years ago
Damien George ba92c79841 py/compile: Remove unneeded variable from global/nonlocal stmt helpers. 6 years ago
Damien George 9201f46cc8 py/compile: Fix case of eager implicit conversion of local to nonlocal. 6 years ago
Damien George cc2bd63c57 py/emitnative: Implement yield and yield-from in native emitter. 6 years ago
Damien George 7d4b6cc868 py/emitnative: Place const objs for native code in separate const table. 6 years ago
Damien George b01f66c5f1 py: Shorten error messages by using contractions and some rewording. 6 years ago
Damien George 93d71c5436 py/emitnative: Make viper funcs run with their correct globals context. 6 years ago
Damien George 43f1848bfa py: Make viper functions have the same entry signature as native. 6 years ago
Damien George 9f2067288a py/compile: Factor code that compiles viper type annotations. 6 years ago
Damien George a169a5848c py/compile: Merge viper annotation and normal param compilation stages. 6 years ago
Damien George 80db30a510 py/emit: Completely remove set_native_type, arg type is set in compiler. 6 years ago
Damien George 07caf4f969 py/emit: Remove need to call set_native_type to set viper return type. 6 years ago
Damien George 1d7c221b30 py/emit: Remove need to call set_native_type to set native/viper mode. 6 years ago
Damien George 4f3d9429b5 py: Fix native functions so they run with their correct globals context. 6 years ago
Damien George 8014e7f15f py/compile: Factor code that compiles start/end of exception handler. 6 years ago
Damien George 4ae7111573 py/emitnative: Add support for return/break/continue in try and with. 6 years ago
Damien George a3de776486 py/emitnative: Optimise and improve exception handling in native code. 6 years ago
Damien George cbec17f2cd py/compile: For dynamic compiler, widen literal 1 to get correct shift. 6 years ago
Damien George d8dc918deb py/compile: Handle return/break/continue correctly in async with. 6 years ago
Damien George 25ae98f07c py/compile: Combine expr, xor_expr and and_expr into one function. 6 years ago
Damien George 36e474e83f py/compile: Combine or_test and and_test compile functions. 6 years ago
Damien George 1a7109d65a py/compile: Combine global and nonlocal statement compile functions. 6 years ago
Damien George d23bec3fc8 py/compile: Combine subscript_2 and subscript_3 into one function. 6 years ago
Damien George c149197928 py/compile: Combine break and continue compile functions. 6 years ago
Damien George 18e6358480 py/emit: Combine setup with/except/finally into one emit function. 7 years ago
Damien George 436e0d4c54 py/emit: Merge build set/slice into existing build emit function. 7 years ago
Damien George d97906ca9a py/emit: Combine import from/name/star into one emit function. 7 years ago
Damien George 8a513da5a5 py/emit: Combine break_loop and continue_loop into one emit function. 7 years ago
Damien George 6211d979ee py/emit: Combine load/store/delete attr into one emit function. 7 years ago
Damien George a4941a8ba4 py/emit: Combine load/store/delete subscr into one emit function. 7 years ago
Damien George d298013939 py/emit: Combine name and global into one func for load/store/delete. 7 years ago
Damien George 26b5754092 py/emit: Combine build tuple/list/map emit funcs into one. 7 years ago
Damien George e686c94052 py/emit: Combine yield value and yield-from emit funcs into one. 7 years ago
Damien George 0a25fff956 py/emit: Combine fast and deref into one function for load/store/delete. 7 years ago
Damien George 828ce16dc8 py/compile: Change comment about ITER_BUF_NSLOTS to a static assertion. 7 years ago
Damien George 7dfa56e40e py/compile: Adjust c_assign_atom_expr() to use return instead of goto. 7 years ago
Damien George 253f2bd7be py/compile: Combine compiler-opt of 2 and 3 tuple-to-tuple assignment. 7 years ago
Damien George 1e5a33df41 py: Convert all uses of alloca() to use new scoped allocation API. 7 years ago
Damien George 487dbdb267 py/compile: Use alloca instead of qstr_build when compiling import name. 7 years ago