<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py, branch v1.5.2</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.5.2</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.5.2'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2015-12-31T00:24:33+00:00</updated>
<entry>
<title>py/map: In map lookup, check for fixed map independent of ordered map.</title>
<updated>2015-12-31T00:24:33+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-12-31T00:19:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6dde019d933175b5c2608b8da2239846e1730838'/>
<id>urn:sha1:6dde019d933175b5c2608b8da2239846e1730838</id>
<content type='text'>
It's possible to have a fixed map that is properly hashed (ie not
simply ordered).
</content>
</entry>
<entry>
<title>stmhal: Add struct qstr to block of qstrs needed for MICROPY_PY_STRUCT.</title>
<updated>2015-12-28T00:28:56+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2015-12-27T21:41:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0dce9a21ced22ff4f7883177c24bf3358474dc98'/>
<id>urn:sha1:0dce9a21ced22ff4f7883177c24bf3358474dc98</id>
<content type='text'>
Otherwise build fails if uctypes is disabled.
</content>
</entry>
<entry>
<title>py/gc: Improve mark/sweep debug output.</title>
<updated>2015-12-27T18:40:36+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-12-27T17:50:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3ea03a118880c9ffb6714049c0907a94b39d31a8'/>
<id>urn:sha1:3ea03a118880c9ffb6714049c0907a94b39d31a8</id>
<content type='text'>
Previously, mark operation weren't logged at all, while it's quite useful
to see cascade of marks in case of over-marking (and in other cases too).
Previously, sweep was logged for each block of object in memory, but that
doesn't make much sense and just lead to longer output, harder to parse
by a human. Instead, log sweep only once per object. This is similar to
other memory manager operations, e.g. an object is allocated, then freed.
Or object is allocated, then marked, otherwise swept (one log entry per
operation, with the same memory address in each case).
</content>
</entry>
<entry>
<title>py/map: Add fast-path for hashing of map index when it is a qstr.</title>
<updated>2015-12-26T21:15:47+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-12-26T21:15:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=bbe8d51bd9ab0c848ee833000dcc93eb78bcbcad'/>
<id>urn:sha1:bbe8d51bd9ab0c848ee833000dcc93eb78bcbcad</id>
<content type='text'>
Map indicies are most commonly a qstr, and adding a fast-path for hashing
of a qstr increases overall performance of the runtime.

On pyboard there is a 4% improvement in the pystone benchmark for a cost
of 20 bytes of code size.  It's about a 2% improvement on unix.
</content>
</entry>
<entry>
<title>py: Be more restrictive binding self when looking up instance attrs.</title>
<updated>2015-12-26T12:41:31+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-12-26T12:41:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=78913211a9532ff952f5628c7c94848bd59a4a11'/>
<id>urn:sha1:78913211a9532ff952f5628c7c94848bd59a4a11</id>
<content type='text'>
When looking up and extracting an attribute of an instance, some
attributes must bind self as the first argument to make a working method
call.  Previously to this patch, any attribute that was callable had self
bound as the first argument.  But Python specs require the check to be
more restrictive, and only functions, closures and generators should have
self bound as the first argument

Addresses issue #1675.
</content>
</entry>
<entry>
<title>extmod/fsusermount: Move module qstrs to global pool from stmhal port.</title>
<updated>2015-12-25T17:22:16+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-12-25T17:11:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b4c65c253fbd8d020df45ae585c9d1b97ef361a6'/>
<id>urn:sha1:b4c65c253fbd8d020df45ae585c9d1b97ef361a6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Handle case of return within the finally block of try-finally.</title>
<updated>2015-12-24T12:47:39+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-12-24T12:47:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8047340d7532ec32bc9f2d603bffc0bc9544297f'/>
<id>urn:sha1:8047340d7532ec32bc9f2d603bffc0bc9544297f</id>
<content type='text'>
Addresses issue #1636.
</content>
</entry>
<entry>
<title>unix/unix_mphal: Raise KeyboardInterrupt straight from signal handler.</title>
<updated>2015-12-22T22:07:00+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-12-22T22:06:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1c9210bc2b58303c1df2ff287f17d178b1a2772b'/>
<id>urn:sha1:1c9210bc2b58303c1df2ff287f17d178b1a2772b</id>
<content type='text'>
POSIX doesn't guarantee something like that to work, but it works on any
system with careful signal implementation. Roughly, the requirement is
that signal handler is executed in the context of the process, its main
thread, etc. This is true for Linux. Also tested to work without issues
on MacOSX.
</content>
</entry>
<entry>
<title>py/objstr: Applying % (format) operator to bytes should return bytes, not str.</title>
<updated>2015-12-20T14:52:11+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-12-20T14:50:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d50f649cf8a10c98085f10ef476d43e902458e3c'/>
<id>urn:sha1:d50f649cf8a10c98085f10ef476d43e902458e3c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py/objstr: Make sure that b"%s" % b"foo" uses undecorated bytes value.</title>
<updated>2015-12-20T14:51:59+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-12-20T14:44:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ef63ab5724dd7c5696ee5c07bf30ac7444df9fb6'/>
<id>urn:sha1:ef63ab5724dd7c5696ee5c07bf30ac7444df9fb6</id>
<content type='text'>
I.e. the expected result for above is b"foo", whereas previously we got
b"b'foo'".
</content>
</entry>
</feed>
