summaryrefslogtreecommitdiff
path: root/py/emitnative.c
AgeCommit message (Expand)Author
2025-12-19py/emitnative: Optimise register clearing.Alessandro Gatti
2025-11-04py/emitnative: Generate shorter RV32 code for exception handling.Alessandro Gatti
2025-07-04py/emitnative: Let emitters know the compiled entity's name.Alessandro Gatti
2025-07-01py/asmxtensa: Implement the full set of Viper load/store operations.Alessandro Gatti
2025-07-01py/asmarm: Implement the full set of Viper load/store operations.Alessandro Gatti
2025-07-01py/asmrv32: Implement the full set of Viper load/store operations.Alessandro Gatti
2025-06-10py/asmarm: Extend int-indexed 32-bit load/store offset ranges.Alessandro Gatti
2025-06-10py/emitnative: Remove redundant RV32 Viper int-indexed code.Alessandro Gatti
2025-06-10py/asmxtensa: Extend existing specialised load/store operations range.Alessandro Gatti
2025-06-10py/asmthumb: Extend load/store generators with ARMv7-M opcodes.Alessandro Gatti
2025-06-10py/emitnative: Let Viper int-indexed code use appropriate operands.Alessandro Gatti
2025-05-21py/emitnative: Clean up int-indexed Viper load/store code.Alessandro Gatti
2025-05-21py/emitnative: Refactor Viper register-indexed load/stores.Alessandro Gatti
2025-05-21py/emitnative: Improve Viper register-indexed code for Thumb.Alessandro Gatti
2025-05-21py/emitnative: Improve Viper register-indexed code for Arm.Alessandro Gatti
2025-02-07py/emitnative: Load and store words just once for Viper code.Alessandro Gatti
2025-02-07py/emitnative: Mark condition code tables as const.Alessandro Gatti
2025-01-26py/emitnative: Optimise Viper immediate offset load/stores on Xtensa.Alessandro Gatti
2025-01-26py/emitnative: Emit shorter exception handler entry code on RV32.Alessandro Gatti
2025-01-26py/emitnative: Optimise Viper register offset load/stores on Xtensa.Alessandro Gatti
2024-08-07py/emitnative: Fix case of clobbered REG_TEMP0 when loading const obj.Damien George
2024-06-21py/emitnative: Fix native async with.Damien George
2024-06-21py/emitnative: Place thrown value in dedicated local variable.Damien George
2024-06-21py/emitndebug: Add native debug emitter.Damien George
2024-06-21py/emitnative: Add more DEBUG_printf statements.Damien George
2024-06-21py/emitnative: Emit better load/store sequences for RISC-V RV32IMC.Alessandro Gatti
2024-06-21py/asmrv32: Add RISC-V RV32IMC native code emitter.Alessandro Gatti
2024-03-19py/emitnative: Implement viper unary ops positive, negative and invert.Damien George
2024-03-07all: Remove the "STATIC" macro and just use "static" instead.Angus Gratton
2024-02-20py/emitnative: Simplify layout and loading of native function prelude.Damien George
2024-02-16py/emitglue: Introduce mp_proto_fun_t as a more general mp_raw_code_t.Damien George
2023-09-29py: Change ifdef DEBUG_PRINT to if DEBUG_PRINT.Ihor Nehrutsa
2023-04-27all: Fix spelling mistakes based on codespell check.Damien George
2023-02-27py/emitnative: Explicitly compare comparison ops in binary_op emitter.Pepijn de Vos
2022-12-16py/emitnative: Initialise locals as Python object type for native code.Damien George
2022-11-11py/emitnative: Ensure load_subscr does not clobber existing REG_ARG_2.Damien George
2022-07-12py/emitnative: Fix STORE_ATTR viper code-gen when value is not a pyobj.Jim Mussared
2022-06-20py/emit: Suppress unreachable bytecode/native code that follows jump.Damien George
2022-06-20py/emit: Remove logic to detect last-emit-was-return-value.Damien George
2022-05-23py/asmthumb: Make ARMv7-M instruction use dynamically selectable.Damien George
2022-05-23py/emitnative: Access qstr values using indirection table qstr_table.Damien George
2022-05-19py/emitnative: Provide dedicated local for exception unwind handler ptr.Damien George
2022-05-19py/emitnative: Simplify generation of code that loads prelude pointer.Damien George
2022-05-18py/compile: De-duplicate constant objects in module's constant table.Damien George
2022-05-17py/emitnative: Put a pointer to the native prelude in child_table array.Damien George
2022-05-17py/bc: Provide separate code-state setup funcs for bytecode and native.Damien George
2022-04-14Revert "py/emitnative: Don't store prelude at end of machine code if..."Damien George
2022-03-31py/runtime: Allow multiple **args in a function call.David Lechner
2022-03-30py/emitnative: Don't store prelude at end of machine code if not needed.Damien George
2022-03-28py: Change jump opcodes to emit 1-byte jump offset when possible.Damien George