1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-02 08:09:27 +01:00

(ia64_find_save_locs): Only call ia64_fetch_proc_info() when we really

have to (i.e., if we don't have cached info).  Otherwise,
	the unnecessary calls cause a performance regression.

(Logical change 1.102)
This commit is contained in:
hp.com!davidm 2003-09-24 21:56:42 +00:00
parent 01b02dde89
commit d0fddf5de8

View file

@ -496,16 +496,15 @@ ia64_find_save_locs (struct cursor *c)
sigset_t saved_sigmask;
int ret = 0;
ret = ia64_fetch_proc_info (c, c->ip, 1);
if (ret < 0)
return ret;
cache = get_script_cache (c->as, &saved_sigmask);
{
if (c->as->caching_policy == UNW_CACHE_NONE)
{
struct ia64_script tmp_script;
if ((ret = ia64_fetch_proc_info (c, c->ip, 1)) < 0)
goto out;
script = &tmp_script;
script->ip = c->ip;
script->hint = 0;
@ -519,6 +518,9 @@ ia64_find_save_locs (struct cursor *c)
__FUNCTION__, (long) c->ip, script ? "hit" : "missed");
if (!script)
{
if ((ret = ia64_fetch_proc_info (c, c->ip, 1)) < 0)
goto out;
script = script_new (cache, c->ip);
if (!script)
{