mercurial/lsprof.py
changeset 48937 32ac127c999f
parent 48913 f254fc73d956
child 48946 642e31cb55f0
equal deleted inserted replaced
48936:680322e04f56 48937:32ac127c999f
   115 _fn2mod = {}
   115 _fn2mod = {}
   116 
   116 
   117 
   117 
   118 def label(code):
   118 def label(code):
   119     if isinstance(code, str):
   119     if isinstance(code, str):
   120         if sys.version_info.major >= 3:
   120         return code.encode('latin-1')
   121             code = code.encode('latin-1')
       
   122         return code
       
   123     try:
   121     try:
   124         mname = _fn2mod[code.co_filename]
   122         mname = _fn2mod[code.co_filename]
   125     except KeyError:
   123     except KeyError:
   126         for k, v in list(sys.modules.items()):
   124         for k, v in list(sys.modules.items()):
   127             if v is None:
   125             if v is None:
   134         else:
   132         else:
   135             mname = _fn2mod[code.co_filename] = '<%s>' % code.co_filename
   133             mname = _fn2mod[code.co_filename] = '<%s>' % code.co_filename
   136 
   134 
   137     res = '%s:%d(%s)' % (mname, code.co_firstlineno, code.co_name)
   135     res = '%s:%d(%s)' % (mname, code.co_firstlineno, code.co_name)
   138 
   136 
   139     if sys.version_info.major >= 3:
   137     return res.encode('latin-1')
   140         res = res.encode('latin-1')
       
   141 
       
   142     return res