<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/extmod, branch v1.9.3</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.9.3</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.9.3'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2017-10-30T04:41:37+00:00</updated>
<entry>
<title>extmod/modussl_mbedtls: Allow to compile with unix coverage build.</title>
<updated>2017-10-30T04:41:37+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-10-30T04:41:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=10b76a9620b7407ffed8366d71f5463496f98838'/>
<id>urn:sha1:10b76a9620b7407ffed8366d71f5463496f98838</id>
<content type='text'>
Fixes a few C warnings.  No functional changes.
</content>
</entry>
<entry>
<title>extmod/modussl: Add finaliser support for ussl objects.</title>
<updated>2017-10-30T04:25:32+00:00</updated>
<author>
<name>Eric Poulsen</name>
<email>eric@zyxod.com</email>
</author>
<published>2017-10-27T04:17:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=74ec52d85758ad9da7a3abb24257511b22d74964'/>
<id>urn:sha1:74ec52d85758ad9da7a3abb24257511b22d74964</id>
<content type='text'>
Per the comment found here
https://github.com/micropython/micropython-esp32/issues/209#issuecomment-339855157,
this patch adds finaliser code to prevent memory leaks from ussl objects,
which is especially useful when memory for a ussl context is allocated
outside the uPy heap.  This patch is in-line with the finaliser code found
in many modsocket implementations for various ports.

This feature is configured via MICROPY_PY_USSL_FINALISER and is disabled by
default because there may be issues using it when the ussl state *is*
allocated on the uPy heap, rather than externally.
</content>
</entry>
<entry>
<title>extmod/vfs: Replace VLA in proxy func with small, static sized array.</title>
<updated>2017-10-27T07:01:25+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-10-27T07:01:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c64eb4f8ce20b025bb5762d9ce6e093d15a19dce'/>
<id>urn:sha1:c64eb4f8ce20b025bb5762d9ce6e093d15a19dce</id>
<content type='text'>
VLAs can be expensive on stack usage due to stack alignment requirements,
and also the fact that extra local variables are needed to track the
dynamic size of the stack.  So using fixed-size arrays when possible can
help to reduce code size and stack usage.

In this particular case, the maximum value of n_args in the VLA is 2 and so
it's more efficient to just allocate this array with a fixed size.  This
reduces code size by around 30 bytes on Thumb2 and Xtensa archs.  It also
reduces total stack usage of the function: on Thumb2 the usage with VLA is
between 40 and 48 bytes, which is reduced to 32; on Xtensa, VLA usage is
between 64 and 80 bytes, reduced to 32; on x86-64 it's at least 88 bytes
reduced to 80.
</content>
</entry>
<entry>
<title>all: Use NULL instead of "" when calling mp_raise exception helpers.</title>
<updated>2017-10-24T11:39:36+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-10-24T11:39:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f4059dcc0c5251256a53fcb49f56fdda6e879341'/>
<id>urn:sha1:f4059dcc0c5251256a53fcb49f56fdda6e879341</id>
<content type='text'>
This is the established way of doing it and reduces code size by a little
bit.
</content>
</entry>
<entry>
<title>extmod/uos_dupterm: Swallow any errors from dupterm closing the stream.</title>
<updated>2017-10-19T03:10:17+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-10-19T03:10:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9725a654bdfc4ec0b7d6bc6aa3f4365f0825c5f3'/>
<id>urn:sha1:9725a654bdfc4ec0b7d6bc6aa3f4365f0825c5f3</id>
<content type='text'>
Without this the board will crash when deactivating a stream that doesn't
have a close() method (eg UART) or that raises an exception within the
method (eg user-defined function).
</content>
</entry>
<entry>
<title>extmod/uos_dupterm: Update uos.dupterm() and helper funcs to have index.</title>
<updated>2017-10-13T09:01:57+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-10-13T09:01:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=37282f8fc135a16ff36e2afe0de907cbde531ed0'/>
<id>urn:sha1:37282f8fc135a16ff36e2afe0de907cbde531ed0</id>
<content type='text'>
The uos.dupterm() signature and behaviour is updated to reflect the latest
enhancements in the docs.  It has minor backwards incompatibility in that
it no longer accepts zero arguments.

The dupterm_rx helper function is moved from esp8266 to extmod and
generalised to support multiple dupterm slots.

A port can specify multiple slots by defining the MICROPY_PY_OS_DUPTERM
config macro to an integer, being the number of slots it wants to have;
0 means to disable the dupterm feature altogether.

The unix and esp8266 ports are updated to work with the new interface and
are otherwise unchanged with respect to functionality.
</content>
</entry>
<entry>
<title>all: Remove inclusion of internal py header files.</title>
<updated>2017-10-04T01:37:50+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-10-04T01:37:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a3dc1b1957d2c96d7c60c2c629c95077b03488a1'/>
<id>urn:sha1:a3dc1b1957d2c96d7c60c2c629c95077b03488a1</id>
<content type='text'>
Header files that are considered internal to the py core and should not
normally be included directly are:
    py/nlr.h - internal nlr configuration and declarations
    py/bc0.h - contains bytecode macro definitions
    py/runtime0.h - contains basic runtime enums

Instead, the top-level header files to include are one of:
    py/obj.h - includes runtime0.h and defines everything to use the
        mp_obj_t type
    py/runtime.h - includes mpstate.h and hence nlr.h, obj.h, runtime0.h,
        and defines everything to use the general runtime support functions

Additional, specific headers (eg py/objlist.h) can be included if needed.
</content>
</entry>
<entry>
<title>extmod/modure: Add stack overflow checking when executing a regex.</title>
<updated>2017-10-02T21:20:10+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2017-10-02T21:12:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=aba1f9167a7db1c0f19d2ab44a8dbfe5c18cc062'/>
<id>urn:sha1:aba1f9167a7db1c0f19d2ab44a8dbfe5c18cc062</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extmod/re1.5: Upgrade to v0.8.2, adds hook for stack overflow checking.</title>
<updated>2017-10-02T18:20:47+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2017-10-02T18:20:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c9a0b2a8182abcb87afa1d8766d74ca8fa87cb34'/>
<id>urn:sha1:c9a0b2a8182abcb87afa1d8766d74ca8fa87cb34</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extmod/re1.5: Update to 0.8.1.</title>
<updated>2017-09-24T07:19:24+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2017-09-24T07:19:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4a314a6f63c7157a824aa98c01009a8fbafb7475'/>
<id>urn:sha1:4a314a6f63c7157a824aa98c01009a8fbafb7475</id>
<content type='text'>
Allow literal minus in char classes to be in trailing position, e.g. [a-c-].
(Previously, minus was allowed only at the start.)

This increases ARM Thumb2 code size by 8 bytes.
</content>
</entry>
</feed>
