<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/stackctrl.c, 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-04-02T21:26:47+00:00</updated>
<entry>
<title>vm: Support strict stackless mode, with proper exception reporting.</title>
<updated>2015-04-02T21:26:47+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-03-27T23:14:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7f1c98177bb27a45886fd7e42aa72bef9b1e4a0f'/>
<id>urn:sha1:7f1c98177bb27a45886fd7e42aa72bef9b1e4a0f</id>
<content type='text'>
I.e. in this mode, C stack will never be used to call a Python function,
but if there's no free heap for a call, it will be reported as
RuntimeError (as expected), not MemoryError.
</content>
</entry>
<entry>
<title>stackctrl: Encode "recursion depth exceeded" message as qstr.</title>
<updated>2015-02-15T19:41:14+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-02-15T19:34:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e8432b3c725f90eda2b880624d5408ff147d399e'/>
<id>urn:sha1:e8432b3c725f90eda2b880624d5408ff147d399e</id>
<content type='text'>
So corresponding exception can be thrown even under tight memory conditions.
</content>
</entry>
<entry>
<title>py: Put all global state together in state structures.</title>
<updated>2015-01-07T20:33:00+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-01T23:30:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b4b10fd350852e321624d74983cca286091b55a1'/>
<id>urn:sha1:b4b10fd350852e321624d74983cca286091b55a1</id>
<content type='text'>
This patch consolidates all global variables in py/ core into one place,
in a global structure.  Root pointers are all located together to make
GC tracing easier and more efficient.
</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 function type: () -&gt; (void).</title>
<updated>2014-12-10T18:05:42+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-12-10T18:05:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b4fe6e28eb3bbf70b1f1da08a13a40a4ac3ee1db'/>
<id>urn:sha1:b4fe6e28eb3bbf70b1f1da08a13a40a4ac3ee1db</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Change uint to mp_uint_t in runtime.h, stackctrl.h, binary.h.</title>
<updated>2014-08-30T13:59:21+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-08-30T13:59:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4abff7500fb05430a2ce952a2430d4d0ba16047e'/>
<id>urn:sha1:4abff7500fb05430a2ce952a2430d4d0ba16047e</id>
<content type='text'>
Part of code cleanup, working towards resolving issue #50.
</content>
</entry>
<entry>
<title>stackctrl: Add "mp_" prefix.</title>
<updated>2014-06-30T23:14:08+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2014-06-30T23:13:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=caa7334141e6d67ab6f3064b250e6729095ae56c'/>
<id>urn:sha1:caa7334141e6d67ab6f3064b250e6729095ae56c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Add portable framework to query/check C stack usage.</title>
<updated>2014-06-26T21:03:55+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2014-06-25T00:03:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=23668698cba9bf861c697e65e3d07f9433396b8b'/>
<id>urn:sha1:23668698cba9bf861c697e65e3d07f9433396b8b</id>
<content type='text'>
Such mechanism is important to get stable Python functioning, because Python
function calling is handled with C stack. The idea is to sprinkle
STACK_CHECK() calls in places where there can be C recursion.

TODO: Add more STACK_CHECK()'s.
</content>
</entry>
</feed>
