[Pharo-dev] FFI without the Pharo sources

Esteban Lorenzano estebanlm at gmail.com
Wed Jan 24 05:03:28 EST 2018


hi, 

Marcus approach swill work, yes. 
also, my idea was to reproduce what it was present for nativeboost before: 

- a command to search for all ffi calls and add a property of the methods with an array of the argument names
- then modify method installation to look first for this property and take the argument names just if it is not found

only difference is that with NB we searched for a pragma, now we have to search for senders of a list of “ffi methods” #ffiCall: family and #nbCall: family 

to implement this is trivial… is just I didn’t do it ;)

Esteban



> On 24 Jan 2018, at 09:31, Marcus Denker <marcus.denker at inria.fr> wrote:
> 
> 
> 
>> On 24 Jan 2018, at 08:58, Marcus Denker <marcus.denker at inria.fr> wrote:
>> 
>> 
>> 
>>> On 24 Jan 2018, at 01:54, <Vincent.Blondeau at lamresearch.com> <Vincent.Blondeau at lamresearch.com> wrote:
>>> 
>>> Hi,
>>> 
>>> I am working to be able to create some standalone apps in Pharo. And for this, I would like to remove of the .sources and .changes. But, by removing them, the args names are reset to arg1, arg2, arg3, ... and the FFI cannot be used anymore.
>>> 
>>> Does someone (Esteban?) have a solution that I could implement to fix this issue?
>>> 
>> 
>> Hello,
>> 
>> You can embed the sources of just those methods:
>> -> iterate over all methods, select the FFI methods
>> -> call #embeddSourceInTrailer on these methods.
>> 
> 
> 
> We should add later something to the compiler for this, too. Imagine you have your  system without source,
> decompiling happily. Then you want to edit a method:
> 	-> if it was decompiled, just compile and drop source
> 	-> if the source comes from the trailer, it should again compile a method with embedded source.
> 
> I make a note for my TODO.
> 
> With Pavel we managed to speed up source reading for methods that have embeddSourceInTrailer quite a lot
> (with ideas for even more), I will start to merge these patches, too.
> 
> 	Marcus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20180124/5c21ff2e/attachment-0002.html>


More information about the Pharo-dev mailing list