comp.lang.ada
 help / color / mirror / Atom feed
From: Jeffrey Carter <jeffrey.carter@boeing.com>
Subject: Re: Joint Strike Fighter
Date: Fri, 30 Nov 2001 16:37:37 GMT
Date: 2001-11-30T16:37:37+00:00	[thread overview]
Message-ID: <3C07B5D1.485E22C6@boeing.com> (raw)
In-Reply-To: 9u863s$lo$1@nh.pace.co.uk

Marin David Condic wrote:
> 
> I would think that a sensible implementation of Ada would look at the size
> of the item being passed and decide on the most efficient means for the
> given architecture. AFAIK, the in/out-ness of a parameter shouldn't force a
> pass-by-value (the language lawyers can correct me here) but pretty
> definitely an "in out" ought to be able to go by reference. (Again presuming
> that the compiler makes an intelligent choice about how to pass the
> parameter for maximum efficiency.)

The ARM specifies that elementary types must be passed by value,
regardless of size or mode, and tagged and limited types must be passed
reference, regardless of size or mode. Other types are up to the
compiler writer.

So, for example, if your compiler supports 64-bit integer types on a
platform with 32-bit registers (as GNAT does), they must be passed by
value even though they don't fit in a single register and an address
does. In this case pass by reference might be more "efficient" but is
not allowed by the language.

On the other hand, a small limited type must be passed by reference even
though several of them might fit in one register. In this case pass by
value might be more "efficient" but again is not allowed.

-- 
Jeffrey Carter



  reply	other threads:[~2001-11-30 16:37 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-29  4:55 Joint Strike Fighter Richard Riehle
2001-10-29 11:11 ` Ian
2001-10-31  6:38   ` Richard Riehle
2001-10-31 13:38     ` David Botton
2001-10-31 16:15     ` Wes Groleau
2001-10-31 16:25       ` Marin David Condic
2001-11-01  4:44         ` JF Harrison
2001-11-01 14:41           ` Marin David Condic
2001-11-03 16:58             ` Richard Riehle
2001-11-03 18:52               ` Jeffrey Carter
2001-11-05 15:30                 ` Ted Dennison
2001-11-06  2:07                   ` Jeffrey Carter
2001-11-06 16:46                   ` Rex Reges
2001-11-06 18:17                     ` Marin David Condic
2001-11-06 19:07                     ` Larry Kilgallen
2001-11-06 21:19                       ` Rex Reges
2001-11-06 23:01                         ` Larry Kilgallen
2001-11-08 14:55                         ` Rex Reges
     [not found]                         ` <Wa+tfCvHgQXH@eisner.e <3BEA9CED.8C6BF839@reges.org>
2001-11-08 15:43                           ` Ian Wild
2001-11-08 22:18                             ` Rex Reges
2001-11-22  6:25                               ` David Thompson
2001-11-08 16:23                         ` Larry Kilgallen
2001-11-08 13:53                     ` Marc A. Criley
2001-11-08 22:15                       ` Rex Reges
2001-11-09 12:44                         ` Marc A. Criley
2001-11-09 15:41                           ` Ted Dennison
2001-11-09 15:35                     ` Ted Dennison
2001-11-10  6:56                       ` john flynn
2001-11-04  1:08               ` David Botton
2001-11-05 14:59               ` Marin David Condic
2001-11-01 14:55           ` Ted Dennison
2001-11-01 21:47           ` P Norby
2001-11-02 17:02           ` P Norby
     [not found]           ` <003301c163c0$289f8c60$45d82c41@vaio>
2001-11-02 19:54             ` JF Harrison
     [not found]             ` <002a01c163d8$25bb4440$2702a8c0@WorkGroup>
2001-11-02 20:40               ` JF Harrison
2001-11-01 11:38         ` Ian
2001-11-01 14:51           ` Marin David Condic
2001-11-02  9:08           ` John McCabe
2001-11-02 16:16             ` Ian
2001-11-02 17:04               ` John McCabe
2001-11-29 16:48           ` Matthew Heaney
2001-11-29 17:12             ` Marin David Condic
2001-11-30 12:49               ` Simon Wright
2001-11-30 14:46                 ` Marin David Condic
2001-11-30 16:37                   ` Jeffrey Carter [this message]
2001-11-30 15:03                 ` Ted Dennison
2001-11-30 16:26                   ` Simon Wright
2001-11-30 16:39                     ` Ted Dennison
2001-11-30 17:08                     ` Pat Rogers
2001-11-30 22:53                     ` Chad R. Meiners
2001-12-01  8:08                       ` Simon Wright
2001-10-29 15:02 ` Marin David Condic
2001-10-29 17:55 ` Paul A Storm
2001-11-01  4:46   ` Richard Riehle
2001-11-02 20:03 ` Dirk Craeynest
2001-11-07  3:57 ` Vincent Marciante
replies disabled

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