From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 4868 invoked from network); 1 Apr 2022 21:45:19 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 1 Apr 2022 21:45:19 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 4F2359D73D; Sat, 2 Apr 2022 07:45:14 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 082D49D6FA; Sat, 2 Apr 2022 07:43:19 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id E8E1B9D6FA; Sat, 2 Apr 2022 07:43:15 +1000 (AEST) Received: from darkstar.fourwinds.com (fourwinds.com [63.64.179.162]) by minnie.tuhs.org (Postfix) with ESMTPS id 7FCB99D6F9 for ; Sat, 2 Apr 2022 07:43:15 +1000 (AEST) Received: from darkstar.fourwinds.com (localhost [127.0.0.1]) by darkstar.fourwinds.com (8.16.1/8.15.2) with ESMTP id 231LhEf23355824 for ; Fri, 1 Apr 2022 14:43:14 -0700 Received: from darkstar.fourwinds.com (jon@localhost) by darkstar.fourwinds.com (8.16.1/8.15.2/Submit) with ESMTP id 231LhE2U3355821 for ; Fri, 1 Apr 2022 14:43:14 -0700 Message-Id: <202204012143.231LhE2U3355821@darkstar.fourwinds.com> From: Jon Steinhart To: TUHS main list In-reply-to: <20220401194159.HF6gb%steffen@sdaoden.eu> References: <44FEFAE6-720F-4449-84DB-228B7A6C097C@kdbarto.org> <202204011726.231HQFm03349496@darkstar.fourwinds.com> <20220401194159.HF6gb%steffen@sdaoden.eu> Comments: In-reply-to Steffen Nurpmeso message dated "Fri, 01 Apr 2022 21:41:59 +0200." MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <3355819.1648849394.1@darkstar.fourwinds.com> Date: Fri, 01 Apr 2022 14:43:14 -0700 X-JON-SPAM: local delivery Subject: Re: [TUHS] A Reiser tour de force X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" Steffen Nurpmeso writes: > Jon Steinhart wrote in > <202204011726.231HQFm03349496@darkstar.fourwinds.com>: > |David Barto writes: > |>> On Apr 1, 2022, at 8:59 AM, Douglas McIlroy |>> du> wrote: > |>> The recent discussion about Research choosing BSD's paging over > |>> Reiser-London's brought to mind a stunning program by Reiser that > |>> Research did adopt. > |>> > |>> A critical primitive in the Blit terminal was bitblt (block transfer > |>> of a rectangular area). It was used ubiquitously, for example to > ... > |>> Bitblt got refined (i.e. elaborated) several times before Reiser did > |>> away with it entirely. Instead he wrote a just-in-time generator of > |>> optimal code. Thousands of distinct variants, which varied in size > |>> from 16 to 72 bytes, could be produced by the same 400 lines of > |>> assembler code. > ... > |> Does this exist for the rest of us to study? > ... > |It's not insanely complicated by modern standards. Without any knowledge > |of other work, I did the same thing for a 68020 based graphics system where > |the JIT code went into the I-cache and was amazingly fast for its day. > | > |If I remember correctly, things started with an outer-loop test to see > |if there were overlapping regions to determine whether to go forward > |to backwards to avoid having the destination trash the source. > ... > > Only to add that "modern standard" C libraries define > "overlapping" by means of exclusivity, meaning that memcpy(x, > &x[1], 1) is an invalid overlapping that requires memmove() to be > used. Uh, yeah, but not relevant at least to the code I did which was written in C but generated machine code, not calls to library functions.