* amd64-tdep.c (amd64_init_frame_cache): New function.

(amd64_alloc_frame_cache, amd64_skip_prologue): Use it.
This commit is contained in:
Daniel Jacobowitz
2007-03-27 15:31:35 +00:00
parent 067b934b9a
commit d2449ee801
2 changed files with 19 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2007-03-27 Daniel Jacobowitz <dan@codesourcery.com>
* amd64-tdep.c (amd64_init_frame_cache): New function.
(amd64_alloc_frame_cache, amd64_skip_prologue): Use it.
2007-03-26 Nigel Stephens <nigel@mips.com> 2007-03-26 Nigel Stephens <nigel@mips.com>
Maciej W. Rozycki <macro@mips.com> Maciej W. Rozycki <macro@mips.com>

View File

@ -726,16 +726,13 @@ struct amd64_frame_cache
int frameless_p; int frameless_p;
}; };
/* Allocate and initialize a frame cache. */ /* Initialize a frame cache. */
static struct amd64_frame_cache * static void
amd64_alloc_frame_cache (void) amd64_init_frame_cache (struct amd64_frame_cache *cache)
{ {
struct amd64_frame_cache *cache;
int i; int i;
cache = FRAME_OBSTACK_ZALLOC (struct amd64_frame_cache);
/* Base address. */ /* Base address. */
cache->base = 0; cache->base = 0;
cache->sp_offset = -8; cache->sp_offset = -8;
@ -749,7 +746,17 @@ amd64_alloc_frame_cache (void)
/* Frameless until proven otherwise. */ /* Frameless until proven otherwise. */
cache->frameless_p = 1; cache->frameless_p = 1;
}
/* Allocate and initialize a frame cache. */
static struct amd64_frame_cache *
amd64_alloc_frame_cache (void)
{
struct amd64_frame_cache *cache;
cache = FRAME_OBSTACK_ZALLOC (struct amd64_frame_cache);
amd64_init_frame_cache (cache);
return cache; return cache;
} }
@ -810,6 +817,7 @@ amd64_skip_prologue (CORE_ADDR start_pc)
struct amd64_frame_cache cache; struct amd64_frame_cache cache;
CORE_ADDR pc; CORE_ADDR pc;
amd64_init_frame_cache (&cache);
pc = amd64_analyze_prologue (start_pc, 0xffffffffffffffffLL, &cache); pc = amd64_analyze_prologue (start_pc, 0xffffffffffffffffLL, &cache);
if (cache.frameless_p) if (cache.frameless_p)
return start_pc; return start_pc;