Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Mar 2006 21:07:35 +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:  <20060328100735.GA87799@gurney.reilly.home>
In-Reply-To: <61460.1143539700@critter.freebsd.dk>
References:  <20060328091153.GC961@turion.vk2pj.dyndns.org> <61460.1143539700@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 28, 2006 at 11:55:00AM +0200, Poul-Henning Kamp wrote:
> In message <20060328091153.GC961@turion.vk2pj.dyndns.org>, Peter Jeremy writes:
> 
> 
> >In an ideal world, a pointer would be an [address, size] pair (or even
> >[size, address, type] tuple) so that any the bounds (and type) can be
> >verified by anything that wants to.  (The iAPX432 tried this).
> 
> The first computer to actually _do_ this was Linn's "Rekursiv" computer,
> which had the microcode manage in-memory objects, including swapping
> to/from backing store.
> 
> 	http://www.brouhaha.com/~eric/retrocomputing/rekursiv/

Are you sure that was the first?

I'm pretty sure that IBM's "Future System" (FS), and System/36 and
AS/400 that came from it probably got there sooner.  I think
that Burroughs A-series mainframes did much the same thing too.
They might not have had type tags, but they were constrained and
had sizes.  And don't forget, the Intel 286 learned it's segment
tricks from iAPX432.  Generally pretty unpleasant environments
for C, IMO, but good for the other languages of the day.

Lisp and smalltalk (Xerox)  machines probably count, too.  Dunno
where the hardware versions come with respect to the rekursiv in
time, though.

Today, the Java and .NET runtimes have all that you could want,
from this sort of functionality.  It seems kind of broken to be
trying to retro-fit it into C.  I've just had a big argument in
c.l.c/c.a.e about the issue, and I consider that I lost it, so
I'm a bit sensitive about it...

-- 
Andrew



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