This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [2/2] Reducing the overhead of dwarf2 location tracking


On Fri, Mar 04, 2011 at 04:00:06PM +0100, Richard Guenther wrote:
> But then location lists for those variables depend on the function context
> and cannot be shared for different callers.  Am I missing something?

Sure, they can't be shared between different functions.  If Richard's patch
does that, it is wrong.

> Likewise I don't see how they could be shared for multiple inline instances
> in the same function.

But there is no reason why it can't be shared within one function, across
many inline instances.  There is just a single nonlocalized decl in all
those cases you cache, and even if it appears in multiple BLOCKs
BLOCK_NONLOCALIZED_VARS, VAR_LOCATION notes referencing it are still
all queued for that DECL_UID from the whole function and any time you
want to create a location list from what has been queued in the VAR_LOCATION
notes, you will get the same list.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]