<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py, branch v1.8.6</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.6</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.6'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-11-08T03:36:06+00:00</updated>
<entry>
<title>py: Strip leading dirs from frozen mpy files, so any path can be used.</title>
<updated>2016-11-08T03:36:06+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-11-08T03:36:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=fcda6a2a786eeddc78af5493d28c0054a43027c9'/>
<id>urn:sha1:fcda6a2a786eeddc78af5493d28c0054a43027c9</id>
<content type='text'>
With this patch one can now do "make FROZEN_MPY_DIR=../../frozen" to
specify a directory containing scripts to be frozen (as well as absolute
paths).

The compiled .mpy files are now stored in $(BUILD)/frozen_mpy/.
</content>
</entry>
<entry>
<title>py: Move frozen bytecode Makefile rules from ports to common mk files.</title>
<updated>2016-11-08T03:28:30+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-11-08T03:28:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=bdf33bc1367fa6fc888c791ce00b326bbd279bdf'/>
<id>urn:sha1:bdf33bc1367fa6fc888c791ce00b326bbd279bdf</id>
<content type='text'>
Now, to use frozen bytecode all a port needs to do is define
FROZEN_MPY_DIR to the directory containing the .py files to freeze, and
define MICROPY_MODULE_FROZEN_MPY and MICROPY_QSTR_EXTRA_POOL.
</content>
</entry>
<entry>
<title>py: Add MICROPY_FLOAT_CONST macro for defining float constants.</title>
<updated>2016-11-03T01:33:01+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-11-03T01:33:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=561844f3ba2dc81ce37c58468099042e27cd422b'/>
<id>urn:sha1:561844f3ba2dc81ce37c58468099042e27cd422b</id>
<content type='text'>
All float constants in the core should use this macro to prevent
unnecessary creation of double-precision floats, which makes code less
efficient.
</content>
</entry>
<entry>
<title>py: Change config default so m_malloc0 uses memset if GC not enabled.</title>
<updated>2016-11-02T23:16:31+00:00</updated>
<author>
<name>Colin Hogben</name>
<email>colin@infinnovation.co.uk</email>
</author>
<published>2016-10-31T14:52:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=828df54bfeaa4a31040fa534dd2961cc9b4ac16e'/>
<id>urn:sha1:828df54bfeaa4a31040fa534dd2961cc9b4ac16e</id>
<content type='text'>
With MICROPY_ENABLE_GC set to false the alternate memory manager may not
clear all memory that is allocated, so it must be cleared in m_malloc0.
</content>
</entry>
<entry>
<title>py: Fix wrong assumption that m_renew will not move if shrinking</title>
<updated>2016-11-02T12:15:41+00:00</updated>
<author>
<name>Colin Hogben</name>
<email>colin@infinnovation.co.uk</email>
</author>
<published>2016-10-31T14:05:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f9b6b37cf65c4f65c4ad461d439fbf624c0f10c1'/>
<id>urn:sha1:f9b6b37cf65c4f65c4ad461d439fbf624c0f10c1</id>
<content type='text'>
In both parse.c and qstr.c, an internal chunking allocator tidies up
by calling m_renew to shrink an allocated chunk to the size used, and
assumes that the chunk will not move.  However, when MICROPY_ENABLE_GC
is false, m_renew calls the system realloc, which does not guarantee
this behaviour.  Environments where realloc may return a different
pointer include:

(1) mbed-os with MBED_HEAP_STATS_ENABLED (which adds a wrapper around
malloc &amp; friends; this is where I was hit by the bug);

(2) valgrind on linux (how I diagnosed it).

The fix is to call m_renew_maybe with allow_move=false.
</content>
</entry>
<entry>
<title>unix: fix symbol references for x86 Mac</title>
<updated>2016-11-01T21:42:04+00:00</updated>
<author>
<name>Jan Pochyla</name>
<email>jpochyla@gmail.com</email>
</author>
<published>2016-06-02T17:10:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ffb04a5845d2b24b99260d72ea8b99d9425ee1b4'/>
<id>urn:sha1:ffb04a5845d2b24b99260d72ea8b99d9425ee1b4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: remove asserts that are always true in emitbc.c</title>
<updated>2016-10-31T20:21:22+00:00</updated>
<author>
<name>Pavol Rusnak</name>
<email>stick@gk2.sk</email>
</author>
<published>2016-10-25T09:05:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7ffc959c00707c8328d3e8235e9c4741f227c25c'/>
<id>urn:sha1:7ffc959c00707c8328d3e8235e9c4741f227c25c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: fix null pointer dereference in mpz.c, fix missing va_end in warning.c</title>
<updated>2016-10-31T20:21:15+00:00</updated>
<author>
<name>Pavol Rusnak</name>
<email>stick@gk2.sk</email>
</author>
<published>2016-10-25T09:03:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3679ee9b520db96772ef0917d0a108180aa70114'/>
<id>urn:sha1:3679ee9b520db96772ef0917d0a108180aa70114</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py/sequence: Fix reverse slicing of lists.</title>
<updated>2016-10-30T17:54:19+00:00</updated>
<author>
<name>Fabio Utzig</name>
<email>utzig@utzig.org</email>
</author>
<published>2016-10-30T16:25:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8908e505ce23ccd1f0ee49f3ffa80bf78cfaccfa'/>
<id>urn:sha1:8908e505ce23ccd1f0ee49f3ffa80bf78cfaccfa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extmod/utime_mphal: Allow ticks functions period be configurable by a port.</title>
<updated>2016-10-30T00:02:07+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-10-30T00:02:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=76146b3d9ab0ab88ce0f0d1cfa0235ec0758a4a9'/>
<id>urn:sha1:76146b3d9ab0ab88ce0f0d1cfa0235ec0758a4a9</id>
<content type='text'>
Using MICROPY_PY_UTIME_TICKS_PERIOD config var.
</content>
</entry>
</feed>
