From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19936 invoked by alias); 30 Apr 2003 19:11:40 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 19925 invoked from network); 30 Apr 2003 19:11:40 -0000 Received: from unknown (HELO cygnus.equallogic.com) (65.170.102.10) by sources.redhat.com with SMTP; 30 Apr 2003 19:11:40 -0000 Received: from cygnus.equallogic.com (localhost.localdomain [127.0.0.1]) by cygnus.equallogic.com (8.11.6/8.11.6) with ESMTP id h3UJBUt29449 for ; Wed, 30 Apr 2003 15:11:30 -0400 Received: from deneb.dev.equallogic.com (deneb.dev.equallogic.com [172.16.1.99]) by cygnus.equallogic.com (8.11.6/8.11.6) with ESMTP id h3UJBUr29434; Wed, 30 Apr 2003 15:11:30 -0400 Received: from PKONING.equallogic.com (localhost.localdomain [127.0.0.1]) by deneb.dev.equallogic.com (8.11.6/8.11.6) with ESMTP id h3UJBTx24048; Wed, 30 Apr 2003 15:11:29 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16048.11717.562000.96623@gargle.gargle.HOWL> Date: Wed, 30 Apr 2003 19:11:00 -0000 From: Paul Koning To: eager@eagercon.com Cc: drow@mvista.com, carlton@bactrian.org, gdb@sources.redhat.com Subject: Re: breakpoints in constructors References: <20030424145034.GA14226@nevyn.them.org> <16046.58450.847887.962016@pkoning.dev.equallogic.com> <20030429212434.GA1637@nevyn.them.org> <3EB01CC8.CD952D8B@eagercon.com> X-SW-Source: 2003-04/txt/msg00347.txt.bz2 >>>>> "Michael" == Michael Eager writes: Michael> I think that you can generate a jump rather than a call, so Michael> there is no extraneous call frame on the stack. (I think Michael> that's what the Apple patch does, actually.) You can jump in the same cases where you can use multiple entry points: function A does some stuff and then finishes by doing what B does. But if function A starts with what B does and then does something else (e.g., the deleting constructor) then you can't jump. Actually, if you pretend it's all calls, the optimizer will already turn some of them into jumps ("tail call") automagically. paul