Thanks Armin! I will keep my eyes open for other cases and let you know. :)
Cheers, John Zhang ------------------------------------------------------ John Zhang Research Assistant Programming Languages, Design & Implementation Division Computer Systems Group ANU College of Engineering & Computer Science 108 North Rd The Australian National University Acton ACT 2601 [email protected]<mailto:[email protected]> On 6 Dec. 2016, at 20:58, Armin Rigo <[email protected]<mailto:[email protected]>> wrote: Hi John, On 6 December 2016 at 08:20, John Zhang <[email protected]<mailto:[email protected]>> wrote: I would like to request making the definitions of `rpython.rlib.rposix.c_makedev/c_major/c_minor` include explicit macro functions, i.e., passing `macro=_MACRO_ON_POSIX` to the `rffi.llexternal` function. Checked in 08ec669ddab9. Note that the 'macro' keyword is used inside PyPy for a single purpose: to teach the JIT that it cannot directly write a call to the macro. Instead it writes a call to the wrapper generated by rffi.py. In this case this problem was fixed by marking the functions like "def makedev(..):" with "@jit.dont_look_inside", which is equivalent from the point of view of the JIT. But I have now removed these dont_look_inside and instead added "macro=True" arguments, as it is more natural---and also indeed more useful to non-standard backends. Feel free to ask if you find other similar cases! A bientôt, Armin.
_______________________________________________ pypy-dev mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-dev
