<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/qemu-arm/test_main.c, branch main</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=main</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2017-09-06T03:40:51+00:00</updated>
<entry>
<title>ports: Make new ports/ sub-directory and move all ports there.</title>
<updated>2017-09-06T03:40:51+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-09-06T03:40:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=01dd7804b87d60b2deab16712eccb3b97351a9b7'/>
<id>urn:sha1:01dd7804b87d60b2deab16712eccb3b97351a9b7</id>
<content type='text'>
This is to keep the top-level directory clean, to make it clear what is
core and what is a port, and to allow the repository to grow with new ports
in a sustainable way.
</content>
</entry>
<entry>
<title>qemu-arm: Move lexer constructors to within NLR handler block.</title>
<updated>2017-03-14T00:52:05+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-03-14T00:25:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=25b6b62562e56fc2aaa78b72f5dfffc35bc2430c'/>
<id>urn:sha1:25b6b62562e56fc2aaa78b72f5dfffc35bc2430c</id>
<content type='text'>
And raise an exception when mp_lexer_new_from_file is called.
</content>
</entry>
<entry>
<title>py/nlr.h: Mark nlr_jump_fail as NORETURN.</title>
<updated>2017-03-06T06:13:16+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-02-16T06:23:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=be3d7f91e5c71f3736cd85ce7016f2b5629cd6e9'/>
<id>urn:sha1:be3d7f91e5c71f3736cd85ce7016f2b5629cd6e9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>qemu-arm: Don't compile tests in "REPL" mode.</title>
<updated>2017-01-27T01:35:46+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-01-27T01:35:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f1db8a3097f74aa5499c95a2625bd0bfa285579a'/>
<id>urn:sha1:f1db8a3097f74aa5499c95a2625bd0bfa285579a</id>
<content type='text'>
Previous to this patch the qemu-arm tests were compiled with is_relp=true
meaning that the __repl_print__ function was called for all lines of code
in the outer scope.  This is not the right behaviour for scripts that are
executed as though they were a file (eg tests).

With this fix the micropython/heapalloc_str.py test now works so it is
removed from the test blacklist.
</content>
</entry>
<entry>
<title>py: Add MP_STATE_THREAD to hold state specific to a given thread.</title>
<updated>2016-06-28T10:09:31+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-04-22T22:44:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=330165a2cc9a0d4d5d00f13f851412c25d5f4ed2'/>
<id>urn:sha1:330165a2cc9a0d4d5d00f13f851412c25d5f4ed2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>qemu-arm: Reinitialise uPy heap and runtime at start of each test.</title>
<updated>2016-03-15T13:42:36+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-03-15T13:42:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1ded19d4b3c9710c123a65fd7f369e0022eac02d'/>
<id>urn:sha1:1ded19d4b3c9710c123a65fd7f369e0022eac02d</id>
<content type='text'>
Previous to this patch, all qemu-arm tests were running in the same
session, and global variables could be left over from the previous test.
This patch makes it so that the heap and runtime are reinitialised at
the start of each test.
</content>
</entry>
<entry>
<title>py/runtime: mp_stack_ctrl_init() should be called immediately on startup.</title>
<updated>2016-01-29T00:13:42+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-01-28T23:05:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d3b1f0b627ccc6705d9fe958549badb87a74ded1'/>
<id>urn:sha1:d3b1f0b627ccc6705d9fe958549badb87a74ded1</id>
<content type='text'>
Calling it from mp_init() is too late for some ports (like Unix), and leads
to incomplete stack frame being captured, with following GC issues. So, now
each port should call mp_stack_ctrl_init() on its own, ASAP after startup,
and taking special precautions so it really was called before stack variables
get allocated (because if such variable with a pointer is missed, it may lead
to over-collecting (typical symptom is segfaulting)).
</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 struct and macro for builtin fun so they can be type checked.</title>
<updated>2016-01-03T11:53:44+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-03T11:53:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1b0aab621baf081bf1cbeb38a29bd37fbc135cc7'/>
<id>urn:sha1:1b0aab621baf081bf1cbeb38a29bd37fbc135cc7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Allocate parse nodes in chunks to reduce fragmentation and RAM use.</title>
<updated>2015-10-01T23:11:11+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-09-23T09:50:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=58e0f4ac50b3dc732cbfe0d7b04bb41951ac1329'/>
<id>urn:sha1:58e0f4ac50b3dc732cbfe0d7b04bb41951ac1329</id>
<content type='text'>
With this patch parse nodes are allocated sequentially in chunks.  This
reduces fragmentation of the heap and prevents waste at the end of
individually allocated parse nodes.

Saves roughly 20% of RAM during parse stage.
</content>
</entry>
</feed>
