Message from discussion
Unifying PMCs and Buffers for GC
Newsgroups: perl.perl6.internals
Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.perl.org
Return-Path: <j...@stacken.kth.se>
Mailing-List: contact perl6-internals-h...@perl.org; run by ezmlm
Delivered-To: mailing list perl6-intern...@perl.org
X-Authentication-Warning: chicken.stacken.kth.se: joh owned process doing -bs
Date: Mon, 5 Aug 2002 09:06:20 +0200 (MET DST)
To: Mike Lambert <pe...@jall.org>
cc: Dan Sugalski <d...@sidhe.org>, perl6-intern...@perl.org
Subject: Re: Unifying PMCs and Buffers for GC
In-Reply-To: <Pine.LNX.4.44.0208040605400.1260-100000@jall.org>
Message-ID: <Pine.GSO.4.21.0208050901150.4854-100000@chicken.stacken.kth.se>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Approved: n...@nntp.perl.org
From: j...@stacken.kth.se (Josef Hook)
References: <Pine.LNX.4.44.0208040605400.1260-100000@jall.org>
Lines: 39
On Sun, 4 Aug 2002, Mike Lambert wrote:
> Mike Lambert wrote:
>
> > One idea, which is most closely in line with the current semantics, is to
> > add a pool pointer to every header. I've found a few times in the past
> > where such a pointer would have come in handy. This would allow us to call
> > the pool's mark() function, to handle stuff like pointing-to-buffers, etc.
>
> Oh, I meant to mention an alternative to the pool pointer, but forgot...
>
> At one point, we had a mem_alloc_aligned, which guaranteed the start of a
> block of memory given any pointer into the contents of the block. If we
> store a pointer to the pool at the beginning of each set of headers, then
> we navoid the need for a per-header pool pointer, at the cost of a bit
> more math and an additional dereference to get at it.
>
> The benefits to this are the drawbacks to the aforementioned approach, but
> the drawbacks include:
>
> - additional cpu, and/or cache misses in getting to the pool. for dod,
> this might be very inefficient.
>
> - it imposes additional memory requirements in order to align the block of
> memory, and imposes a bit more in this 'header header' at the beginning of
> the block of headers.
>
> Mike Lambert
>
>
I guess these things will affect my matrix implementation.
Dan: How long will it take until my code is merged with current
tree?
/Josef