[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