Mike Lambert wrote:

> http:[EMAIL PROTECTED]/msg11553.html


Thanks for this. I must have missed some parts of this discussion on the 
list. Aligning the header pools could be an interesting approach, since 
now a considerable amount of time is spent to determine if a pointer on 
the sysem stack is contained in a PMC/buffer-header. This would be a lot 
faster then.


>>The internals during changes could be hidden with some #defines. So the
>>surface would stay the same.
>>
> 
> Yeah, but that seems even worse than the approach I mentioned above, only
> because it requires yet another step to untangle and undo the defines
> later. :)


No need to undo anything. S. followup on my previous posting.


> Yes, arrays are a more efficient data structure than linked lists, and
> arrays would not totally have the problem of recursive marking blowing the
> stack. However, are you going to impose restrictions on users of Perl6
> code, telling them that they shouldn't be allowed to create linked lists?


No, I don't want to impose restrictions on any HL of course. So 
recursive marking is burried.

What about a PMC external store for the PMC's still to visit? The amount 
of dead PMCs compared to the active PCMs at DOD time seems to be rather 
high, so this could be more memory efficient. And only nested PMCs would 
be on this external list, for plain PMCs just the life bit is set, 
that's all.


>>I think, we need just the sized pools, keeping things of same size
>>together and one unsized pool. Both in two variants for vars/constants.
>>
> 
> Since header pools are contiguous blocks of memory that are split up into
> consecutive headers. It's pretty much impossible to have an unsized pool
> of headers. It is possible, however, to have a pool of unsized-header
> *pointers*, and that's exactly what extra_buffer_headers is.


Sorry, when writing above, I ment of course Buffer_headers, not the rwa 
buffer data themselfs.


> The PMC would become an interface for the GC system to control the
> lifetime of the allocated interpreter memory, since the GC system would
> control the PMC.


Yep, exactly


> Mike Lambert


leo


Reply via email to