Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site peora.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxn!ihnp4!houxm!vax135!petsd!peora!jer
From: jer@peora.UUCP (J. Eric Roskos)
Newsgroups: net.arch
Subject: Re: Re: Where to do stack checking, etc.
Message-ID: <1684@peora.UUCP>
Date: Fri, 27-Sep-85 08:10:43 EDT
Article-I.D.: peora.1684
Posted: Fri Sep 27 08:10:43 1985
Date-Received: Sun, 29-Sep-85 08:31:06 EDT
References: <796@kuling.UUCP> <1713@orca.UUCP> <1599@peora.UUCP>
Organization: Perkin-Elmer SDC, Orlando, Fl.
Lines: 27
Keywords: parity error, uninitialized data

Joe Orost writes:
> What about an uninitialized array of bytes.  Say you want to set the first
> byte = 0.  So, you execute a store byte instruction.  Now, most processors
> that I know of do a store byte by doing a load fullword, inserting the byte,
> and doing a store fullword.  BANGO!*  a parity error!
>
> No wonder Ada doesn't require unitialized variable checking!

There's another problem related to arrays, also.  Suppose you have an
array, some of whose elements are uninitialized.  Then should the whole
array be treated as uninitialized, or not?  Either way you can find cases
where you need it to be the other way.  The above example relates to a more
general problem of implementing tagged architectures, viz., do you put
tags on bytes, or words, or what?  If you put the tags on bytes, then when
you have a data type that is, say, a word, you have that problem with
how to handle arrays with some uninitialized and some initialized elements,
again... (if you allow someone to access the word as bytes sometimes too,
at least).
-- 
Shyy-Anzr:  J. Eric Roskos
UUCP: Ofc:  ..!{decvax,ucbvax,ihnp4}!vax135!petsd!peora!jer
     Home:  ..!{decvax,ucbvax,ihnp4}!vax135!petsd!peora!jerpc!jer
  US Mail:  MS 795; Perkin-Elmer SDC;
	    2486 Sand Lake Road, Orlando, FL 32809-7642

       *"But, I want one what goes `WANGO'!"
				-- From a 1950s Pogo comic strip