From: Armin R. <ar...@us...> - 2002-08-25 21:21:21
|
Update of /cvsroot/psyco/psyco/psyco In directory usw-pr-cvs1:/tmp/cvs-serv521 Modified Files: __init__.py Log Message: Psyco-aware version of eval(),execfile(),globals(),locals(),dir(),vars() and input() Index: __init__.py =================================================================== RCS file: /cvsroot/psyco/psyco/psyco/__init__.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** __init__.py 8 Aug 2002 20:05:26 -0000 1.8 --- __init__.py 25 Aug 2002 21:21:18 -0000 1.9 *************** *** 46,49 **** --- 46,57 ---- pass + class JitWarning(warning): + pass + + class NoLocalsWarning(warning): + pass + + _psyco.NoLocalsWarning = NoLocalsWarning + def jit(tick=5): *************** *** 52,56 **** if sys.version_info[:3] < (2,1,3): from warnings import warn ! warn('psyco.jit() uses the profiler which is incompatible with nested scopes due to a Python bug', warning) _psyco.selective(tick) --- 60,64 ---- if sys.version_info[:3] < (2,1,3): from warnings import warn ! warn('psyco.jit() uses the profiler which is incompatible with nested scopes due to a Python bug', JitWarning) _psyco.selective(tick) *************** *** 142,148 **** # frames from Psyco frames. Be aware that the f_back fields are not # correctly set up. ! original_sys_getframe = sys._getframe # old value, if you need it ! sys._getframe = _psyco._getframe --- 150,175 ---- # frames from Psyco frames. Be aware that the f_back fields are not # correctly set up. + # + # The same problems require some other built-in functions to be replaced + # as well. Note that locals are not available with Psyco. ! ! def patch(name, module=__builtin__): ! f = getattr(_psyco, name) ! org = getattr(module, name) ! if org is not f: ! setattr(module, name, f) ! setattr(_psyco, 'original_' + name, org) ! ! ! patch('_getframe', sys) ! patch('globals') ! patch('eval') ! patch('execfile') ! patch('locals') ! patch('vars') ! patch('dir') ! patch('input') ! _psyco.original_raw_input = raw_input |