There was a bool field that was caching results of 'is_backtrace_needed'
lookups. Now that field is gone, and 'is_backtrace_needed' is called
repeatedly. I guess it's not that bad (it boils down to a lookup in an
std::set), but that function was also printing notices for functions
with enabled stack trace recording, and now those messages are printed
repeatedly as well. The following patch removes the notices completely
and slightly cleans up the surrounding code.