Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Mar 2006 23:42:00 +1100
From:      Andrew Reilly <andrew-freebsd@areilly.bpc-users.org>
To:        Poul-Henning Kamp <phk@phk.freebsd.dk>
Cc:        Jason Evans <jasone@freebsd.org>, freebsd-arch@freebsd.org
Subject:   Re: Proposed addition of malloc_size_np()
Message-ID:  <20060328124200.GB90303@gurney.reilly.home>
In-Reply-To: <61879.1143544316@critter.freebsd.dk>
References:  <20060328105833.GE87799@gurney.reilly.home> <61879.1143544316@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060328124200.GB90303>