<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/runtime.c, branch v1.3.7</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.3.7</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.3.7'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2014-11-06T17:36:16+00:00</updated>
<entry>
<title>py: Use shorter, static error msgs when ERROR_REPORTING_TERSE enabled.</title>
<updated>2014-11-06T17:36:16+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-11-06T17:36:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1e9a92f84fb58db610e20b766052292edc28d25b'/>
<id>urn:sha1:1e9a92f84fb58db610e20b766052292edc28d25b</id>
<content type='text'>
Going from MICROPY_ERROR_REPORTING_NORMAL to
MICROPY_ERROR_REPORTING_TERSE now saves 2020 bytes ROM for ARM Thumb2,
and 2200 bytes ROM for 32-bit x86.

This is about a 2.5% code size reduction for bare-arm.
</content>
</entry>
<entry>
<title>py: Fix bug with right-shifting small ints by large amounts.</title>
<updated>2014-11-02T00:41:30+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2014-11-02T00:39:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=039887a0ac9bd02cfd84e4792d3d21a78bc06a7f'/>
<id>urn:sha1:039887a0ac9bd02cfd84e4792d3d21a78bc06a7f</id>
<content type='text'>
Undefined behavior in C, needs explicit check.
</content>
</entry>
<entry>
<title>py: Add mp_pending_exception global variable, for VM soft interrupt.</title>
<updated>2014-10-25T22:37:57+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-10-25T17:19:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=124df6f8d07b53542b6960dbeea9b63bff469a67'/>
<id>urn:sha1:124df6f8d07b53542b6960dbeea9b63bff469a67</id>
<content type='text'>
This allows to implement KeyboardInterrupt on unix, and a much safer
ctrl-C in stmhal port.  First ctrl-C is a soft one, with hope that VM
will notice it; second ctrl-C is a hard one that kills anything (for
both unix and stmhal).

One needs to check for a pending exception in the VM only for jump
opcodes.  Others can't produce an infinite loop (infinite recursion is
caught by stack check).
</content>
</entry>
<entry>
<title>py: Implement compile builtin, enabled only on unix port.</title>
<updated>2014-10-25T21:07:25+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-10-25T20:59:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c9fc62072330421dbbcfa316569b51601a7f0349'/>
<id>urn:sha1:c9fc62072330421dbbcfa316569b51601a7f0349</id>
<content type='text'>
This should be pretty compliant with CPython, except perhaps for some
corner cases to do with globals/locals context.

Addresses issue #879.
</content>
</entry>
<entry>
<title>py: Factor out mp_obj_is_package() function.</title>
<updated>2014-10-25T19:31:33+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2014-10-25T18:04:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e5a3759ff5478392f914ba7a7346da60d9735bf4'/>
<id>urn:sha1:e5a3759ff5478392f914ba7a7346da60d9735bf4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Use MP_OBJ_NULL instead of NULL in a few places.</title>
<updated>2014-10-23T11:06:53+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-10-23T11:06:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3aa09f5784bf06f2b23b0d0082cd244af53ca8a9'/>
<id>urn:sha1:3aa09f5784bf06f2b23b0d0082cd244af53ca8a9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Add #if guard around gc-specific code.</title>
<updated>2014-10-09T15:44:43+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-10-09T15:44:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4091445612a14451590064f337eeb190d969d243'/>
<id>urn:sha1:4091445612a14451590064f337eeb190d969d243</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow real memory errors (from locked gc) to be reported with traceback.</title>
<updated>2014-10-07T15:07:49+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2014-10-07T07:50:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3556e45711c3b7ec712748d013e678d035185bdd'/>
<id>urn:sha1:3556e45711c3b7ec712748d013e678d035185bdd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Implement proper context save/restore for eval/exec; factor code.</title>
<updated>2014-10-05T19:13:34+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-10-05T19:13:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c4d0868df1117ad243ee8f7238985a822b0f775d'/>
<id>urn:sha1:c4d0868df1117ad243ee8f7238985a822b0f775d</id>
<content type='text'>
This has benefits all round: code factoring for parse/compile/execute,
proper context save/restore for exec, allow to sepcify globals/locals
for eval, and reduced ROM usage by &gt;100 bytes on stmhal and unix.

Also, the call to mp_parse_compile_execute is tail call optimised for
the import code, so it doesn't increase stack memory usage.
</content>
</entry>
<entry>
<title>py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places.</title>
<updated>2014-10-03T18:52:22+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-10-03T18:52:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=39dc1454788d1c6fb06c79871c7cd6e12aeb50a0'/>
<id>urn:sha1:39dc1454788d1c6fb06c79871c7cd6e12aeb50a0</id>
<content type='text'>
This should pretty much resolve issue #50.
</content>
</entry>
</feed>
