From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15583 invoked by alias); 24 Jul 2007 17:08:31 -0000 Received: (qmail 15575 invoked by uid 22791); 24 Jul 2007 17:08:30 -0000 X-Spam-Check-By: sourceware.org Received: from shell4.BAYAREA.NET (HELO shell4.bayarea.net) (209.128.82.1) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 24 Jul 2007 17:08:28 +0000 Received: (qmail 10606 invoked from network); 24 Jul 2007 10:08:27 -0700 Received: from 209-128-106-254.bayarea.net (HELO ?192.168.20.7?) (209.128.106.254) by shell4.bayarea.net with SMTP; 24 Jul 2007 10:08:27 -0700 Message-ID: <46A63209.4010405@eagercon.com> Date: Tue, 24 Jul 2007 17:14:00 -0000 From: Michael Eager User-Agent: Thunderbird 1.5.0.9 (X11/20070102) MIME-Version: 1.0 To: gdb@sources.redhat.com Subject: Re: frame cache References: <46A63051.7060208@eagercon.com> In-Reply-To: <46A63051.7060208@eagercon.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-07/txt/msg00171.txt.bz2 Michael Eager wrote: > I have a couple questions about the _frame_cache > structure and functions. > > 1) This appears to be a single-entry cache. Why not keep > multiple entries? > > 2) The data in the frame cache seems to be of two different > types: > a) Fixed, based on analyzing the code: register offsets, > stack alignment, framelessness, etc. > b) Variable, based on the call: return pc, frame base > > It looks to me that the object code is analyzed repeatedly > and this fixed information is discarded along with the > variable information. > > Why not keep a persistent cache of function specific fixed > data and only discard the call-specific data when the frame > cache is cleared? > > Is there any documentation about what target-specific data > the frame cache is supposed to contain or how the functions are > supposed to work? And one more question: 3) In _skip_prologue(), an dummy _frame_cache is created to be passed to _analyze_prologue(). This dummy cache entry is discarded. Why not retain this info? -- Michael Eager eager@eagercon.com 1960 Park Blvd., Palo Alto, CA 94306 650-325-8077