[V3dot9] Fwd: FFI
Stéphane Ducasse
stephane.ducasse at univ-savoie.fr
Thu Aug 10 14:18:18 UTC 2006
I understand so do not do it and leave FFI inside.
Stef
On 10 août 06, at 12:54, Marcus Denker wrote:
>
>
> Begin forwarded message:
>
>> From: Marcus Denker <denker at iam.unibe.ch>
>> Date: 10. August 2006 12:46:11 GMT+02:00
>> To: Stephane Ducasse <ducasse at iam.unibe.ch>
>> Subject: FFI
>>
>> Hi,
>>
>> I am allways saying that we should not just do everything in the
>> last second.
>> I am very much for having this as a strict rule, covering FFI,
>> too. There was
>> time to do it, and we didn't. That's life, there is a version
>> after 3.9 to do it.
>>
>> Unloading FFI is not as simple as people think it is:
>> There is a method "discardFFI", this contains the knowledge to
>> unload it:
>>
>> self
>> at: #ExternalStructure
>> ifPresent: [:cls | (ChangeSet superclassOrder: cls
>> withAllSubclasses asArray)
>> reverseDo: [:c | c removeFromSystem]].
>> SystemOrganization removeCategoriesMatching: 'FFI-*'.
>> self recreateSpecialObjectsArray.
>>
>> We have hidden references to FFI left over in
>>
>> -> SpecialObjectArray
>> -> Compiler
>> -> the unload method itself.
>>
>> all of them are hacked to use the "Smalltalk at:
>> #ExternalStructure" hack to not
>> leave references the system knows about, but of course, it leaved
>> references
>> nevertheless of the kind that is un-tracable, not documented, and
>> easily overlooked.
>>
>> What happens when we load FFI? Does is call the specialObject
>> registration?
>> If we then clean up the image further, do we just delete the
>> discardFFI method
>> and loose the ability to unload FFI? Will we "clean" the compiler
>> and the specialObject
>> array at some point by accident?
>>
>> Where are those dependencies documented?
>>
>> I can do it now in the hackish way (leaving the non-tracable bits
>> of FFI), but I wasted another
>> hour(!) for this!!!
>>
>> I want to stop. I don't care anymore. I want to finish.
>>
>> Marcus
>>
>
> _______________________________________________
> V3dot9 mailing list
> V3dot9 at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/v3dot9
More information about the V3dot9
mailing list