This is the mail archive of the guile-gtk@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Compiling guile-gobject experiences


Kevin Ryde <user42@zip.com.au> writes:

> Andy Wingo <wingo@pobox.com> writes:
>>
>> But I do agree that it's a problem. I think reducing the size of the
>> generated code is the best solution, personally.
>
> A bit less error inlining might help.  I can see how the cleanup stuff
> ends up needing it, but there's plenty of cases with no cleanups.
> Perhaps building a list of cleanups at runtime would keep it down.
>
I've now made modifications to g-wrap and guile-gobject that make them
use a loop over an array for procedure and method creation,
respectivly. This makes the _init function for large wrapsets
considerably smaller. I'm ATM testing my modifications.

A way to speed the binding creation up a little bit might be to move
the ability to create methods into g-wrap, since that would save us a
few scm_c_lookups for each method. I'll look into this once I'm done
with testing the above mentioned modifictations.

> It'd be nice to call foreign functions just based on a little set of
> argument types, with no actual individual glue code at all.  I've got
> an idea gnu smalltalk has something like that.
>
> I don't think there's any way to portably make a C call from runtime
> arguments, in general, but it wouldn't be hard to setup the right
> thing for each CPU+ABI, with a bit of assembler.  Or maybe gcc could
> help.
>
As Marius already mentioned, there are (at least) two libs that do
this. libffcall seems to be the more featureful one from a first
glance.

Regards, Andy
-- 
Andreas Rottmann         | Rotty@ICQ      | 118634484@ICQ | a.rottmann@gmx.at
http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc
Fingerprint              | DFB4 4EB4 78A4 5EEE 6219  F228 F92F CFC5 01FD 5B62

Make free software, not war!


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]