Randomized compilation order (was: failure due to compiler?)

masticol@scr.siemens.com (Steve Masticola)
13 Jul 1996 22:06:32 -0400

          From comp.compilers

Related articles
Re: failure due to compiler? kanze@lts.sel.alcatel.de (1996-07-04)
failure due to compiler? flake@elda.demon.co.uk (1996-07-09)
Re: failure due to compiler? cliffc@ami.sps.mot.com (1996-07-10)
Randomized compilation order (was: failure due to compiler?) masticol@scr.siemens.com (1996-07-13)
Re: Randomized compilation order (was: failure due to compiler?) darius@phidani.be (Darius Blasband) (1996-07-24)
Re: Randomized compilation order (was: failure due to compiler?) mgrice@iastate.edu (Matthew B Grice) (1996-07-26)
Re: Randomized compilation order (was: failure due to compiler?) pardo@cs.washington.edu (1996-07-31)
| List of all articles for this month |
From: masticol@scr.siemens.com (Steve Masticola)
Newsgroups: comp.compilers
Date: 13 Jul 1996 22:06:32 -0400
Organization: Siemens Corporate Research, Princeton (Plainsboro), NJ
References: 96-07-041 96-07-056 96-07-070
Keywords: errors

cliffc@ami.sps.mot.com (Cliff Click) writes:


>flake@elda.demon.co.uk (Peter L Flake) writes:


[ Code for procedures emitted in randomized order in old Multics BCPL
compiler. - Steve. ]


>> [Anyone got any insight into why in the world they made a non-deterministic
>> compiler? -John]


>A universal hash function? Guaranteed performance, even in the face of
>pathological inputs, because the hash function changes every time and any
>given instance of the hash function has a very small chance of being
>pathologically bad? Just my guess...


It might also have been an attempt to reduce disk latency problems
when paging instructions in. If the caller was always right next to
the callee, the disk would have to travel a full rotation on any call
that produced a page fault.


If so, they could have done it far better by cruising the call graph a
bit.


- Steve (masticol@scr.siemens.com).
--


Post a followup to this message

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