comp.lang.ada
 help / color / mirror / Atom feed
From: Duncan Sands <baldrick@free.fr>
To: comp.lang.ada@ada-france.org
Cc: Robert A Duff <bobduff@shell01.theworld.com>
Subject: Re: LLVM--Low Level Virtual Machine--and Ada
Date: Wed, 25 Jul 2007 15:14:20 +0200
Date: 2007-07-25T15:15:03+02:00	[thread overview]
Message-ID: <mailman.12.1185369246.3834.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: <wcc1wextf6s.fsf@shell01.TheWorld.com>

> > That's not quite true, as the use of displays rather than static links would
> > allow up-level access without any fat pointers.
> 
> I don't get it (how displays help, here).  If you have displays instead
> of static links, you need to pass display, or pointers to them.

I was wondering the same thing.

> >> Trampolines are not efficient!  Because after writing the code, the
> >> instruction cache needs to be flushed before calling the thing -- that
> >> is expensive on modern machines.
> >
> > True. Thunks have similar issues in that the address of the thing isn't
> > known before the call (so there is a pipeline stall), but at least we don't
> > have to flush the cache. And there sometimes is the possibility of in-lining
> > the call (something we don't currently do, but it is on the radar).
> 
> Trampolines are worse than thunks, efficiency-wise.
> 
> But it's only in Ada 2005 that it started to matter much.

In programs that use Ada.Containers heavily, my profiling tools regularly
show "code on the stack" (i.e. trampolines) as where the program is spending
most of its time.

Ciao,

Duncan.



  reply	other threads:[~2007-07-25 13:14 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-18  3:56 LLVM--Low Level Virtual Machine--and Ada Jerry
2007-07-18  7:24 ` Georg Bauhaus
2007-07-18  7:48 ` Duncan Sands
2007-07-19 14:30   ` Maxim Reznik
2007-07-19 14:56     ` Duncan Sands
     [not found]     ` <200707191656.27602.baldrick@free.fr>
2007-07-19 15:03       ` Duncan Sands
2007-07-19 21:30         ` Robert A Duff
2007-07-20  7:44           ` Duncan Sands
2007-07-20 14:06             ` Robert A Duff
2007-07-21 13:09               ` Tero Koskinen
2007-07-23  7:47               ` Duncan Sands
2007-07-24  2:12                 ` Randy Brukardt
2007-07-24  8:03                   ` Duncan Sands
2007-07-24  9:50                     ` Colin Paul Gloster
2007-07-24 10:47                       ` Markus E Leypold
2007-07-25 12:12                         ` Colin Paul Gloster
2007-07-25 12:59                           ` Markus E Leypold
2007-07-24 19:21                     ` Randy Brukardt
2007-07-24 19:36                       ` Duncan Sands
2007-07-24 19:58                         ` Randy Brukardt
2007-07-24 23:28                   ` Robert A Duff
2007-07-25  0:39                     ` Randy Brukardt
2007-07-25  2:00                       ` Robert A Duff
2007-07-25 13:14                         ` Duncan Sands [this message]
2007-07-21 22:04 ` anon
2007-07-22 13:22   ` Steve
2007-07-23 12:29   ` Colin Paul Gloster
2007-07-23 14:42     ` anon
2007-07-23 16:55       ` Markus E Leypold
2007-07-24 10:19       ` Colin Paul Gloster
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox