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 john.zh...@anu.edu.au<mailto:john.zh...@anu.edu.au> On 6 Dec. 2016, at 20:58, Armin Rigo <armin.r...@gmail.com<mailto:armin.r...@gmail.com>> wrote: Hi John, On 6 December 2016 at 08:20, John Zhang <john.zh...@anu.edu.au<mailto:john.zh...@anu.edu.au>> 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 pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev