[pypy-dev] access to PyFrame within x86 backend

Shubha Ramani shubharamani at yahoo.com
Tue Dec 20 20:01:50 EST 2016


Is using /opt/pypy_latest/rpython/rlib/rvmprof/ traceback.py (with a callback option, as shown in test/test_traceback.py)a good idea - to be called within x86/assembler.py ? That's the direction I'm heading unless there are other suggestions.
eating humble pie Shubha 

    On Tuesday, December 20, 2016 2:48 PM, Shubha Ramani <shubharamani at yahoo.com> wrote:
 

 First of all let me say that all I've done for the past several days is read, read read.I have read the rpython and pypy documentation. I've read bolz-tracing-jit-final.pdf as well as antocuni-phd-thesis.pdf. I also feel that I comprehended most of what I read.
In studying the vmprof implementation there is still a gap in my comprehension. How do I get access to PyFrame within assembly.py ?
VmProf dumps everything into a specially formatted binary file, embedded with variousmarkers and the function code objects among many other stuff, per PyFrame which gets executed. This file later gets post-processed by the vmprof tool.
Suppose I do something similar to vmprof in order to obtain access to function code objects, i.e. see below. But how do I get access to PyFrame in the x86 backend code at run time ?  
_get_code = lambda frame, w_inputvalue, operr: frame.pycode                    _decorator = rvmprof.vmprof_execute_code("pypy", _get_code, W_Root)            my_execute_frame = _decorator(PyFrame.execute_frame)                                                                                                                                                                                         class __extend__(PyFrame):                                                         def execute_frame(self, w_inputvalue=None, operr=None):                            # indirection for the optional arguments                                       return my_execute_frame(self, w_inputvalue, operr) 

   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20161221/044dcc99/attachment-0001.html>


More information about the pypy-dev mailing list