[squeak-dev] Re: [Pharo-dev] New Cog VMs available

Levente Uzonyi leves at elte.hu
Sun Apr 19 05:32:15 UTC 2015


Hi Eliot,

I expect pinning to be used for things other than FFI. For example the 
ExternalObjectTable is nothing but poor man's pinning, which can be nuked 
when the VM supports pinning out of the box. In this case pinned objects 
(Semaphores) will be all over the place due to files and sockets, and 
their lifetime will also vary from a few seconds to years.

Not mixing pinned objects with non-pinned objects can also save the bit 
used for marking pinned objects in the object header.

Levente

On Sat, 18 Apr 2015, Eliot Miranda wrote:

> Hi Levente,
>
>     the code is indeed written to cluster pinned objects.  Objects can only be punned in old space.  IIRC there's a bit in each segment header to say whether it contains pinned objects.  If such a segment exists then newly pinned objects in new space will be becomes to a pinned object in that segment.  But I expect the standard use case is pin, make an FFI call, unpin, so we shouldn't worry too much about clustering.  So if an object is already in old space the system merely sets the pin bit.  It may erroneously set the "segment contains pinned" but too.  It would be better for the system to nominate a single segment to contain pinned objects.  I'll try and remember to take a look but you're welcome to too ;-)
>
> Eliot (phone)
>
> On Apr 17, 2015, at 10:00 PM, Levente Uzonyi <leves at elte.hu> wrote:
>
>> On Fri, 17 Apr 2015, Eliot Miranda wrote:
>>
>>> On Fri, Apr 17, 2015 at 5:16 PM, Clément Bera <bera.clement at gmail.com> wrote:
>>>
>>>      2015-04-16 17:16 GMT-07:00 Sean P. DeNigris <sean at clipperadams.com>:
>>>            Eliot Miranda-2 wrote
>>>           > ...
>>>
>>>            Wow! That seems like a /lot/ of fixes... thanks :)
>>>
>>>
>>> This past few weeks we were 4 to commit regularly on the JIT (Tim, Ryan, Eliot and I) so there are more fixes than when Eliot is working alone :-)
>>> Finally we have a team working on it.  Come join us!!  There's /lots/ to work on.  See http://www.mirandabanda.org/cogblog/cog-projects/ & http://www.mirandabanda.org/cogblog/collaborators/. It is challenging, useful and FUN!
>>
>> "- a solution to the problem of free space in segments containing pinned objects at snapshot time"
>>
>> My naive approach would be to separate pinned objects from non-pinned objects. Whenever you pin an object, it's moved to a "pinned" segment -
>> which is a segment with only pinned objects - and vica versa.
>>
>> Levente
>>
>>> --
>>> best,Eliot
>>
>
>


More information about the Squeak-dev mailing list