Esteban's ChangeLog week of 23 July 2018

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Esteban's ChangeLog week of 23 July 2018

EstebanLM
Hello!

This is my weekly ChangeLog, from 23 July 2018 to 29 July 2018.
You can see it in a better format by going here: http://log.smallworks.eu/web/search?from=23/7/2018&to=29/7/2018

ChangeLog
=========

27 July 2018:
-------------

*    I found a problem that was making win64 bit version to crash: size_t implementation on UFFI was not resolving properly there (since it was mapped to a long, which is not correct on win64 architecture).
   
    To fix it, I changed FFISizeT type to work as FFILong, with different "real types" depending on architecture.
   
    Now, there is a problem to solve because structures using this type (like +LGitStringArray+) need to be regenerated, which may generate some difficulties... will see.
   

23 July 2018:
-------------

*    So well. Spent the full day debugging libgit2 without symbol information :(
   
    There is some problem with adding paths to an index and I still cannot figure out what's the problem.
   
    I'll continue trying tomorrow.
   

cheers!
Esteban

Reply | Threaded
Open this post in threaded view
|

Re: Esteban's ChangeLog week of 23 July 2018

Nicolas Cellier
Hi Esteban,
I encountered this problem a few months ago.
I tried to document FFI with a serie of stackoverflow questions

After a deep analysis, I think that FFI needs a serious refactoring (plugin code + image code).
But I have stopped that work in the middle... (no time available for a few months).
The next thing I wanted to do is to study all your efforts with UFFI, and how you found workarounds for other pitfalls like

Cheers


2018-07-30 8:00 GMT+02:00 <[hidden email]>:
Hello!

This is my weekly ChangeLog, from 23 July 2018 to 29 July 2018.
You can see it in a better format by going here: http://log.smallworks.eu/web/search?from=23/7/2018&to=29/7/2018

ChangeLog
=========

27 July 2018:
-------------

*    I found a problem that was making win64 bit version to crash: size_t implementation on UFFI was not resolving properly there (since it was mapped to a long, which is not correct on win64 architecture).

    To fix it, I changed FFISizeT type to work as FFILong, with different "real types" depending on architecture.

    Now, there is a problem to solve because structures using this type (like +LGitStringArray+) need to be regenerated, which may generate some difficulties... will see.


23 July 2018:
-------------

*    So well. Spent the full day debugging libgit2 without symbol information :(

    There is some problem with adding paths to an index and I still cannot figure out what's the problem.

    I'll continue trying tomorrow.


cheers!
Esteban


Reply | Threaded
Open this post in threaded view
|

Re: Esteban's ChangeLog week of 23 July 2018

EstebanLM
Hi Nico, 


On 30 Jul 2018, at 09:02, Nicolas Cellier <[hidden email]> wrote:


Thankfully this is kind of trivial with UFFI (once identified the problem), look at: https://github.com/pharo-project/pharo/pull/1660


After a deep analysis, I think that FFI needs a serious refactoring (plugin code + image code).

Been there, done that :)
UFFI is a complete revamp of the image side code. 
I didn’t touch the backend (since our philosophy is to put as much as possible into the image, this was possible) but I think it needs a serious re-think at least in two fields: 

- basic types needs to be the generic (uint32, uint64, etc.).
- external datas have no meaningful use and it adds complexity.
- callback logic needs to be moved from Alien to FFI


Solved in UFFI.

Cheers, 
Esteban


Cheers


2018-07-30 8:00 GMT+02:00 <[hidden email]>:
Hello!

This is my weekly ChangeLog, from 23 July 2018 to 29 July 2018.
You can see it in a better format by going here: http://log.smallworks.eu/web/search?from=23/7/2018&to=29/7/2018

ChangeLog
=========

27 July 2018:
-------------

*    I found a problem that was making win64 bit version to crash: size_t implementation on UFFI was not resolving properly there (since it was mapped to a long, which is not correct on win64 architecture).

    To fix it, I changed FFISizeT type to work as FFILong, with different "real types" depending on architecture.

    Now, there is a problem to solve because structures using this type (like +LGitStringArray+) need to be regenerated, which may generate some difficulties... will see.


23 July 2018:
-------------

*    So well. Spent the full day debugging libgit2 without symbol information :(

    There is some problem with adding paths to an index and I still cannot figure out what's the problem.

    I'll continue trying tomorrow.


cheers!
Esteban