Hi, 

Good work :)

{ #category : #finalization }
HdBufferOpaque class >> finalizeResourceData: aHandle [
        HdFFILibrary uniqueInstance 
                ffiCall: #(void hoedown_buffer_free (ExternalAddress aHandle))
]

wow… does this works at all? 
I admit it is not how it is intended to work :P


> On 3 Jan 2020, at 06:24, Pierce Ng <pie...@samadhiweb.com> wrote:
> 
> On Thu, Jan 02, 2020 at 12:56:55PM -0600, Sean P. DeNigris wrote:
>> bugs seem to be
>> more severe and difficult to diagnose, so we'll see how it goes as FFI use
>> becomes more and more common...
> 
> There's a saying about (aspects of) building software which source I
> cannot recall:
> 
>  If it hurts, do it more frequently.
> 
> I believe FFI should be pushed as much as possible to work out bugs and
> develop new capabilities. Looking forward to playing with threaded FFI.

+1
FFI introduces a whole new universe of possibilities we cannot reasonable cover 
in-image nowadays. 

Now, while *there are* problems still to solve, I think people have the wrong 
impression the FFI layer is causing most of the bugs around (TTF for example) 
while this is not true at all :)
For example, recent bug around memory corruption was claimed several times it 
was because of FFI (and even I thought it was around it at the beginning) while 
in fact it was a problem on how compaction was working.
Other example, TTF itself: problems were around when we had a plugin and we 
still have some with the FFI implementation. But the problem is not around the 
plugin or the FFI implementation but around the bad usage (not thread safe) we 
do of it in-image.

The reason why people think some problems are FFI related is because we are 
pushing Pharo in directions not-fully-tested before. The usage of FFI just 
unveils a lot of problems on how we handle things there were present before, 
but they were not as visible as they are now.

Esteban

> 
> Pierce
> 


Reply via email to