g-wrap-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MERGE-REQUEST] Upgrade to the API of Guile 1.7


From: Ludovic Courtès
Subject: [MERGE-REQUEST] Upgrade to the API of Guile 1.7
Date: Fri, 23 Sep 2005 14:36:00 +0200
User-agent: Gnus/5.110004 (No Gnus v0.4) Emacs/21.4 (gnu/linux)

Hi,

Andreas, could you eventually merge
address@hidden/g-wrap--devo--1.9.6--patch-8'?

  patch-8
      Use Guile 1.7's API;  augmented `guile-compatibility.[ch]'.

I basically updated `guile-runtime.[ch]' to use the new API and
augmented `guile-compatibility.[ch]' accordingly.

I also updated `(g-wrap guile ws standard)' so that it generates code
using the new API.  There is a couple of (small) issues remaining with
this one:

1.  I didn't know what to do with `SCM_ALLOW_INTS' and `SCM_DEFER_INTS'
    so we'll need to find a solution for this.  Actually, I don't
    understand the point of using this so I'll need your help.  :-)

2.  Unwrapping a string is relatively costly since we _have to_ use
    `scm_to_locale_string ()' which allocates a new string, and then
    free it (if needed).  However, when the unwrapping code is inlined
    into a function wrapper, we could to something smarter and get the
    string content into a stack-allocated buffer.  The point is that
    `unwrap-value-cg' doesn't know whether it's called to generate the
    code of a stand-alone string unwrapping function, or whether it's
    generating code within a function wrapper.

    So there's room for optimization here, but we would need to
    carefully think about how to change the `unwrap-value-cg' protocol
    to allow that.

I tested it _only_ with CVS Guile (1.7.2+) so I'd be glad if someone
could confirm that this doesn't break anything on other versions of
Guile.  Using Guile 1.7, all test cases pass, and I also tested it in
a project of mine and it works fine.

Thanks,
Ludovic.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]