From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id GAA27269; Sat, 28 Aug 2004 06:55:21 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id GAA28230 for ; Sat, 28 Aug 2004 06:55:19 +0200 (MET DST) Received: from mail.davidb.org (adsl-64-172-240-129.dsl.sndg02.pacbell.net [64.172.240.129]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id i7S4tH5q031577 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sat, 28 Aug 2004 06:55:19 +0200 Received: from davidb by mail.davidb.org with local (Exim 4.34 #1 (Debian)) id 1C0vFD-0006Fj-IP; Fri, 27 Aug 2004 21:55:15 -0700 Date: Fri, 27 Aug 2004 21:55:15 -0700 From: David Brown To: David McClain Cc: skaller@users.sourceforge.net, Brian Hurt , caml-list Subject: Re: [Caml-list] C++ Throws Message-ID: <20040828045515.GA23863@old.davidb.org> References: <000901c48c93$9bc9eec0$0201000a@dylan> <1093657249.15255.1712.camel@pelican.wigram> <001201c48cb5$73239ee0$0401000a@dylan> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <001201c48cb5$73239ee0$0401000a@dylan> User-Agent: Mutt/1.5.6i X-Miltered: at nez-perce with ID 41301035.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 caml-list:01 2004:99 mcclain:01 pointers:01 compiler:01 compiler:01 ocaml:01 0700,:01 exception:02 stack:02 stack:02 manually:03 dave:03 wrote:03 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Fri, Aug 27, 2004 at 09:13:52PM -0700, David McClain wrote: > I do find it amazing that C++ would be dumb enough to try to scaffold raw > stack frames, instead of using some kind of dynamic link pointers to reach > each frame C++. How in the world would any kind of cross-language > interoperability ever function if this were the case. Mind you I'm not > disputing your estimate here, it's just that I find it a bit incredulous. It might depend on the compiler and possibly options. Handling exceptions by manually unwinding stack frames is popular because it transfers the cost of exceptions to their occurrences, rather than each handle clause. This is a big efficiency gain for code where exceptions do not occur most of the time. I didn't catch which compiler you are using, but recent versions of G++ _do_ use unwinding exception handling that would be thrown off by the ocaml stack frames. Dave ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners