
Hi Samuele, with your help, I can now handle my extra fields in arbitrary instances very well. One problem remains: (see test_wrapping) The support function is no longer a simple thing, but it contains a decision, so I need two blocks. In test_wrapper, I solved this by making wrap_obj a high level function, which first tries fetch_pywrapper and then create_pywrapper. This works fine. 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. Q: Do I need hlinvoke for this, or is there a better way? thanks & cheers - chris -- Christian Tismer :^) <mailto:tismer@stackless.com> 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/

Hi Christian, There is something wrong whenever anyone is getting close to hlinvoke() :-) 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:
What prevents you from writing the function you want to call as a low-level helper? 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. A bientot, Armin

Armin Rigo wrote:
Well, I asked him specifically, because he knows what I'm doing.
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?
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:tismer@stackless.com> 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/

Hi Christian, There is something wrong whenever anyone is getting close to hlinvoke() :-) 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:
What prevents you from writing the function you want to call as a low-level helper? 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. A bientot, Armin

Armin Rigo wrote:
Well, I asked him specifically, because he knows what I'm doing.
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?
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:tismer@stackless.com> 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/
participants (2)
-
Armin Rigo
-
Christian Tismer