Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!cs.utexas.edu!uwm.edu!lll-winken!decwrl!shelby!neon!neon!gumby From: gumby@Gang-of-Four.Stanford.EDU (David Vinayak Wallace) Newsgroups: comp.lang.misc Subject: (Register windows considered harmful (Was: function calls) Message-ID: Date: 24 Mar 90 18:57:12 GMT References: <6283@crdgw1.crd.ge.com> <14288@lambda.UUCP> Sender: news@Neon.Stanford.EDU (USENET News System) Distribution: comp Organization: Computer Science Department, Stanford University Lines: 29 In-Reply-To: peter@ficc.uu.net's message of 24 Mar 90 15:55:10 GMT Date: 24 Mar 90 15:55:10 GMT From: peter@ficc.uu.net (Peter da Silva) So why are you against register windows, which allow you to put more of this important resource on a chip without slowing it down by making the register address incredibly wide? They make downward funargs[*] extremely expensive. Back to addressible registers or stack caches. The problem with a stack cache is of course the cache-management hardware itself, and is the usual argument people give against it. Can someone point me to any real comparison numbers on the performance of such machines vs reg. window machines? The point in defense of reg windows is usually that they are cheap to make (in chip landscape) and that the space used by the directory would better be spent on more registers themselves. However I've never seen real data on their performance. Probably even with a stack data cache you'd still want a few global registers. g [*] lexical functions which share the parent's lexical environment and can be passed down the call chain.