<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/runtime.h, branch 0.9.4</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=0.9.4</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=0.9.4'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2017-02-24T15:46:38+00:00</updated>
<entry>
<title>Correct name of mp_raise_NotImplementedError to make error name.</title>
<updated>2017-02-24T15:46:38+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott.shawcroft@gmail.com</email>
</author>
<published>2017-02-24T15:46:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=75d6abe3bb57cf75915a056e5e98e4b79efec2ad'/>
<id>urn:sha1:75d6abe3bb57cf75915a056e5e98e4b79efec2ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Switch exception throwing to mp_raise helpers. It saves a little code space each time to share the call.</title>
<updated>2017-02-24T14:13:07+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott.shawcroft@gmail.com</email>
</author>
<published>2017-02-24T14:13:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=12fa5b3a66d6f0034113a56c7d647c7bac5be74c'/>
<id>urn:sha1:12fa5b3a66d6f0034113a56c7d647c7bac5be74c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py/objtype: Implement __call__ handling for an instance w/o heap alloc.</title>
<updated>2016-11-21T22:33:55+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-11-21T22:33:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=037e6912c60f4f05a3866d525392f9c76914d0f1'/>
<id>urn:sha1:037e6912c60f4f05a3866d525392f9c76914d0f1</id>
<content type='text'>
By refactoring and reusing code from objboundmeth.
</content>
</entry>
<entry>
<title>py: Add mp_raise_OSError(errno) helper function.</title>
<updated>2016-10-07T02:31:59+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-10-07T02:31:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3a0a7717304cc34a4d6ef55f767666c918c185b5'/>
<id>urn:sha1:3a0a7717304cc34a4d6ef55f767666c918c185b5</id>
<content type='text'>
This is an often used code pattern, and its use reduces code size of the
core by about 100 bytes.
</content>
</entry>
<entry>
<title>py: Shrink mp_arg_t struct by using reduced-size integer members.</title>
<updated>2016-09-23T02:13:51+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-09-23T02:13:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e97df976008ea8d3dbd291ebcc72f5416d63a7ce'/>
<id>urn:sha1:e97df976008ea8d3dbd291ebcc72f5416d63a7ce</id>
<content type='text'>
qstrs ids are restricted to fit within 2 bytes already (eg in persistent
bytecode) so it's safe to use a uint16_t to store them in mp_arg_t.  And
the flags member only needs a maximum of 2 bytes so can also use uint16_t.

Savings in code size can be significant when many mp_arg_t structs are
used for argument parsing.  Eg, this patch reduces stmhal by 480 bytes.
</content>
</entry>
<entry>
<title>py/runtime.h: Move comment about mp_not_implemented to correct place.</title>
<updated>2016-08-14T06:35:10+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-08-14T06:35:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1a0d3fd6325ed8d7ff0f893c575055b7cd4c8dd3'/>
<id>urn:sha1:1a0d3fd6325ed8d7ff0f893c575055b7cd4c8dd3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py/runtime.h: Define mp_check_self(pred) helper macro.</title>
<updated>2016-08-12T18:58:56+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-08-12T18:58:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8c50f93a4177b56ec1aa36563c93c04b19f89a9f'/>
<id>urn:sha1:8c50f93a4177b56ec1aa36563c93c04b19f89a9f</id>
<content type='text'>
Indended to replace raw asserts in bunch of files. Expands to empty
if MICROPY_BUILTIN_METHOD_CHECK_SELF_ARG is defined, otehrwise by
default still to assert, though a particular port may define it to
something else.
</content>
</entry>
<entry>
<title>py/runtime: Factor out exception raising helpers.</title>
<updated>2016-08-12T18:28:45+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-08-12T18:26:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9e1b61dedd82dffccbe4f20996eadaf79726d427'/>
<id>urn:sha1:9e1b61dedd82dffccbe4f20996eadaf79726d427</id>
<content type='text'>
Introduce mp_raise_msg(), mp_raise_ValueError(), mp_raise_TypeError()
instead of previous pattern nlr_raise(mp_obj_new_exception_msg(...)).
Save few bytes on each call, which are many.
</content>
</entry>
<entry>
<title>py: Move call_function_*_protected() functions to py/ for reuse.</title>
<updated>2016-04-25T16:31:17+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-04-25T16:28:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6d103b65482d8dc1d688fcfd59b3400ebfbe0f0f'/>
<id>urn:sha1:6d103b65482d8dc1d688fcfd59b3400ebfbe0f0f</id>
<content type='text'>
They almost certainly needed by any C code which calls Python callbacks.
</content>
</entry>
<entry>
<title>py/argcheck: Use size_t instead of mp_uint_t to count number of args.</title>
<updated>2016-03-14T22:35:48+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-03-14T22:35:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e7cd1699df95d201369417b36cc4b65063d5c763'/>
<id>urn:sha1:e7cd1699df95d201369417b36cc4b65063d5c763</id>
<content type='text'>
</content>
</entry>
</feed>
