<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/objgenerator.c, branch v1.8.4</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.4</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.4'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-08-27T13:21:00+00:00</updated>
<entry>
<title>py: Rename struct mp_code_state to mp_code_state_t.</title>
<updated>2016-08-27T13:21:00+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-08-27T13:21:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=581a59a456654e881a228a99f135777e0335f1e1'/>
<id>urn:sha1:581a59a456654e881a228a99f135777e0335f1e1</id>
<content type='text'>
Also at _t to mp_exc_stack pre-declaration in struct typedef.
</content>
</entry>
<entry>
<title>py: Get rid of assert() in method argument checking functions.</title>
<updated>2016-08-12T19:39:03+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-08-12T19:06:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c4a8004933d1ae4da52f175d456d6fbe765c3923'/>
<id>urn:sha1:c4a8004933d1ae4da52f175d456d6fbe765c3923</id>
<content type='text'>
Checks for number of args removes where guaranteed by function descriptor,
self checking is replaced with mp_check_self(). In few cases, exception
is raised instead of assert.
</content>
</entry>
<entry>
<title>py/vm: "yield from" didn't handle MP_OBJ_STOP_ITERATION optimization.</title>
<updated>2016-04-27T23:08:43+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-04-27T22:54:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=eff85bb1dcca0602cef055986ea3b8192dea1d71'/>
<id>urn:sha1:eff85bb1dcca0602cef055986ea3b8192dea1d71</id>
<content type='text'>
E.g. crashed when yielding from already stopped generators.
</content>
</entry>
<entry>
<title>py: Change type signature of builtin funs that take variable or kw args.</title>
<updated>2016-01-11T00:49:27+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-03T14:21:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4b72b3a133ea87a1ef8b964508dc25c551ccf093'/>
<id>urn:sha1:4b72b3a133ea87a1ef8b964508dc25c551ccf093</id>
<content type='text'>
With this patch the n_args parameter is changed type from mp_uint_t to
size_t.
</content>
</entry>
<entry>
<title>py: Change type of .make_new and .call args: mp_uint_t becomes size_t.</title>
<updated>2016-01-11T00:48:41+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-03T09:59:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a0c97814dfcb0debbde8be99539e3d5ca2334e54'/>
<id>urn:sha1:a0c97814dfcb0debbde8be99539e3d5ca2334e54</id>
<content type='text'>
This patch changes the type signature of .make_new and .call object method
slots to use size_t for n_args and n_kw (was mp_uint_t.  Makes code more
efficient when mp_uint_t is larger than a machine word.  Doesn't affect
ports when size_t and mp_uint_t have the same size.
</content>
</entry>
<entry>
<title>py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR.</title>
<updated>2015-11-29T14:25:35+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-11-27T17:01:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=999cedb90ff0827cdb9dfe0e4faa6ebc1739d271'/>
<id>urn:sha1:999cedb90ff0827cdb9dfe0e4faa6ebc1739d271</id>
<content type='text'>
This allows the mp_obj_t type to be configured to something other than a
pointer-sized primitive type.

This patch also includes additional changes to allow the code to compile
when sizeof(mp_uint_t) != sizeof(void*), such as using size_t instead of
mp_uint_t, and various casts.
</content>
</entry>
<entry>
<title>py: Add MP_ROM_* macros and mp_rom_* types and use them.</title>
<updated>2015-11-29T14:25:04+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-11-27T13:38:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cbf7674025814797f5c537d6d1c195efe58ccaaf'/>
<id>urn:sha1:cbf7674025814797f5c537d6d1c195efe58ccaaf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Add constant table to bytecode.</title>
<updated>2015-11-13T12:49:18+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-10-23T00:23:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=713ea1800d1f0c82a0c75885ad034705556ab5ef'/>
<id>urn:sha1:713ea1800d1f0c82a0c75885ad034705556ab5ef</id>
<content type='text'>
Contains just argument names at the moment but makes it easy to add
arbitrary constants.
</content>
</entry>
<entry>
<title>py: Reorganise bytecode layout so it's more structured, easier to edit.</title>
<updated>2015-11-13T12:49:18+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-03-18T17:47:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9b7f583b0ca37ee87e5fb82e2d65fcd96a609b2f'/>
<id>urn:sha1:9b7f583b0ca37ee87e5fb82e2d65fcd96a609b2f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>objgenerator: Can optimize StopIteration to STOP_ITERATION only if arg is None.</title>
<updated>2015-05-11T22:57:42+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-05-10T23:59:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d5e629ad0edf2c2b91f1964eb54c91fd6f6fc9d0'/>
<id>urn:sha1:d5e629ad0edf2c2b91f1964eb54c91fd6f6fc9d0</id>
<content type='text'>
Unfortunately, MP_OBJ_STOP_ITERATION doesn't have means to pass an associated
value, so we can't optimize StopIteration exception with (non-None) argument
to MP_OBJ_STOP_ITERATION.
</content>
</entry>
</feed>
