microcode/unix: fix continue_from_trap to freak out (force GC) less
authorMatt Birkholz <puck@birchwood-abbey.net>
Wed, 27 Aug 2014 05:27:38 +0000 (22:27 -0700)
committerMatt Birkholz <puck@birchwood-abbey.net>
Wed, 27 Aug 2014 05:27:38 +0000 (22:27 -0700)
commit4fafc74344456be993b42c7270f840bc23ea1d2c
treeb34e1ac5485aecd51e55c06abe85a95f199ee287
parentfa3feaff56851a29f556f0f26aacfffa38fcb6e7
microcode/unix: fix continue_from_trap to freak out (force GC) less

The classify_pc function returns pcl_unknown for traps in shared
libraries, e.g. in feraiseexcept (in the raise-float-exceptions
primitive) or any callout (in the c-call primitive).  This new
continue_from_trap function is less conservative, ignoring the
pcl_unknown result from classify_pc when the stack_pointer, Free and
PRIMITIVE registers all look good.  This eliminated all complaints
during `make check' about "resetting bogus Free" (not the actual
problem), representing 14 unnecessarily forced GCs.

Also, fix the murmur about "resetting bogus Free".  Correct it for
accuracy and so that it must be turned on with the
((make-primitive-procedure 'SET-DEBUG-FLAGS! 2) 9 #t)
src/microcode/uxtrap.c