<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/gc.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>2021-03-15T13:57:36+00:00</updated>
<entry>
<title>run code formatting script</title>
<updated>2021-03-15T13:57:36+00:00</updated>
<author>
<name>microDev</name>
<email>70126934+microDev1@users.noreply.github.com</email>
</author>
<published>2021-03-15T13:57:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a52eb88031620a81521b937f2a0651dbac2bb350'/>
<id>urn:sha1:a52eb88031620a81521b937f2a0651dbac2bb350</id>
<content type='text'>
</content>
</entry>
<entry>
<title>A few minor fixes for corner cases</title>
<updated>2021-02-26T00:50:57+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2021-02-26T00:50:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=52bc935fa7aa9e5c94f75fec8b2fa746c83f0be7'/>
<id>urn:sha1:52bc935fa7aa9e5c94f75fec8b2fa746c83f0be7</id>
<content type='text'>
* Always clear the peripheral interrupt so we don't hang when full
* Store the ringbuf in the object so it gets collected when we're alive
* Make UART objects have a finaliser so they are deinit when their
  memory is freed
* Copy bytes into the ringbuf from the FIFO after we read to ensure
  the interrupt is enabled ASAP
* Copy bytes into the ringbuf from the FIFO before measuring our
  rx available because the interrupt is based on a threshold (not
  &gt; 0). For example, a single byte won't trigger an interrupt.
</content>
</entry>
<entry>
<title>Get AllocationAlarm working</title>
<updated>2020-07-18T00:15:03+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2020-07-17T02:01:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a1e4814a27713bd08b836cbae2afa9c858bfd4e4'/>
<id>urn:sha1:a1e4814a27713bd08b836cbae2afa9c858bfd4e4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add memorymonitor module</title>
<updated>2020-07-18T00:15:03+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2020-07-16T00:58:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=518d909b2c20aed5b3ff1ca849731cdadea4ba4c'/>
<id>urn:sha1:518d909b2c20aed5b3ff1ca849731cdadea4ba4c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add license to some obvious files.</title>
<updated>2020-07-06T18:16:25+00:00</updated>
<author>
<name>Diego Elio Pettenò</name>
<email>flameeyes@flameeyes.com</email>
</author>
<published>2020-06-03T22:40:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=34b4993d63a6b576f29d624385c681f679b4124c'/>
<id>urn:sha1:34b4993d63a6b576f29d624385c681f679b4124c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Track first free atb for multiple block sizes.</title>
<updated>2020-02-12T01:06:24+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2020-02-12T01:06:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=36e6cc8febf7f744f61772d29eed68d9ebb57200'/>
<id>urn:sha1:36e6cc8febf7f744f61772d29eed68d9ebb57200</id>
<content type='text'>
This speeds up cases where no single block allocations happen while
Python code is allocating other block sizes.
</content>
</entry>
<entry>
<title>fix CCCD bonding store; avoid excessive bonding writes</title>
<updated>2020-01-13T04:32:51+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2020-01-13T04:32:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9e7f8743c2725c1818033e348e8d542ec7539045'/>
<id>urn:sha1:9e7f8743c2725c1818033e348e8d542ec7539045</id>
<content type='text'>
</content>
</entry>
<entry>
<title>gc_free: give a better error when freeing outside of VM</title>
<updated>2019-12-10T23:07:52+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2019-12-10T23:05:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6305d489475f0eb91b0fba59fd93fc72191a28eb'/>
<id>urn:sha1:6305d489475f0eb91b0fba59fd93fc72191a28eb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>* only make objects long lived if they are on the GC heap</title>
<updated>2019-11-22T18:47:13+00:00</updated>
<author>
<name>David Grimes</name>
<email>dgrimes@navisite.com</email>
</author>
<published>2019-11-22T18:47:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f13ba7e8d9048802e960b45264f7d85cc16a1a4d'/>
<id>urn:sha1:f13ba7e8d9048802e960b45264f7d85cc16a1a4d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>gc_alloc: Remove redundant 'collected' assignment</title>
<updated>2019-10-08T01:54:13+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2019-10-08T01:54:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=46b6870ffac26fc360a00120a402535ed4ee836d'/>
<id>urn:sha1:46b6870ffac26fc360a00120a402535ed4ee836d</id>
<content type='text'>
The remaining assignment was added in upstream micropython; the
deleted assignment was added in circuitpython as part of the long-lived
object area feature.  During the merge, the redundant assignment
was not removed.

(since collected is a local variable and no pointers to it escape,
it doesn't seem possible for the placement of the assignment before
or after GC_ENTER() is important)

This diagnostic was found by clang 7's scan-build static analyzer.
</content>
</entry>
</feed>
