[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH] (hopefully) fix the massive random Salmone
From: |
Evan Hanson |
Subject: |
Re: [Chicken-hackers] [PATCH] (hopefully) fix the massive random Salmonella breakage |
Date: |
Sun, 4 Oct 2015 22:32:01 +1300 |
Hi Peter,
This makes sense. I didn't know that was ever done, but after a search
of the rest of the runtime it doesn't *look* like this temporary stack
trick is used anywhere else. Nice find! I haven't been able to reproduce
a crash since applying these fixes on a handful of platforms.
Just two minor things: (1) it looks like one too many words is allocated
for the C_apply_values argvector, and (2) as a small performance tweak,
we can avoid inspecting all the pair headers a second time during
C_apply* by reusing the list's length when copying it into the argvector
(since we already know its length (and that it's a regular list) by that
point). See the attached patches. It's also a bit silly to shift, then
immediately unshift the C_u_i_length results, but that probably doesn't
matter much overall.
If you're happy with those two changes, I'll push the whole lot. Then we
can see a beautiful, error-free salmonella run tonight. :)
Evan
0001-Fix-harmless-off-by-one-in-C_apply_values.patch
Description: Text Data
0002-Loop-to-known-list-length-when-copying-args-into-av-.patch
Description: Text Data