From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17759 invoked by alias); 5 May 2011 16:47:28 -0000 Received: (qmail 17750 invoked by uid 22791); 5 May 2011 16:47:26 -0000 X-SWARE-Spam-Status: No, hits=-6.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 05 May 2011 16:47:01 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p45Gl0YB001023 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 5 May 2011 12:47:00 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p45Gl0q0028021; Thu, 5 May 2011 12:47:00 -0400 Received: from opsy.redhat.com (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id p45GkxjA012050; Thu, 5 May 2011 12:47:00 -0400 Received: by opsy.redhat.com (Postfix, from userid 500) id 9F2FE3784C3; Thu, 5 May 2011 10:46:59 -0600 (MDT) From: Tom Tromey To: gdb-patches@sourceware.org Subject: Re: RFC: implement typed DWARF stack References: Date: Thu, 05 May 2011 16:47:00 -0000 In-Reply-To: (Tom Tromey's message of "Wed, 04 May 2011 14:47:21 -0600") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-05/txt/msg00144.txt.bz2 >>>>> "Tom" == Tom Tromey writes: Tom> I would appreciate comments on this. In the absence of comments I am Tom> going to check it in. Tom> Jakub recently implemented Cary Coutant's typed DWARF stack proposal in Tom> GCC. I had a couple notes I wanted to make that I forgot about when I was actually writing the email. First, look at the dwarf2_get_die_type addition in dwarf2read.c. I am not extremely pleased with this code. I think due to DIE cache flushing it may create new types from time to time. I am not sure what to do about this. One idea I had was that perhaps read_type_die_1 could intern base types (meaning we would have to re-read the DIEs but we would not instantiate new types all the time). Another idea was to permanently cache base types by DIE -- but this seemed like too much overhead for a reasonably obscure feature. The other issue is that you might be wondering why I didn't update the DWARF->AX compiler in dwarf2loc.c. The reason is simply that this extension is, IIUC, mostly useful for floating point and decimal floating point, and AX cannot express those. Maybe this can also be used for wider-than-address-sized integral types. I will look; maybe the AX compiler does need an update for this. Tom