It's not a bad idea for me. I'm hooking up to a tool made by intel called "vtune" which requires the function name, function size and function address from the original python script code. I got the first two from Python reflection (the way VmProf does it) but I need the third (original script function address). Is __repr__ supported in Rpython ? The string returned by __repr__ contains the Python address at least in Python. If id() doesn't work but __repr__ does then I can use it in the overloaded execute_frame and that should be fine.
Shubha > On Dec 29, 2016, at 4:29 PM, Ryan Gonzalez <rym...@gmail.com> wrote: > > What exactly are you trying to do. Using id to get the address of a function > is usually a bad idea... > > -- > Ryan (ライアン) > Yoko Shimomura > ryo (supercell/EGOIST) > Hiroyuki Sawano >> everyone else > http://kirbyfan64.github.io/ > >> On Dec 29, 2016 1:19 PM, "Shubha Ramani via pypy-dev" <pypy-dev@python.org> >> wrote: >> >> What can I use then ? I need the address of the function ? >> >> [translation:ERROR] Exception: cannot use id() in RPython; see >> objectmodel.compute_xxx() >> Processing block: >> block@19 is a <class 'rpython.flowspace.flowcontext.SpamBlock'> >> in (pypy.module._vtune.interp_vtune:28)_get_full_name >> containing the following operations: >> buf_0 = simple_call((type RStringIO)) >> v943 = getattr(buf_0, ('write')) >> v944 = getattr(pycode_0, ('co_code')) >> v945 = simple_call(v943, v944) >> v946 = getattr(buf_0, ('getsize')) >> size_code_0 = simple_call(v946) >> v947 = getattr(pycode_0, ('co_name')) >> id_func_0 = id(v947) >> v948 = getattr(pycode_0, ('co_name')) >> v949 = simple_call((function _safe), v948) >> v950 = getattr(pycode_0, ('co_firstlineno')) >> v951 = getattr(pycode_0, ('co_filename')) >> v952 = simple_call((function _safe), v951) >> v953 = newtuple(v949, v950, v952, size_code_0, id_func_0) >> v954 = mod(('vtune:%s:%d:%s:%d:%d'), v953) >> --end-- >> [translation] start debugger... >> > /opt/shubha_vtune_pypy/rpython/annotator/unaryop.py(188)id() >> -> raise Exception("cannot use id() in RPython; " >> (Pdb+) >> >> >> _______________________________________________ >> pypy-dev mailing list >> pypy-dev@python.org >> https://mail.python.org/mailman/listinfo/pypy-dev >>
_______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev