[V3dot9] Fwd: FFI
Marcus Denker
denker at iam.unibe.ch
Thu Aug 10 10:54:58 UTC 2006
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
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3938 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/v3dot9/attachments/20060810/0c9c1b68/smime.bin
More information about the V3dot9
mailing list