[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Why *LDB etc.
- To: GLS at MIT-MC
- Subject: Why *LDB etc.
- From: JONL at MIT-MC (Jon L White)
- Date: Thu, 18 Sep 80 16:54:00 GMT
- Cc: (BUG LISP) at MIT-MC
- Original-date: 18 SEP 1980 1254-EDT
Date: 18 September 1980 1244-EDT (Thursday)
From: Guy.Steele at CMU-10A
. . .
Well, actually I don't see why this matters. In the interpreter you
don't care, and the compiler is perfectly capable of figuring out
that there is a constant there and pre-shifting it--indeed, it can
optimize even better. I don't know exactly what code is produced
for *LDB, but for (*LDB 0304 X) one might imagine the code
(LDB TT (% 0 0 @ (SPECIAL X) 030400))
being generated. No shifts, and indeed 0304_30 doesn't exactly appear
either.
As it happens, the compiler knows absolutely nothing about LDB, *LDB etc.
The only reason why this whole question came up is that ALAN was looking
into the internals of things, and apparently didn't realize that *LDB
was a stop-gap measure until the compiler open-codes LDB. Yea, someday.