Armin Rigo wrote:
Hi Christian,

There is something wrong whenever anyone is getting close to hlinvoke()
:-)

Well, I asked him specifically, because he knows what I'm doing.

I don't understand your problem well enough (and will let Samuele answer
if my answer is not sufficient), but:

On Wed, Mar 29, 2006 at 12:11:48AM -0800, Christian Tismer wrote:
In the real implementation, I don't have this chance,
because convert_from_to is an rtyper function, and I can't call
something high level that does it for me.

What prevents you from writing the function you want to call as a
low-level helper?

Because I have two code branches which both need to be rtyped.
Right now I have rtyye_wrap_object_create which creates a wrapper,
and rtype_wrap_object_fetch which grabs an existing one.

They both need rtyping. So I wrote one normal function
which calls them both, like

def wrap_obj(thing):
    res = fetch_pywrapper(thing)
    if res is None:
        res= create_pywrapper(thing)
    return res

I want to call this function in the convert operation.
both helper functions need rtyping. At least I cannot see
how to express things like gencapicall from an ll function?

Then use the regular llops.gendirectcall() to invoke
it.  Low-level helpers are not prevented to contain branches and loops.
If the answer is that calls to special-cased functions are not handled
correctly then this is what we should try to solve.

I don't see how this would work.
If I write a ll function, then I have no rtyper any longer.
I need to work with the repr of my instances to see if
a special field is there, and create different code.
How can I get there *after* rtyping, that is my problem.
Or can I run an ll function through rtyping as well?

thanks - chris
--
Christian Tismer             :^)   <mailto:[EMAIL PROTECTED]>
tismerysoft GmbH             :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 802 86 56  mobile +49 173 24 18 776  fax +49 30 80 90 57 05
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
     whom do you want to sponsor today?   http://www.stackless.com/
_______________________________________________
[email protected]
http://codespeak.net/mailman/listinfo/pypy-dev

Reply via email to