- 10 Jan, 2015 1 commit
-
-
Damien George authored
Compiler optimises lookup of module.CONST when enabled (an existing feature). Disabled by default; enabled for unix, windows, stmhal. Costs about 100 bytes ROM on stmhal.
-
- 09 Jan, 2015 8 commits
-
-
Paul Sokolovsky authored
Similar to ffi_float.py.
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
This allows to enable mem-info functions in micropython module, even if MICROPY_MEM_STATS is not enabled. In this case, you get mem_info and qstr_info but not mem_{total,current,peak}.
-
Damien George authored
-
Damien George authored
Replaces RUN_TEST=1 definition; now "make test" in qemu-arm directory will run tests/basics/ and check that they all succeed. This patch also enables the test on Travis CI.
-
- 08 Jan, 2015 9 commits
-
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
stijn authored
GC for unix/windows builds doesn't make use of the bss section anymore, so we do not need the (sometimes complicated) build features and code related to it
-
- 07 Jan, 2015 7 commits
-
-
Damien George authored
Since all currently supported boards use pin A9 for this function, the value of the macro MICROPY_HW_USB_VBUS_DETECT_PIN is not actually used, just the fact that it is defined. Addresses issue #1048.
-
Damien George authored
-
Damien George authored
A GC in stmhal port now only scans true root pointers, not entire BSS. This reduces base GC time from 1700ms to 900ms.
-
Paul Sokolovsky authored
-
Damien George authored
This is a simple optimisation inspired by JITing technology: we cache in the bytecode (using 1 byte) the offset of the last successful lookup in a map. This allows us next time round to check in that location in the hash table (mp_map_t) for the desired entry, and if it's there use that entry straight away. Otherwise fallback to a normal map lookup. Works for LOAD_NAME, LOAD_GLOBAL, LOAD_ATTR and STORE_ATTR opcodes. On a few tests it gives >90% cache hit and greatly improves speed of code. Disabled by default. Enabled for unix and stmhal ports.
-
Damien George authored
This patch consolidates all global variables in py/ core into one place, in a global structure. Root pointers are all located together to make GC tracing easier and more efficient.
-
Damien George authored
Addresses issue #1044 (see also #1040). Could do with a better fix.
-
- 06 Jan, 2015 2 commits
-
-
Paul Sokolovsky authored
This is consistent with how BC_JUMP was handled before. We never show jumps destinations relative to jump instrucion itself, only relative to beginning of function. Another useful way to show them as absolute (real memory address), and this change makes result expected and consistent with how BC_JUMP is shown.
-
Damien George authored
-
- 04 Jan, 2015 4 commits
-
-
Paul Sokolovsky authored
-
stijn authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- 03 Jan, 2015 2 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Confirmed that it improves perfomance of simple "for i in range(N): pass" loop by 15% on Core2.
-
- 02 Jan, 2015 5 commits
-
-
Damien George authored
-
David Steinberg authored
-
stijn authored
Remove some duplication in the code for generating qstrdefs.generated.h and py-version.h
-
stijn authored
The compiler treats `if (MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE)` as a normal statement and generates assembly for it in degug mode as if MICROPY_ERROR_REPORTING is an actual symbol instead of a preprocessor definition. As such linking fails because mp_arg_error_terse_mismatch is not defined when MICROPY_ERROR_REPORTING_TERSE is detailed or normal.
-
stijn authored
- Use a single file env.props for defining the main directories used when building. env.props resolves the base directory and defines overridable output directories, and is used by all other build files. - Fix the build currently failing, basically because the preprocessing command for generating qstrdefs uses different include directories than the build itself does. (specifically, qstrdefs.h uses #include "py/mpconfig.h" since the fixes for #1022 in 51dfcb4b, so we need to use the base directory as include directory, not the py dir itself). So define a single variable containing the include directories instead and use it where needed.
-
- 01 Jan, 2015 2 commits
-
-
Damien George authored
-
Damien George authored
-