- 16 Nov, 2016 1 commit
-
-
Damien George authored
-
- 12 Oct, 2016 1 commit
-
-
Damien George authored
-
- 04 Sep, 2016 1 commit
-
-
Chris Packham authored
Signed-off-by:
Chris Packham <chris.packham@alliedtelesis.co.nz>
-
- 26 Aug, 2016 1 commit
-
-
Damien George authored
-
- 12 May, 2016 1 commit
-
-
Paul Sokolovsky authored
Actual loading of .mpy files isn't tested.
-
- 13 Apr, 2016 3 commits
-
-
Damien George authored
The config variable MICROPY_MODULE_FROZEN is now made of two separate parts: MICROPY_MODULE_FROZEN_STR and MICROPY_MODULE_FROZEN_MPY. This allows to have none, either or both of frozen strings and frozen mpy files (aka frozen bytecode).
-
Damien George authored
-
Damien George authored
It's needed by frozen bytecode.
-
- 07 Mar, 2016 1 commit
-
-
Markus Fix authored
-
- 25 Feb, 2016 1 commit
-
-
Damien George authored
This new compile-time option allows to make the bytecode compiler configurable at runtime by setting the fields in the mp_dynamic_compiler structure. By using this feature, the compiler can generate bytecode that targets any MicroPython runtime/VM, regardless of the host and target compile-time settings. Options so far that fall under this dynamic setting are: - maximum number of bits that a small int can hold; - whether caching of lookups is used in the bytecode; - whether to use unicode strings or not (lexer behaviour differs, and therefore generated string constants differ).
-
- 27 Jan, 2016 1 commit
-
-
Damien George authored
Supported return types are: object, bool, int, uint. For example: @micropython.asm_thumb def foo(r0, r1) -> uint: add(r0, r0, r1)
-
- 13 Jan, 2016 1 commit
-
-
Damien George authored
-
- 08 Jan, 2016 1 commit
-
-
Damien George authored
Need to record in .mpy file whether unicode is enabled, and how many bits are in a small int.
-
- 18 Dec, 2015 1 commit
-
-
Damien George authored
-
- 29 Nov, 2015 3 commits
-
-
Damien George authored
This allows the mp_obj_t type to be configured to something other than a pointer-sized primitive type. This patch also includes additional changes to allow the code to compile when sizeof(mp_uint_t) != sizeof(void*), such as using size_t instead of mp_uint_t, and various casts.
-
Damien George authored
-
Damien George authored
-
- 23 Nov, 2015 2 commits
-
-
Damien George authored
-
Damien George authored
Loading .mpy files will now check to make sure that the target VM can support the bytecode.
-
- 21 Nov, 2015 1 commit
-
-
Paul Sokolovsky authored
This may not seem like the ideal place, but is actually the only place in py/ where it gets referenced, so is just right.
-
- 20 Nov, 2015 2 commits
-
-
Damien George authored
-
Damien George authored
Here we are assuming that a thumb2 port will have fatfs, which is only roughly true. We need a better way of enabling specific raw-code file readers.
-
- 13 Nov, 2015 3 commits
-
-
Damien George authored
MICROPY_PERSISTENT_CODE must be enabled, and then enabling MICROPY_PERSISTENT_CODE_LOAD/SAVE (either or both) will allow loading and/or saving of code (at the moment just bytecode) from/to a .mpy file.
-
Damien George authored
Contains just argument names at the moment but makes it easy to add arbitrary constants.
-
Damien George authored
-
- 07 Apr, 2015 1 commit
-
-
Damien George authored
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.
-
- 24 Jan, 2015 1 commit
-
-
Damien George authored
This makes the code (more) compatible with the C99 standard.
-
- 20 Jan, 2015 1 commit
-
-
Damien George authored
See issue #699.
-
- 14 Jan, 2015 1 commit
-
-
Damien George authored
This helps compiler produce smaller code. Saves 124 bytes on stmhal and bare-arm.
-
- 01 Jan, 2015 1 commit
-
-
Damien George authored
Addresses issue #1022.
-
- 26 Oct, 2014 1 commit
-
-
Paul Sokolovsky authored
Also, move bytecode dumps to -v -v, because they're too verbose for just -v.
-
- 25 Oct, 2014 1 commit
-
-
Damien George authored
This saves a lot of RAM for 2 reasons: 1. For functions that don't have default values, var args or var kw args (which is a large number of functions in the general case), the mp_obj_fun_bc_t type now fits in 1 GC block (previously needed 2 because of the extra pointer to point to the arg_names array). So this saves 16 bytes per function (32 bytes on 64-bit machines). 2. Combining separate memory regions generally saves RAM because the unused bytes at the end of the GC block are saved for 1 of the blocks (since that block doesn't exist on its own anymore). So generally this saves 8 bytes per function. Tested by importing lots of modules: - 64-bit Linux gave about an 8% RAM saving for 86k of used RAM. - pyboard gave about a 6% RAM saving for 31k of used RAM.
-
- 24 Oct, 2014 1 commit
-
-
Damien George authored
Also move the raw bytecode printing code from emitglue to mp_bytecode_print.
-
- 26 Aug, 2014 1 commit
-
-
Damien George authored
With a file with 1 line (and an error on that line), used to show the line as number 0. Now shows it correctly as line number 1. But, when line numbers are disabled, it now prints line number 1 for any line that has an error (instead of 0 as previously). This might end up being confusing, but requires extra RAM and/or hack logic to make it print something special in the case of no line numbers.
-
- 24 Aug, 2014 1 commit
-
-
Damien George authored
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.
-
- 15 Aug, 2014 1 commit
-
-
Damien George authored
Viper functions can now be annotated with the type of their arguments and return value. Eg: @micropython.viper def f(x:int) -> int: return x + 1
-
- 03 Jul, 2014 1 commit
-
-
Damien George authored
See discussion in issue #50.
-
- 21 Jun, 2014 1 commit
-
-
Paul Sokolovsky authored
It defines types used by all other headers. Fixes #691.
-
- 07 Jun, 2014 2 commits
-
-
Damien George authored
Should finish addressing issue #524.
-
Paul Sokolovsky authored
Benefits: won't crash baremetal targets, will provide Python source location when not implemented feature used (it will no longer provide C source location, but just grep for error message).
-