[squeak-dev] Ephemerons

Miguel Enrique Cobá Martínez miguel.coba at gmail.com
Fri Apr 24 16:20:02 UTC 2009


John M McIntosh wrote:
> I had the attached file from Ian with the exchange with him and Brain Brown


Thank you John, I first loaded VMMaker from squeaksource.com as the 
changeset uses ObjectMemory that is part of the VMMaker-Interpreter 
category.
Then I loaded the change set, but it doesn't includes the definition of 
the Ephemeron class. It is just a method named markPhase for ObjectMemory.

Do you have the full Ephemeron definition changeset somewhere?

Cheers,
Miguel Cobá

> 
>> On Tue, 23 Sep 2003, Brian Brown wrote:
>>
>>> The exception is an older image from the ComSwiki bundle from the
>>> Squeak Wiki. I was using as recently as 3.6 beta 3, which I compiled,
>>> but under FreeBSD 4.8. When I try to run that now, I get a Segmentation
>>> Fault and a core file.
>>>
>>> I'm not sure, but the ComSwiki distro might be a 3.2 image, although
>>> that shouldn't matter, should it?
>>
>> It shouldn't, but...  The problem appears to be an off-by-1 error in
>> testing for Ephemeron support in the garbage collector.  The problem only
>> manifests itself in images without Ephemeron support filed-in.  The
>> attached changeset fixes the error in the VM.  (As soon as Andreas
>> confirms the fix I will apply it in the distributed sources and release
>> a set of 3.2g-3 archives.)
>>
>> In the meantime either
>>
>>  - file the image-side Ephemeron support as posted by Andreas into your
>>    affected image(s); or
>>
>>  - file the attached CS into your VMMaker image, regenerate the core VM,
>>    recompile; or
>>
>>  - find the line in src/vm/interp.c that says
>>
>>     if ((lengthOf(foo->specialObjectsOop)) >= ClassEphemeron) {
>>
>>    and change it manually to
>>
>>     if ((lengthOf(foo->specialObjectsOop)) > ClassEphemeron) {
>>
>>    then recompile.
> 
> 
> 
> 
> On 23-Apr-09, at 7:43 PM, Miguel Enrique Cobá Martínez wrote:
> 
>> I am trying to get the Ephemerons implementations from Andreas Raab, 
>> but I can't find it.
>>
>> In the pages:
>>
>> http://map.squeak.org/package/fe2a35f5-3f97-431e-8596-58e810aa3c72
>> http://map.squeak.org/package/fe2a35f5-3f97-431e-8596-58e810aa3c72/autoversion/1 
>>
>>
>> I found this link:
>>
>> http://isgwww.cs.uni-magdeburg.de/~raab/squeak/packages/Ephemerons/Ephemerons.cs 
>>
>>
>> but is broken.
>>
>> Where can I find the code?
>>
>> Thanks,
>> Miguel Cobá
>>
> 
> -- 
> ===========================================================================
> John M. McIntosh <johnmci at smalltalkconsulting.com>
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> ===========================================================================
> 
> 
> 
> ------------------------------------------------------------------------
> 
> 




More information about the Squeak-dev mailing list