Path: utzoo!attcan!uunet!husc6!mailrus!ames!nrl-cmf!cmcl2!brl-adm!brl-smoke!gwyn From: gwyn@brl-smoke.ARPA (Doug Gwyn ) Newsgroups: comp.lang.c Subject: Re: Partial application in C Message-ID: <8155@brl-smoke.ARPA> Date: 25 Jun 88 05:27:04 GMT References: <3353@cognos.UUCP> <619@goofy.megatest.UUCP> Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB)) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 14 In article <619@goofy.megatest.UUCP> djones@megatest.UUCP (Dave Jones) writes: >I began to wonder why such a restriction might be deemed necessary. >Was it Big Brother engineering? -- Thou shalt not modify thy >executable, for it is a Bad Thing. -- Or is there a valid technical >reason behind it? I can see one possible rationale: You can have 128KB of >memory in a sixteen bit machine, divided evenly between data and code, >if you use all the addresses for both kinds of memory. That's one reason, probably the main one behind split-I&D PDP-11s. Another reason is that high-performance processors generally pipeline instructions, and if you could modify the code right in front of the PC, it would require invalidation of the prefetch, which is extra architectural overhead that we would prefer to do without.