Alexander Steffen
55f33240f3
all: Use the name MicroPython consistently in comments
There were several different spellings of MicroPython present in comments,
when there should be only one.
7 years ago
Damien George
93ee6603b1
py/asm: Fix x86 and ARM assemblers due to recent code refactoring.
8 years ago
Damien George
155fdc74d5
py/asm: Remove need for dummy_data when doing initial assembler passes.
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).
8 years ago
Damien George
612599587b
py: Factor out common code from assemblers into asmbase.[ch].
All assemblers should "derive" from mp_asm_base_t.
8 years ago
Damien George
0786716c5a
py/asmx86: Fix function definition to use int32_t instead of int.
9 years ago
Damien George
567b349c2b
py: Implement native multiply operation in viper emitter.
10 years ago
Damien George
9988618e0e
py: Implement full func arg passing for native emitter.
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.
10 years ago
Paul Sokolovsky
089c3f321e
py/asm*.c: Typo fixes in comments.
10 years ago
Damien George
ff8dd3f486
py, unix: Allow to compile with -Wunused-parameter.
See issue #699 .
10 years ago
Damien George
963a5a3e82
py, unix: Allow to compile with -Wsign-compare.
See issue #699 .
10 years ago
Damien George
d9dc6fff21
py: Allocate memory for assembled code at start of PASS_EMIT.
Previously was allocating at end of PASS_COMPUTE, and this pass was
being run twice, so memory was being allocated twice.
10 years ago
Damien George
51dfcb4bb7
py: Move to guarded includes, everywhere in py/ core.
Addresses issue #1022 .
10 years ago
Damien George
969a6b37bf
py: Make functions static where appropriate.
10 years ago
Damien George
91cfd414c0
py: Implement native load for viper.
Viper can now do: ptr8(buf)[0], which loads a byte from a buffer using
machine instructions.
10 years ago
Damien George
1ef2348df0
py: Implement and,or,xor native ops for viper.
10 years ago
Damien George
3112cde900
py: Implement more binary ops for viper emitter.
This included a bit of restructuring of the assembler backends. Note
that the ARM backend is missing a few functions and won't compile.
10 years ago
Damien George
0b610de017
py: Make macro names in assemblers consistent, and tidy up a bit.
10 years ago
Damien George
d66e48662b
py: Add store r8 and store r16 ops to asm_x86 and asm_x64.
10 years ago
Damien George
6eae861685
py: Put define of x86 argument registers in asmx86.h.
10 years ago
Damien George
25d904105c
py: Adjust regs for x86 so that 1 more local can live in a reg.
10 years ago
Damien George
03281b3850
py: Allow x86 native functions to take arguments.
Fix some bugs with x86 stack and saving registers correctly.
10 years ago
Damien George
c90f59ec3a
py: Add support for emitting native x86 machine code.
10 years ago