From owner-freebsd-arch@FreeBSD.ORG Tue Mar 28 11:12:05 2006 Return-Path: X-Original-To: freebsd-arch@freebsd.org Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1879B16A420; Tue, 28 Mar 2006 11:12:05 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from pasmtp.tele.dk (pasmtp.tele.dk [193.162.159.95]) by mx1.FreeBSD.org (Postfix) with ESMTP id AE55943D46; Tue, 28 Mar 2006 11:12:04 +0000 (GMT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (0x535c0e2a.sgnxx1.adsl-dhcp.tele.dk [83.92.14.42]) by pasmtp.tele.dk (Postfix) with ESMTP id 02C711EC387; Tue, 28 Mar 2006 13:11:58 +0200 (CEST) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.13.4/8.13.4) with ESMTP id k2SBBuGa061880; Tue, 28 Mar 2006 13:11:58 +0200 (CEST) (envelope-from phk@critter.freebsd.dk) To: Andrew Reilly From: "Poul-Henning Kamp" In-Reply-To: Your message of "Tue, 28 Mar 2006 21:58:33 +1100." <20060328105833.GE87799@gurney.reilly.home> Date: Tue, 28 Mar 2006 13:11:56 +0200 Message-ID: <61879.1143544316@critter.freebsd.dk> Sender: phk@critter.freebsd.dk Cc: Jason Evans , freebsd-arch@freebsd.org Subject: Re: Proposed addition of malloc_size_np() X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Mar 2006 11:12:05 -0000 In message <20060328105833.GE87799@gurney.reilly.home>, Andrew Reilly writes: >On Tue, Mar 28, 2006 at 12:39:06PM +0200, Poul-Henning Kamp wrote: >> Nope, not even close. >> >> What Recursiv did was novel in that the objects lived in hardware >> and microcode, there were no way to overrun an array, because you >> simply couldn't index it outside it's bounds. Not even in the >> operating system. > >How is that different from all of the preceding segmented >machines like (to quote your .sig) the Z8001+MMU? On segmented architectures, all the way back, you put multiple objects in one segment. The traditional UNIX way had two or three segments, all of the code in one and all of the data (+/- the stack) in another. What Rekursiv did was to put each single variable or object in its own segment. int i; int j; would take two objects (or segments if you like). This is not merely segmentation, this is object oriented memory. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.