<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/unix/gccollect.c, branch esp-extra-scripts</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=esp-extra-scripts</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=esp-extra-scripts'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-06-28T10:28:50+00:00</updated>
<entry>
<title>unix/gccollect: Provide declaration of exported function.</title>
<updated>2016-06-28T10:28:50+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-05T11:00:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f1dbd2909e864deaedd35482acda73ef2dbf8882'/>
<id>urn:sha1:f1dbd2909e864deaedd35482acda73ef2dbf8882</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unix: Implement garbage collection with threading.</title>
<updated>2016-06-28T10:28:49+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-04T10:23:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=dbd54e0b5bf50c42127b8f55a873e466cef2e0b7'/>
<id>urn:sha1:dbd54e0b5bf50c42127b8f55a873e466cef2e0b7</id>
<content type='text'>
This patch allows any given thread to do a proper garbage collection and
scan all the pointers of all active threads.
</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>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>unix/gccollect: Fallback to setjmp-based register fetching automatically.</title>
<updated>2015-11-08T14:05:33+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-11-07T20:04:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6e68a68d18c53789e5a1179b0c0d83246e562ab6'/>
<id>urn:sha1:6e68a68d18c53789e5a1179b0c0d83246e562ab6</id>
<content type='text'>
Now, if we build for an architecture which doesn't have dedicated support
for getting registers for GC scanning, fallback to setjmp-based method
automatically. It's still possible to force setjmp-based implementation
on archs with dedicated support (e.g. for testing, or for peculiar calling
conventions/optimizations).
</content>
</entry>
<entry>
<title>unix: Add target to build "minimal" uPy interpreter.</title>
<updated>2015-01-16T18:03:01+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-11T17:28:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3926c72dd2c6c9bfc4840f914be5a55258d3a248'/>
<id>urn:sha1:3926c72dd2c6c9bfc4840f914be5a55258d3a248</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unix, windows: Don't call mp_unix_mark_exec on windows.</title>
<updated>2015-01-14T11:43:51+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-14T11:43:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d95b519aa1160960d4473d1db34bacfcc46a94d6'/>
<id>urn:sha1:d95b519aa1160960d4473d1db34bacfcc46a94d6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py, unix: Trace root pointers with native emitter under unix port.</title>
<updated>2015-01-14T00:11:09+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-14T00:11:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=2127e9a844ae46cb2149e7c38eb9f4345075f6e4'/>
<id>urn:sha1:2127e9a844ae46cb2149e7c38eb9f4345075f6e4</id>
<content type='text'>
Native code has GC-heap pointers in it so it must be scanned.  But on
unix port memory for native functions is mmap'd, and so it must have
explicit code to scan it for root pointers.
</content>
</entry>
<entry>
<title>py: Can compile with -Wmissing-declarations and -Wmissing-prototypes.</title>
<updated>2015-01-12T22:30:49+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-12T22:30:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cd3420740909b3b6a2140b613b591b7556b417a2'/>
<id>urn:sha1:cd3420740909b3b6a2140b613b591b7556b417a2</id>
<content type='text'>
</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>
</feed>
