268 Commits (451ded8d7b746bf73a1f4a4db500716cb7587257)

Author SHA1 Message Date
Damien George de71035e02 py/emitnative: Put None/False/True in global native const table. 6 years ago
Damien George 6c6050ca43 py/emitnative: Push internal None rather than const obj where possible. 6 years ago
Damien George 7c16bc0406 py/emitnative: Simplify viper mode handling in emit_native_import_name. 6 years ago
Damien George 175739cd37 py/emitnative: Consolidate use of stacked immediate values to one func. 6 years ago
Damien George 6bda951d4d py/emitnative: Remove unused ptr argument from ASM_CALL_IND macro. 6 years ago
Damien George 25571800fc py/asmthumb: Remove unused fun_ptr arg from asm_thumb_bl_ind function. 6 years ago
Damien George 5f1dd5b86b py/asmarm: Simplify asm_arm_bl_ind to only load via index, not literal. 6 years ago
Damien George 006671056d py/emitnative: Load native fun table ptr from const table for all archs. 6 years ago
Damien George 355eb8eafb py/asmx86: Change indirect calls to load fun ptr from the native table. 6 years ago
Damien George 8e4b4bac70 py/asmx64: Change indirect calls to load fun ptr from the native table. 6 years ago
Damien George 34af10d2ef py/emitnative: Clean up unused macro and forward function declarations. 6 years ago
Damien George cc2bd63c57 py/emitnative: Implement yield and yield-from in native emitter. 6 years ago
Damien George 8fec6f5434 py/emitnative: Reorder native state on C stack so nlr_buf_t is first. 6 years ago
Damien George e9012a20f7 py/emitnative: Change type of const_table from uintptr_t to mp_uint_t. 6 years ago
Damien George 7d4b6cc868 py/emitnative: Place const objs for native code in separate const table. 6 years ago
Damien George 30a45360e7 py/asmxtensa: Make indirect calls using func table, not raw pointers. 6 years ago
Damien George 93d71c5436 py/emitnative: Make viper funcs run with their correct globals context. 6 years ago
Damien George f12e039c2b py/emitnative: Use macros instead of raw offsetof for slot locations. 6 years ago
Damien George a676b5acf6 py/emitnative: Support arbitrary number of arguments to viper functions. 6 years ago
Damien George 43f1848bfa py: Make viper functions have the same entry signature as native. 6 years ago
Damien George 460954734e py/emitnative: Reuse mp_native_type_from_qstr when searching for a cast. 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 f2de9d60f7 py/emitnative: Fix try-finally in outer scope, so finally is cancelled. 6 years ago
Damien George 4ae7111573 py/emitnative: Add support for return/break/continue in try and with. 6 years ago
Damien George 3cd2c281d7 py/emitnative: Cancel caught exception once handled to prevent reraise. 6 years ago
Damien George a0a29724c8 py/emitnative: Fix bug with store of 16 and 32 values in viper ARM mode. 6 years ago
Damien George a3de776486 py/emitnative: Optimise and improve exception handling in native code. 6 years ago
Damien George 8c49995398 py/emitnative: Use small tables to simplify handling of local regs. 6 years ago
Damien George 17b512020b py/emitnative: Allocate space for local stack info as it's needed. 6 years ago
Damien George 652a58698e py/emitnative: Simplify handling of exception objects from nlr_buf_t. 6 years ago
Damien George 3bef7bd782 py/emitnative: Fix native locals stack to start at correct location. 6 years ago
Damien George 10830059c5 py/emitnative: Fix x86 native zero checks by comparing full word. 6 years ago
Damien George 4b1e8bdebd py/emitnative: Factor common code for native jump helper. 6 years ago
Damien George 8c9c167dc6 py/emitnative: Optimise for iteration asm code for non-debug build. 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 ef12a4bd05 py: Refactor how native emitter code is compiled with a file per arch. 7 years ago
Damien George 564a95cb04 py/emitnative: Clean up asm macro names so they have dest as first arg. 7 years ago
Damien George c59fc1419d py/emitnative: Simplify binary op emitter, no need to check inplace ops. 7 years ago