summaryrefslogtreecommitdiff
path: root/py/asmx86.c
AgeCommit message (Collapse)Author
2017-07-31all: Use the name MicroPython consistently in commentsAlexander Steffen
There were several different spellings of MicroPython present in comments, when there should be only one.
2016-12-09py/asm: Fix x86 and ARM assemblers due to recent code refactoring.Damien George
2016-12-09py/asm: Remove need for dummy_data when doing initial assembler passes.Damien George
For all but the last pass the assembler only needs to count how much space is needed for the machine code, it doesn't actually need to emit anything. The dummy_data just uses unnecessary RAM and without it the code is not any more complex (and code size does not increase for Thumb and Xtensa archs).
2016-11-28py: Factor out common code from assemblers into asmbase.[ch].Damien George
All assemblers should "derive" from mp_asm_base_t.
2015-11-27py/asmx86: Fix function definition to use int32_t instead of int.Damien George
2015-06-04py: Implement native multiply operation in viper emitter.Damien George
2015-04-07py: Implement full func arg passing for native emitter.Damien George
This patch gets full function argument passing working with native emitter. Includes named args, keyword args, default args, var args and var keyword args. Fully Python compliant. It reuses the bytecode mp_setup_code_state function to do all the hard work. This function is slightly adjusted to accommodate native calls, and the native emitter is forced a bit to emit similar prelude and code-info as bytecode.
2015-02-14py/asm*.c: Typo fixes in comments.Paul Sokolovsky
2015-01-20py, unix: Allow to compile with -Wunused-parameter.Damien George
See issue #699.
2015-01-16py, unix: Allow to compile with -Wsign-compare.Damien George
See issue #699.
2015-01-14py: Allocate memory for assembled code at start of PASS_EMIT.Damien George
Previously was allocating at end of PASS_COMPUTE, and this pass was being run twice, so memory was being allocated twice.
2015-01-01py: Move to guarded includes, everywhere in py/ core.Damien George
Addresses issue #1022.
2014-12-10py: Make functions static where appropriate.Damien George
2014-10-12py: Implement native load for viper.Damien George
Viper can now do: ptr8(buf)[0], which loads a byte from a buffer using machine instructions.
2014-10-12py: Implement and,or,xor native ops for viper.Damien George
2014-09-29py: Implement more binary ops for viper emitter.Damien George
This included a bit of restructuring of the assembler backends. Note that the ARM backend is missing a few functions and won't compile.
2014-09-29py: Make macro names in assemblers consistent, and tidy up a bit.Damien George
2014-09-29py: Add store r8 and store r16 ops to asm_x86 and asm_x64.Damien George
2014-09-08py: Put define of x86 argument registers in asmx86.h.Damien George
2014-09-06py: Adjust regs for x86 so that 1 more local can live in a reg.Damien George
2014-09-06py: Allow x86 native functions to take arguments.Damien George
Fix some bugs with x86 stack and saving registers correctly.
2014-09-06py: Add support for emitting native x86 machine code.Damien George