From owner-freebsd-arch@FreeBSD.ORG Tue Mar 28 12:40:50 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 79C4416A424 for ; Tue, 28 Mar 2006 12:40:50 +0000 (UTC) (envelope-from andrew@areilly.bpc-users.org) Received: from omta01sl.mx.bigpond.com (omta01sl.mx.bigpond.com [144.140.92.153]) by mx1.FreeBSD.org (Postfix) with ESMTP id 72C6143D6A for ; Tue, 28 Mar 2006 12:40:49 +0000 (GMT) (envelope-from andrew@areilly.bpc-users.org) Received: from areilly.bpc-users.org ([141.168.4.160]) by omta01sl.mx.bigpond.com with ESMTP id <20060328124047.LXJB25377.omta01sl.mx.bigpond.com@areilly.bpc-users.org> for ; Tue, 28 Mar 2006 12:40:47 +0000 Received: (qmail 90440 invoked by uid 501); 28 Mar 2006 12:42:00 -0000 Date: Tue, 28 Mar 2006 23:42:00 +1100 From: Andrew Reilly To: Poul-Henning Kamp Message-ID: <20060328124200.GB90303@gurney.reilly.home> References: <20060328105833.GE87799@gurney.reilly.home> <61879.1143544316@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <61879.1143544316@critter.freebsd.dk> User-Agent: Mutt/1.4.2.1i 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 12:40:50 -0000 On Tue, Mar 28, 2006 at 01:11:56PM +0200, Poul-Henning Kamp wrote: > 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). Aah. OK. Ick. I'm pretty sure that the segmentation practiced by AS/400 and Burroughs A-series is almost this flavour, though. Every allocated chunk of memory gets it's own segment. That probably means that individual machine words don't, but arrays and structs would, including stack frames (activation records) most of the time. > This is not merely segmentation, this is object oriented memory. I really think that this is something better handled in software, as is done by JVM and CLI, these days. Hardware can't strength-reduce the necessary descriptor loads and checks, whereas software can. Obviously that probably has it's own attractions to the paranoid/banking/military crowd, but not to the go fast at low cost and low power crowd, which I count myself among... Cheers, -- Andrew