Re: Data Structure Reorganizing Optimizations

praetorius@figs.enet.dec.com (Robt. Praetorius)
Wed, 9 Nov 1994 16:29:28 GMT

          From comp.compilers

Related articles
[10 earlier articles]
Re: Data Structure Reorganizing Optimizations pardo@cs.washington.edu (1994-10-31)
Re: Data Structure Reorganizing Optimizations fjh@munta.cs.mu.OZ.AU (1994-11-02)
Re: Data Structure Reorganizing Optimizations jeremy@sour.sw.oz.au (1994-11-02)
Re: Data Structure Reorganizing Optimizations prochak@cibadiag.com (1994-11-02)
Re: Data Structure Reorganizing Optimizations pardo@cs.washington.edu (1994-11-09)
Re: Data Structure Reorganizing Optimizations kendall@pot.East.Sun.COM (1994-11-05)
Re: Data Structure Reorganizing Optimizations praetorius@figs.enet.dec.com (1994-11-09)
Re: Data Structure Reorganizing Optimizations pjensen@csi.compuserve.com (1994-11-11)
Re: Data Structure Reorganizing Optimizations glew@ichips.intel.com (1994-11-13)
Re: Data Structure Reorganizing Optimizations glew@ichips.intel.com (1994-11-13)
Re: Data Structure Reorganizing Optimizations monnier@di.epfl.ch (1994-11-14)
Re: Data Structure Reorganizing Optimizations rockwell@nova.umd.edu (1994-11-14)
Re: Data Structure Reorganizing Optimizations dsiebert@icaen.uiowa.edu (1994-11-14)
[3 later articles]
| List of all articles for this month |

Newsgroups: comp.arch,comp.compilers
From: praetorius@figs.enet.dec.com (Robt. Praetorius)
Summary: overloaded struct semantics in C
Keywords: C, design
Organization: Digital Equipment Corporation
References: 94-10-108 94-10-187
Date: Wed, 9 Nov 1994 16:29:28 GMT

leichter@zodiac.rutgers.edu writes...
>I agree absolutely that the rules are obsolete. In fact, they were obsolete
>the day they were written.
>
>The real underlying problem is that a struct can be interpreted in two
>different ways:
>
> 1. As an abstract data type, . . .


> 2. As a way of laying out data in a particular pattern in memory.
> Obviously, re-organization kills this.


          Amen! Somebody hit the nail on the head!


          Does anyone know of any languages that handle this well? I'd love
to read about 'em.


          Foreign structure/call interfaces in some Lisps do a careful job
of defining layout, calling and argument passing details - but I don't
know of any standards in the area.


          Does anybody know of better examples? How 'bout ANDF's interface
definitions? I've got the paper somewhere, haven't read it in detail
yet, will hafta dig it up. What about various RPC ISLs?


          Stack frame, device register, network message layout, etc. are all
interface issues. The interface description oughta be clearly separated
from (but related to) the ADT description. When there is no external
interface, the compiler should be free to reorganize. When separate
compilation of related modules within a single program is an issue,
programming environments would need to be improved to deal with the
possibility of reorganization.
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.