<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/objtype.h, branch v1.4.6</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.4.6</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.4.6'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2015-05-04T10:08:40+00:00</updated>
<entry>
<title>py: Check that arg to object.__new__ is a user-defined type.</title>
<updated>2015-05-04T10:08:40+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-05-03T22:23:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=47b9809d231c4359c56316130a76f13de2b907f7'/>
<id>urn:sha1:47b9809d231c4359c56316130a76f13de2b907f7</id>
<content type='text'>
Addresses issue #1203.
</content>
</entry>
<entry>
<title>py: Combine load_attr and store_attr type methods into one (attr).</title>
<updated>2015-04-11T15:54:37+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-04-01T14:10:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b1bbe966c408901ae64ea8c8b468694c47d05b1a'/>
<id>urn:sha1:b1bbe966c408901ae64ea8c8b468694c47d05b1a</id>
<content type='text'>
This simplifies the API for objects and reduces code size (by around 400
bytes on Thumb2, and around 2k on x86).  Performance impact was measured
with Pystone score, but change was barely noticeable.
</content>
</entry>
<entry>
<title>py: Add option to cache map lookup results in bytecode.</title>
<updated>2015-01-07T21:07:23+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-06T12:51:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7ee91cf86136f4774a9143a3f745d37f314662da'/>
<id>urn:sha1:7ee91cf86136f4774a9143a3f745d37f314662da</id>
<content type='text'>
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 &gt;90% cache hit and greatly improves speed of
code.

Disabled by default.  Enabled for unix and stmhal ports.
</content>
</entry>
<entry>
<title>py: Move to guarded includes, everywhere in py/ core.</title>
<updated>2015-01-01T20:32:09+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-01T20:27:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=51dfcb4bb7613ed164952712d9a5235a7b833cde'/>
<id>urn:sha1:51dfcb4bb7613ed164952712d9a5235a7b833cde</id>
<content type='text'>
Addresses issue #1022.
</content>
</entry>
<entry>
<title>py: Fix builtin callable so it checks user-defined instances correctly.</title>
<updated>2014-11-03T16:09:39+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-11-03T16:09:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0344fa1ddfbe8674061fed8e904468b9bd2aa550'/>
<id>urn:sha1:0344fa1ddfbe8674061fed8e904468b9bd2aa550</id>
<content type='text'>
Addresses issue #953.
</content>
</entry>
<entry>
<title>Add license header to (almost) all files.</title>
<updated>2014-05-03T22:27:38+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-05-03T22:27:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=04b9147e150d2d6fa3750f312fe328b6a71c1b28'/>
<id>urn:sha1:04b9147e150d2d6fa3750f312fe328b6a71c1b28</id>
<content type='text'>
Blanket wide to all .c and .h files.  Some files originating from ST are
difficult to deal with (license wise) so it was left out of those.

Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/.
</content>
</entry>
<entry>
<title>objtype: Rename mp_obj_class_t -&gt; mp_obj_instance_t and move to local header.</title>
<updated>2014-05-01T23:14:38+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2014-05-01T23:13:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0a7e01ae3c529fddf79dc5c71bf7e43cff3f9fa0'/>
<id>urn:sha1:0a7e01ae3c529fddf79dc5c71bf7e43cff3f9fa0</id>
<content type='text'>
TODO: Rename methods.
</content>
</entry>
</feed>
