Mercurial > cpython-lru_cache-weakref
comparison Python/pythonrun.c @ 1262:f820e6917f07 legacy-trunk
Changes to speed up local variables enormously, by avoiding dictionary
lookup (opcode.h, ceval.[ch], compile.c, frameobject.[ch],
pythonrun.c, import.c). The .pyc MAGIC number is changed again.
Added get_menu_text to flmodule.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Tue, 30 Mar 1993 13:18:41 +0000 |
| parents | 1cabc2b6c970 |
| children | 65a1e4e9cd54 |
comparison
equal
deleted
inserted
replaced
| 1261:2c515f07367a | 1262:f820e6917f07 |
|---|---|
| 302 run_node(n, filename, globals, locals) | 302 run_node(n, filename, globals, locals) |
| 303 node *n; | 303 node *n; |
| 304 char *filename; | 304 char *filename; |
| 305 /*dict*/object *globals, *locals; | 305 /*dict*/object *globals, *locals; |
| 306 { | 306 { |
| 307 object *res; | |
| 308 int needmerge = 0; | |
| 307 if (globals == NULL) { | 309 if (globals == NULL) { |
| 308 globals = getglobals(); | 310 globals = getglobals(); |
| 309 if (locals == NULL) | 311 if (locals == NULL) { |
| 310 locals = getlocals(); | 312 locals = getlocals(); |
| 313 needmerge = 1; | |
| 314 } | |
| 311 } | 315 } |
| 312 else { | 316 else { |
| 313 if (locals == NULL) | 317 if (locals == NULL) |
| 314 locals = globals; | 318 locals = globals; |
| 315 } | 319 } |
| 316 return eval_node(n, filename, globals, locals); | 320 res = eval_node(n, filename, globals, locals); |
| 321 if (needmerge) | |
| 322 mergelocals(); | |
| 323 return res; | |
| 317 } | 324 } |
| 318 | 325 |
| 319 object * | 326 object * |
| 320 eval_node(n, filename, globals, locals) | 327 eval_node(n, filename, globals, locals) |
| 321 node *n; | 328 node *n; |
