Sorry that code snippet came out screwed up:
_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)  

    On Tuesday, December 20, 2016 5:01 PM, Shubha Ramani 
<shubharam...@yahoo.com> wrote:
 

 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 
<shubharam...@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) 

   

   
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to