Fwd: [V3dot9] Fwd: FFI

Andreas Raab andreas.raab at gmx.de
Thu Aug 10 17:26:41 UTC 2006


That just raises my previous question again: What do I have to do to get 
the FFI out of the image?

To remind you: Removing the FFI was part of my "FFI maintenance deal". 
Back in 10/05 I both asked for it to be removed and filed a bug report 
[1]. In 01/06 I asked *again* for it to be removed [2], to no avail. 
Then I asked *again* in 07/06 and nothing happened [3]. Then I asked 
*again* in 08/06 [4]. Each time the base line response was "yes, we'll 
do it in 3.9" - except that now it's "too late, that's life". I don't 
find that self-explanatory.

If I spend time and effort to try to get things done in an "orderly" way 
I think I can at least expect a response and an explanation of what 
exactly the steps in the process are and where exactly this process went 
wrong.

Would somebody *please* bother telling me which steps exactly I need to 
follow to get this done?

[1]http://bugs.impara.de/view.php?id=2123
[2]http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099871.html
[3]http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-July/106389.html
[4]http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-August/106709.html



Stéphane Ducasse wrote:
> why FFI will be in 3.9.
> I think that the email is self-explanatory.
> 
> Stef
> PS: lukas has some good idea how to make FFI and other compiler 
> extensions modular, but we should have interest in that.
> 
> Begin forwarded message:
> 
>> From: Marcus Denker <denker at iam.unibe.ch>
>> Date: 10 août 2006 12:54:58 HAEC
>> To: "3.9 Squeak" <v3dot9 at lists.squeakfoundation.org>
>> Subject: [V3dot9] Fwd: FFI
>>
>>
>>
>> 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 Squeak-dev mailing list