summaryrefslogtreecommitdiffstatshomepage
path: root/tools
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-08-08 12:33:49 +0100
committerDamien George <damien.p.george@gmail.com>2014-08-08 12:33:49 +0100
commita1d3ee376c25c0842096535c38e651431028d1b8 (patch)
treea132bde5cce68f46206bc1e796d1ca98b24d8e99 /tools
parent5d9b816449311ab50304c4fa2ffe792e224df8ff (diff)
downloadmicropython-a1d3ee376c25c0842096535c38e651431028d1b8.tar.gz
micropython-a1d3ee376c25c0842096535c38e651431028d1b8.zip
py: Fix bug where GC finaliser table was not completely zeroed out.
This was a nasty bug to track down. It only had consequences when the heap size was just the right size to expose the rounding error in the calculation of the finaliser table size. And, a script had to allocate a small (1 or 2 cell) object at the very end of the heap. And, this object must not have a finaliser. And, the initial state of the heap must have been all bits set to 1. All these conspire on the pyboard, but only if your run the script fresh (so unused memory is all 1's), and if your script allocates a lot of small objects (eg 2-char strings that are not interned).
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions