comp.lang.ada
 help / color / mirror / Atom feed
From: rfg@nsc.nsc.com (Ron Guilmette)
Subject: Re: Dynamic Address Clauses??
Date: 8 Jun 88 18:52:57 GMT	[thread overview]
Message-ID: <5151@nsc.nsc.com> (raw)
In-Reply-To: 2817@geac.UUCP

Regarding the use of:

	procedure P;
	for P use at DYNAMIC;

In article <2817@geac.UUCP> daveb@geac.UUCP (David Collier-Brown) writes:
>
>  Well, I can suggest two cases where relocation of routines which
>is transparent to the program may be of use:
>	1) shared libraries
>	2) replacement chipsets
>  Both are really variants of the same thing, a piece of code which
>may be replaced at run-time, either because its at a different
>address than it was at link-time, or because it had to be replaced
>due to an error.

I'm sorry, but I have to say that the above statements don't really address
my initial concerns.

First, note that the EXPLICIT use of the address clause implies very clearly
that whatever is happening is not "transparent" to the user's program, but
rather that the program must actively participate in defining (or using)
the "effects" which are to occur.

Second, I believe that my original posting asked why it would ever be of
any value to use a dynamic address clause for a procedure.  Just saying
that the procedure is at a different address than it was at link time
begs the question.  Why is it at a different address?  Under what circum-
stances whould it be useful for the procedure to be "at" a different
(program-specified) address?

I don't think that shared-libraries are a case worth considering because
any reasonable linker should know about such things and should, in fact,
make their usage truly transparent to the program.

The possibility of using dynamic procedure address clauses to simply route
calls around defective and or outdated RAM/ROM versions of the procedures
involved sounds like a plausable use for this language "feature", however
such usage conflicts directly with my initial assumptions regarding the
intended semantics of dynamic address clauses for procedures.

The question I would now like to pose to the comp.lang.ada readers is this:
"Should a dynamic address clause for a procedure be considered to be simply
a DECLARATIVE statement (i.e. the procedure ALREADY resides here) or should
it be considered to be an EXECUTABLE statement (i.e. PUT the procedure code
at this location, regardless of where it currently resides)?"

I have been assuming the latter interpretation.  What do y'all think?

  reply	other threads:[~1988-06-08 18:52 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1988-06-01 15:12 Dynamic Address Clauses?? Mike Linnig
1988-06-02 12:39 ` Robert Firth
1988-06-10 14:38   ` stt
1988-06-15 21:19     ` Ron Guilmette
1988-06-03  6:02 ` Ron Guilmette
1988-06-03 14:52   ` markb
1988-06-06 12:33   ` David Collier-Brown
1988-06-08 18:52     ` Ron Guilmette [this message]
1988-06-10 19:22       ` Steve Hyland
1988-06-15 12:26       ` David Collier-Brown
1988-06-15 14:10 ` Burch Seymour
  -- strict thread matches above, loose matches on Subject: below --
1988-06-10 15:42 Jim Moody, DCA C342
1988-06-16 13:53 David E. Emery
1988-06-17  4:13 ` Richard A. O'Keefe
replies disabled

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