[pypy-dev] Request to make `makedev`, `major` and `minor` macros

John Zhang John.Zhang at anu.edu.au
Tue Dec 6 18:36:13 EST 2016


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.zhang at anu.edu.au<mailto:john.zhang at anu.edu.au>





On 6 Dec. 2016, at 20:58, Armin Rigo <armin.rigo at gmail.com<mailto:armin.rigo at gmail.com>> wrote:

Hi John,

On 6 December 2016 at 08:20, John Zhang <John.Zhang at anu.edu.au<mailto:John.Zhang at 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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20161206/255e5062/attachment.html>


More information about the pypy-dev mailing list