Re: Looking for a garbage collection paper

Thomas Koenig <tkoenig@netcologne.de>
Thu, 29 Sep 2022 13:15:45 -0400 (EDT)

          From comp.compilers

Related articles
Looking for a garbage collection paper spibou@gmail.com (Spiros Bousbouras) (2022-09-20)
Re: Looking for a garbage collection paper robert@prino.org (Robert Prins) (2022-09-21)
Re: Looking for a garbage collection paper spibou@gmail.com (Spiros Bousbouras) (2022-09-23)
Re: Looking for a garbage collection paper gah4@u.washington.edu (gah4) (2022-09-23)
Re: Looking for a garbage collection paper drb@ihatespam.msu.edu (2022-09-23)
Re: Looking for a garbage collection paper tkoenig@netcologne.de (Thomas Koenig) (2022-09-29)
Re: Looking for a garbage collection paper gah4@u.washington.edu (gah4) (2022-09-29)
Re: Looking for a garbage collection paper gah4@u.washington.edu (gah4) (2022-09-29)
| List of all articles for this month |

From: Thomas Koenig <tkoenig@netcologne.de>
Newsgroups: comp.compilers
Date: Thu, 29 Sep 2022 13:15:45 -0400 (EDT)
Organization: news.netcologne.de
References: 22-09-011 22-09-012 22-09-013 22-09-014
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="62738"; mail-complaints-to="abuse@iecc.com"
Keywords: GC, history, comment
Posted-Date: 29 Sep 2022 13:15:45 EDT

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]


Post a followup to this message

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