268 Commits (451ded8d7b746bf73a1f4a4db500716cb7587257)

Author SHA1 Message Date
Jim Mussared 9714a0ead5 py/emitnative: Fix STORE_ATTR viper code-gen when value is not a pyobj. 2 years ago
Damien George a506335524 py/emit: Suppress unreachable bytecode/native code that follows jump. 2 years ago
Damien George e85a096302 py/emit: Remove logic to detect last-emit-was-return-value. 2 years ago
Damien George a5324a1074 py/asmthumb: Make ARMv7-M instruction use dynamically selectable. 2 years ago
Damien George d4d53e9e11 py/emitnative: Access qstr values using indirection table qstr_table. 3 years ago
Damien George 7883ae413d py/emitnative: Provide dedicated local for exception unwind handler ptr. 3 years ago
Damien George b608964804 py/emitnative: Simplify generation of code that loads prelude pointer. 3 years ago
Damien George 8588525868 py/compile: De-duplicate constant objects in module's constant table. 3 years ago
Damien George 1fb01bd6c5 py/emitnative: Put a pointer to the native prelude in child_table array. 3 years ago
Damien George 1762990579 py/bc: Provide separate code-state setup funcs for bytecode and native. 3 years ago
Damien George b8d959d6cf Revert "py/emitnative: Don't store prelude at end of machine code if..." 3 years ago
David Lechner 1e99d29f36 py/runtime: Allow multiple **args in a function call. 5 years ago
Damien George 7e8222ae06 py/emitnative: Don't store prelude at end of machine code if not needed. 3 years ago
Damien George 538c3c0a55 py: Change jump opcodes to emit 1-byte jump offset when possible. 3 years ago
Damien George f2040bfc7e py: Rework bytecode and .mpy file format to be mostly static data. 3 years ago
Damien George 426785a19e py/emitnative: Ensure load_subscr does not clobber existing REG_RET. 3 years ago
Jim Mussared 0e3752e82a py/emitnative: Ensure stack settling is safe mid-branch. 3 years ago
Damien George d0227d5862 py/emitnative: Reuse need_reg_all func in need_stack_settled. 3 years ago
Damien George 5176a2d732 py/emitnative: Fix x86-64 emitter to generate correct 8/16-bit stores. 4 years ago
graham sanderson 794df0f1d5 py/emitnative: Support binary ops on ARMv6M without use of ite instr. 4 years ago
Damien George c9f4c5acd6 py/emitnative: Ensure encoding to load prelude_offset doesn't change sz. 4 years ago
Damien George 41fa8b5482 py/emitnative: Implement binary operations for viper uint operands. 4 years ago
Jim Mussared def76fe4d9 all: Use MP_ERROR_TEXT for all error messages. 5 years ago
Damien George 69661f3343 all: Reformat C and Python source code with tools/codeformat.py. 5 years ago
Damien George a1b18b3ba7 py: Removing dangling "else" to improve code format consistency. 5 years ago
Jim Mussared 888ddb81dd py/emitnative: Stop after finding an unwind target. 5 years ago
Jim Mussared 0de304e7da py/emitnative: Use NULL for pending exception (not None). 5 years ago
Damien George 360d972c16 py/nativeglue: Add new header file with native function table typedef. 5 years ago
Thea Flowers f0e4677f0d py/emitnative: Fix typo, REG_PARENT_ARG_RET should be REG_PARENT_RET. 5 years ago
Damien George 9adedce42e py: Add new Xtensa-Windowed arch for native emitter. 5 years ago
Damien George 306ec5369a py/emitnative: Add support for archs that cannot read executable data. 5 years ago
Damien George 3504edc804 py/emitnative: Add support for using setjmp with native emitter. 5 years ago
Damien George 4107597b84 py/emitnative: Add support for archs with windowed registers. 5 years ago
Damien George c8c0fd4ca3 py: Rework and compress second part of bytecode prelude. 5 years ago
Damien George b5ebfadbd6 py: Compress first part of bytecode prelude. 5 years ago
Damien George 81d04a0200 py: Add n_state to mp_code_state_t struct. 5 years ago
Damien George b596638b9b mpy-cross: Set number of registers in nlr_buf_t based on native arch. 5 years ago
Damien George 74503107a7 py/emitnative: Factor sizeof/offsetof calculations to macros. 5 years ago
Damien George a4f1d82757 py/nativeglue: Remove dependency on mp_fun_table in dyn-compiler mode. 6 years ago
Jun Wu 089c9b71d1 py: remove "if (0)" and "if (false)" branches. 6 years ago
Damien George 5ea38e4d74 py/native: Improve support for bool type in viper functions. 6 years ago
Damien George d9d92f27d7 py/compile: Add support to select the native emitter at runtime. 6 years ago
Damien George 3b973a5658 py: Move mp_native_type_from_qstr() from emitnative.c to nativeglue.c. 6 years ago
Damien George 1396a026be py: Add support to save native, viper and asm code to .mpy files. 6 years ago
Damien George 3986820912 py/emitnative: Adjust accounting of size of const_table. 6 years ago
Damien George 205edb4305 py/emitnative: Provide concentrated points of qstr emit. 6 years ago
Damien George 01a1f31f67 py/emitnative: Consolidate where HASCONSTS is set to load-const-obj fun. 6 years ago
Damien George 02cc288edb py: Add independent config for debugging sentinel object values. 6 years ago
Damien George 5a2599d962 py: Replace POP_BLOCK and POP_EXCEPT opcodes with POP_EXCEPT_JUMP. 6 years ago
Damien George 4ee2c2a4cd py: Eliminate warnings about unused arguments when debugging disabled. 6 years ago