comp.lang.ada
 help / color / mirror / Atom feed
From: "Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org>
Subject: Re: Joint Strike Fighter
Date: Fri, 30 Nov 2001 09:46:34 -0500
Date: 2001-11-30T14:46:20+00:00	[thread overview]
Message-ID: <9u863s$lo$1@nh.pace.co.uk> (raw)
In-Reply-To: x7v7ks8bf0g.fsf@galadriel.frlngtn.gecm.com

Well, there may be issues with any given implementation of Ada and how it
chooses to handle things, but there isn't anything that I know of inherent
in Ada that would force pass-by-value of a large record structure. Some
implementations of Ada could be grossly inefficient in all sorts of areas
without that being something intrinsic in the language.

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.)

Are there implementations out there that pass a large record or array by
value if the mode is "in out"? (Beyond efficiency, I'd park the PBV/PBR
issue in the "Don't Care" lot. If the compiler picks the fastest possible
means of transferring the parameter (and protects the in/out-ness through
static analysis), but my code depends on side effects of PBR, I've probably
done a bad job of designing the code.)

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Simon Wright" <simon.j.wright@amsjv.com> wrote in message
news:x7v7ks8bf0g.fsf@galadriel.frlngtn.gecm.com...
>
> I'm not sure that this particular issue is the right way round (well,
> it wasn't for me when I encountered it).
>
> I had a Socket (record) type which needed to be passed by reference
> but wasn't; the cure was to make it tagged, which I was less than
> happy with. I forget why 'limited' wouldn't do ..
>
> So I _did_ have to do something explicit to get pass-by-reference.





  reply	other threads:[~2001-11-30 14:46 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 [this message]
2001-11-30 16:37                   ` Jeffrey Carter
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