Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | all: Use the name MicroPython consistently in comments | Alexander Steffen | 2017-07-31 |
| | | | | | There were several different spellings of MicroPython present in comments, when there should be only one. | ||
* | various: Spelling fixes | Ville Skyttä | 2017-05-29 |
| | |||
* | py/asm: Remove need for dummy_data when doing initial assembler passes. | Damien George | 2016-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/asmthumb: Fix build for F7 MCUs after recent code refactoring. | Damien George | 2016-11-30 |
| | |||
* | py: Factor out common code from assemblers into asmbase.[ch]. | Damien George | 2016-11-28 |
| | | | | All assemblers should "derive" from mp_asm_base_t. | ||
* | py/asmthumb: Flush D-cache, and invalidate I-cache on STM32F7. | Antonin ENFRUN | 2016-09-09 |
| | | | | | | Tested on a STM32F7DISCO at 216MHz. All tests generating code (inlineasm, native, viper) now pass, except pybnative/while.py, but that's because there is no LED(2). | ||
* | py/asmthumb: Allow to compile with -Wsign-compare and -Wunused-parameter. | Damien George | 2015-11-09 |
| | |||
* | py: Implement full func arg passing for native emitter. | Damien George | 2015-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: In inline assembler, fix branch out-of-range error reporting. | Damien George | 2015-03-02 |
| | | | | | Should only give an error on the last pass of the assembler, since that's when we are certain about the branch size. | ||
* | py: For inline assembler, add bcc_n and bcc_w ops. | Damien George | 2015-03-02 |
| | | | | Addresses issue #1143. | ||
* | py: Make inline assembler raise exception when branch not in range. | Damien George | 2015-02-25 |
| | | | | Addresses issue #1132. | ||
* | py: Make more asmthumb functions inline to reduce code size. | Damien George | 2015-02-24 |
| | |||
* | py: Implement bl/bx instructions for inline Thumb assembler. | Damien George | 2015-02-16 |
| | |||
* | py: Fix loading of immediate pointer in Thumb assembler. | Damien George | 2015-02-15 |
| | | | | Addresses issue #1117. | ||
* | py: Allocate memory for assembled code at start of PASS_EMIT. | Damien George | 2015-01-14 |
| | | | | | Previously was allocating at end of PASS_COMPUTE, and this pass was being run twice, so memory was being allocated twice. | ||
* | py: Move to guarded includes, everywhere in py/ core. | Damien George | 2015-01-01 |
| | | | | Addresses issue #1022. | ||
* | py: Make macro names in assemblers consistent, and tidy up a bit. | Damien George | 2014-09-29 |
| | |||
* | py: In asmthumb, clean up unit/int types and ite ops. | Damien George | 2014-09-29 |
| | |||
* | Add cache flush in py/asmarm.c and add new MP_PLAT_ALLOC_EXEC and ↵ | Fabian Vogt | 2014-09-03 |
| | | | | | | MP_PLAT_FREE_EXEC macros Fixes issue #840 | ||
* | py: Fix bug where GC collected native/viper/asm function data. | Damien George | 2014-08-24 |
| | | | | | | | | Because (for Thumb) a function pointer has the LSB set, pointers to dynamic functions in RAM (eg native, viper or asm functions) were not being traced by the GC. This patch is a comprehensive fix for this. Addresses issue #820. | ||
* | py: Code clean-up in native emitter; improve thumb native calls. | Damien George | 2014-08-16 |
| | |||
* | Rename machine_(u)int_t to mp_(u)int_t. | Damien George | 2014-07-03 |
| | | | | See discussion in issue #50. | ||
* | py: Include mpconfig.h before all other includes. | Paul Sokolovsky | 2014-06-21 |
| | | | | | | It defines types used by all other headers. Fixes #691. | ||
* | py, emitters: Fix dummy_data size for bytecode and thumb. | Damien George | 2014-05-10 |
| | | | | | | | Thumb uses a bit less RAM, bytecode uses a tiny bit more, to avoid overflow of the dummy buffer in certain cases. Addresses issue #599. | ||
* | py: Fix stack access in thumb native emitter. | Damien George | 2014-05-07 |
| | |||
* | py, compiler: Improve passes; add an extra pass for native emitter. | Damien George | 2014-05-07 |
| | |||
* | Add license header to (almost) all files. | Damien George | 2014-05-03 |
| | | | | | | | Blanket wide to all .c and .h files. Some files originating from ST are difficult to deal with (license wise) so it was left out of those. Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/. | ||
* | py: Add 'align' and 'data' meta-instructions to inline assembler. | Damien George | 2014-04-21 |
| | |||
* | inlinethumb: Add wfi, cpsid and cpsie instructions. | Damien George | 2014-04-18 |
| | |||
* | py: Big improvements to inline assembler. | Damien George | 2014-04-13 |
| | | | | | | | | | Improved the Thumb assembler back end. Added many more Thumb instructions to the inline assembler. Improved parsing of assembler instructions and arguments. Assembler functions can now be passed the address of any object that supports the buffer protocol (to get the address of the buffer). Added an example of how to sum numbers from an array in assembler. | ||
* | py: Improve inline assembler; improve compiler constant folding. | Damien George | 2014-04-12 |
| | |||
* | py: Make labels unsigned ints (converted from int). | Damien George | 2014-04-10 |
| | | | | | Labels should never be negative, and this modified type signature reflects that. | ||
* | py: Improve inline assembler; add a few more opcodes. | Damien George | 2014-04-08 |
| | |||
* | py: Clean up includes. | xbe | 2014-03-17 |
| | | | | Remove unnecessary includes. Add includes that improve portability. | ||
* | Replace global "static" -> "STATIC", to allow "analysis builds". Part 2. | Paul Sokolovsky | 2014-02-12 |
| | |||
* | Improve configurability for native x64/thumb emitter. | Damien George | 2014-01-04 |
| | | | | | | With MICROPY_EMIT_X64 and MICROPY_EMIT_THUMB disabled, the respective emitters and assemblers will not be included in the code. This can significantly reduce binary size for unix version. | ||
* | Change memory allocation API to require size for free and realloc. | Damien | 2013-12-29 |
| | |||
* | Change object representation from 1 big union to individual structs. | Damien | 2013-12-21 |
| | | | | | | | | | | A big change. Micro Python objects are allocated as individual structs with the first element being a pointer to the type information (which is itself an object). This scheme follows CPython. Much more flexible, not necessarily slower, uses same heap memory, and can allocate objects statically. Also change name prefix, from py_ to mp_ (mp for Micro Python). | ||
* | Change some debugging/output messages for native code generation. | Damien | 2013-11-17 |
| | |||
* | Support for for-loop in native thumb. | Damien | 2013-11-03 |
| | |||
* | Implement more thumb branch instructions. | Damien | 2013-11-03 |
| | |||
* | Separate out mpy core and unix version. | Damien | 2013-10-12 |
| | |||
* | Add b_n opcode to inline thumb asm. | Damien | 2013-10-06 |
| | |||
* | Add support for inline thumb assembly. | Damien | 2013-10-05 |
| | |||
* | Incorporate emit_thumb into new emit framework. | Damien | 2013-10-05 |
| | |||
* | Initial commit. | Damien | 2013-10-04 |