| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Define MICROPY_NO_ALLOCA=1 and memory will be allocated from heap instead
and freed by garbage collection.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- add mp_int_t/mp_uint_t typedefs in mpconfigport.h
- fix integer suffixes/formatting in mpconfig.h and mpz.h
- use MICROPY_NLR_SETJMP=1 in Makefile since the current nlrx64.S
implementation causes segfaults in gc_free()
- update README
|
| |
|
|
|
|
|
| |
This patch checks that there is only one *, and that ** is last in the
arg list.
|
|
|
|
| |
Fixes issue #1623.
|
| |
|
|
|
|
|
| |
Loading .mpy files will now check to make sure that the target VM can
support the bytecode.
|
| |
|
|
|
|
|
| |
%f prints true integer digit, so its calculation should happen before any
exponential scaling.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This takes previous IEEE-754 single precision float implementation, and
converts it to fully portable parametrizable implementation using C99
functions like signbit(), isnan(), isinf(). As long as those functions
are available (they can be defined in adhoc manner of course), and
compiler can perform standard arithmetic and comparison operations on a
float type, this implementation will work with any underlying float type
(including types whose mantissa is larger than available intergral integer
type).
|
|
|
|
|
| |
This may not seem like the ideal place, but is actually the only place
in py/ where it gets referenced, so is just right.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This can then be passed to mp_raw_code_save_file to save a .mpy file.
|
| |
|
|
|
|
|
|
|
|
| |
This change makes the code behave how it was supposed to work when first
written. The avail_slot variable is set to the first free slot when
looking for a key (which would come from deleting an entry). So it's
more efficient (for subsequent lookups) to insert a new key into such a
slot, rather than the very last slot that was searched.
|
|
|
|
| |
It can change asynchronously.
|
|
|
|
|
|
| |
Will be included only when MICROPY_PY_MATH_SPECIAL_FUNCTIONS is enabled.
Also covers cmath module (but only log10 is there at the moment).
|
| |
|
|
|
|
|
| |
Parameter lists can't be nested so there is no need to save the global
state when compiling them.
|
| |
|
| |
|
|
|
|
|
| |
It's safer to define it where it's used, defining it for all source files
may lead to hard to diagnose conflicts in corner cases.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
Main changes when MICROPY_PERSISTENT_CODE is enabled are:
- qstrs are encoded as 2-byte fixed width in the bytecode
- all pointers are removed from bytecode and put in const_table (this
includes const objects and raw code pointers)
Ultimately this option will enable persistence for not just bytecode but
also native code.
|
|
|
|
|
| |
Contains just argument names at the moment but makes it easy to add
arbitrary constants.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the only place that clears the bit is in gc_collect.
So if a block with a finalizer is allocated, and subsequently
freed, and then the block is reallocated with no finalizer then
the bit remains set.
This could also be fixed by having gc_alloc clear the bit, but
I'm pretty sure that free is called way less than alloc, so doing
it in free is more efficient.
|
|
|
|
|
|
|
|
|
|
| |
This patch adds/subtracts a constant from the 30-bit float representation
so that str/qstr representations are favoured: they now have all the high
bits set to zero. This makes encoding/decoding qstr strings more
efficient (and they are used more often than floats, which are now
slightly less efficient to encode/decode).
Saves about 300 bytes of code space on Thumb 2 arch.
|
|
|
|
|
|
| |
py/mphal.h contains declarations for generic mp_hal_XXX functions, such
as stdio and delay/ticks, which ports should provide definitions for. A
port will also provide mphalport.h with further HAL declarations.
|
|
|
|
|
|
|
| |
This makes format specifiers ~ fully compatible with CPython.
Adds 24 bytes for stmhal port (because previosuly we had to catch and report
it's unsupported to user).
|
|
|
|
| |
As per ARM convention.
|
|
|
|
|
| |
This script may be called by Windows IDEs (e.g. Visual Studio) and be passed
paths with backslashes.
|
|
|
|
|
| |
Based on the original patch by Galen Hazelwood:
https://github.com/micropython/micropython/pull/1517 .
|
|
|
|
|
|
|
|
|
|
|
| |
Scenario: module1 depends on some common file from lib/, so specifies it
in its SRC_MOD, and the same situation with module2, then common file
from lib/ eventually ends up listed twice in $(OBJ), which leads to link
errors.
Make is equipped to deal with such situation easily, quoting the manual:
"The value of $^ omits duplicate prerequisites, while $+ retains them and
preserves their order." So, just use $^ consistently in all link targets.
|
| |
|