This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Array Descriptor Update


On Tue, Aug 18, 2009 at 2:13 PM, N.M. Maclaren<nmm1@cam.ac.uk> wrote:
> Looking at this, I have noticed it mentions virtual origins, but neither it
> nor the comp.lang.fortran thread says why using a virtual origin is a
> really, really bad idea in a portable specification. Yes, Bob Corbett is
> right that it can gain a little bit of performance almost for free, but the
> downsides are serious.
>
> If I should raise this elsewhere, please tell me where. I have subscribed to
> the Wiki. The reasons are:
>
> ? It's a breach of the C standard, but that's a mere technicality :-)

How so?  I think it is not.

> ? It's completely infeasible on segmented architectures, which still exist;
> that's probably not too serious, either.

How so?  But yes, who cares.

> ? It's incompatible with most forms of memory checking technology, though
> there is a path through the minefield for some of them (i.e. the ones that
> check only accesses, and not stored pointers).

I don't remember technology that relies on object base address pointers.
valgrind for example will be happy with a pointer into the object.

> ? It interferes with many forms of garbage collection, and is incompatible
> with many of the fancier ones. ?The extreme case is that it looks like a
> pointer into another object, which is them moved as part of compaction.

I don't think so.  Garbage collectors better should be able to handle
&a[10] as a reference to a.

Richard.

> Regards,
> Nick Maclaren.
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]