home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.arch
- Path: sparky!uunet!usc!sol.ctr.columbia.edu!destroyer!ubc-cs!uw-beaver!tera.com!news
- From: bob@tera.com (Bob Alverson)
- Subject: Re: trapping speculative ops
- Message-ID: <1992Aug27.015842.17157@tera.com>
- Sender: news@tera.com (News Administrator)
- Reply-To: bob@tera.com
- Organization: Tera Computer Company, Seattle, WA
- References: <CLIFFC.92Aug26084159@medea.rice.edu>
- Date: Thu, 27 Aug 1992 01:58:42 GMT
- Lines: 23
-
- In article 92Aug26084159@medea.rice.edu, cliffc@rice.edu (Cliff Click) writes:
- > Let every register have some extra "trap" bits.
- > A read of the register with it's trap bits set, causes the exception.
- > A write to the register sets the trap bits according to the success of
- > the operation.
- >
- Let's see. You'll also probably want special loads and stores that preserve
- those trap bits. That way the register allocator and context switch code can
- safely save and restore potentially poisoned registers. You might also want
- a register to register move that propagates poison, so the register allocator
- can shuffle values around with wild abandon.
-
- Speaking of context switch, make sure you can restore the poison on *all* the
- registers or have some that you know aren't poisoned (like the one holding the
- stack pointer).
-
- Oh, and those folks with conditional moves or conditional operations may want to
- have the poison only conditional "tasted," to keep jackpot cases from obfuscating
- compiler transformation decisions.
-
- Bob
-
-
-