Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #3168
| From | Thomas Koenig <tkoenig@netcologne.de> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: Looking for a garbage collection paper |
| Date | 2022-09-29 13:15 -0400 |
| Organization | news.netcologne.de |
| Message-ID | <22-09-016@comp.compilers> (permalink) |
| References | <22-09-011@comp.compilers> <22-09-012@comp.compilers> <22-09-013@comp.compilers> <22-09-014@comp.compilers> |
gah4 <gah4@u.washington.edu> schrieb:
> On Friday, September 23, 2022 at 11:33:30 AM UTC-7, Spiros Bousbouras wrote:
>
>> > and for the next colour: cur_col = (cur_col + 1) mod 3
>> >
>> > Sources available @ <https://prino.neocities.org/zOS/zOS-Tools.html>
>
>> If it were nothing more than that , the book would not have called it
>> ingenious. Obviously it will have to fit with the rest of the algorithm
>> without breaking the invariants which guarantee correctness. It also
>> says "a single instruction". I don't think that
>> cur_col = (cur_col + 1) mod 3
>> can be implemented in a single instruction in common hardware.
>
> (snip)
>
>> [Hm, you're right, x+1 mod 3 is not a likely instruction. -John]
>
> Maybe not common hardware today, but 50 years ago?
>
> It would seem more likely on a machine with a word size a
> multiple of 3, with 36 bit words not so rare 50 years ago.
>
> The PDP-10 byte addressing instructions allow bytes
> between 1 and 36 bits. I never learned all the tricks with them,
> but if you use 12 bit bytes, the bit offset will cycle 0, 12, 24.
>
> That is, you can sequentially address thirds of
> the 36 bit words.
>
> I did do PDP-10 assembly programming, but not quite enough
> to learn all the tricks.
> [I did a lot of PDP-8 and PDP-10 programming and I am pretty sure
> there was no way to do x+1 mod 3 in a single instruction, not even
> with tricky IDIVI with an indexed immediate operand. -John]
What about
int a[] = {1, 2, 0};
cur_col = a[cur_col];
That would qualify as a single indexed load, provided cur_col
started out with a value between 0 and 2.
[Duh, of course that will work on any word addressed machine. -John]
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar
Looking for a garbage collection paper Spiros Bousbouras <spibou@gmail.com> - 2022-09-20 09:29 +0000
Re: Looking for a garbage collection paper Robert Prins <robert@prino.org> - 2022-09-21 09:42 +0000
Re: Looking for a garbage collection paper Spiros Bousbouras <spibou@gmail.com> - 2022-09-23 16:38 +0000
Re: Looking for a garbage collection paper gah4 <gah4@u.washington.edu> - 2022-09-23 12:33 -0700
Re: Looking for a garbage collection paper Thomas Koenig <tkoenig@netcologne.de> - 2022-09-29 13:15 -0400
Re: Looking for a garbage collection paper gah4 <gah4@u.washington.edu> - 2022-09-29 21:10 -0700
Re: Looking for a garbage collection paper gah4 <gah4@u.washington.edu> - 2022-09-29 23:56 -0700
Re: Looking for a garbage collection paper drb@ihatespam.msu.edu (Dennis Boone) - 2022-09-23 19:39 +0000
csiph-web