summaryrefslogtreecommitdiffstatshomepage
path: root/py/asmx86.h
Commit message (Collapse)AuthorAge
* py/asm: Remove need for dummy_data when doing initial assembler passes.Damien George2016-12-09
| | | | | | | | 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).
* py: Move arch-specific assembler macros from emitnative to asmXXX.h.Damien George2016-12-09
|
* py: Factor out common code from assemblers into asmbase.[ch].Damien George2016-11-28
| | | | All assemblers should "derive" from mp_asm_base_t.
* py: Implement native multiply operation in viper emitter.Damien George2015-06-04
|
* py: Implement full func arg passing for native emitter.Damien George2015-04-07
| | | | | | | | | | | 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.
* py: Add guarded includes for asm-based headers.Damien George2015-01-01
|
* py: Implement native load for viper.Damien George2014-10-12
| | | | | Viper can now do: ptr8(buf)[0], which loads a byte from a buffer using machine instructions.
* py: Implement and,or,xor native ops for viper.Damien George2014-10-12
|
* py: Implement more binary ops for viper emitter.Damien George2014-09-29
| | | | | This included a bit of restructuring of the assembler backends. Note that the ARM backend is missing a few functions and won't compile.
* py: Make macro names in assemblers consistent, and tidy up a bit.Damien George2014-09-29
|
* py: Add store r8 and store r16 ops to asm_x86 and asm_x64.Damien George2014-09-29
|
* py: Put define of x86 argument registers in asmx86.h.Damien George2014-09-08
|
* py: Clean up x86-64 native assembler; allow use of extended regs.Damien George2014-09-07
| | | | Native x86-64 now has 3 locals in registers.
* py: Adjust regs for x86 so that 1 more local can live in a reg.Damien George2014-09-06
|
* py: Allow x86 native functions to take arguments.Damien George2014-09-06
| | | | Fix some bugs with x86 stack and saving registers correctly.
* py: Add support for emitting native x86 machine code.Damien George2014-09-06