Mercurial > cpython-lru_cache-weakref
diff Python/ceval.c @ 24545:d2f41c8a81f0 legacy-trunk
small speedup for constant and name access
see sf #506436
| author | Skip Montanaro <skip@pobox.com> |
|---|---|
| date | Sun, 04 Aug 2002 21:03:35 +0000 |
| parents | d8909792005a |
| children | 3e4d432872ea |
line wrap: on
line diff
--- a/Python/ceval.c Sun Aug 04 20:10:29 2002 +0000 +++ b/Python/ceval.c Sun Aug 04 21:03:35 2002 +0000 @@ -494,6 +494,8 @@ PyThreadState *tstate = PyThreadState_GET(); PyCodeObject *co; unsigned char *first_instr; + PyObject *names; + PyObject *consts; #ifdef LLTRACE int lltrace; #endif @@ -512,8 +514,7 @@ /* Code access macros */ -#define GETCONST(i) (GETITEM(co->co_consts, (i))) -#define GETNAMEV(i) (GETITEM(co->co_names, (i))) +#define GETNAMEV(i) (GETITEM(names, (i))) #define INSTR_OFFSET() (next_instr - first_instr) #define NEXTOP() (*next_instr++) #define NEXTARG() (next_instr += 2, (next_instr[-1]<<8) + next_instr[-2]) @@ -575,6 +576,8 @@ tstate->frame = f; co = f->f_code; + names = co->co_names; + consts = co->co_consts; fastlocals = f->f_localsplus; freevars = f->f_localsplus + f->f_nlocals; _PyCode_GETCODEPTR(co, &first_instr); @@ -753,7 +756,7 @@ break; case LOAD_CONST: - x = GETCONST(oparg); + x = GETITEM(consts, oparg); Py_INCREF(x); PUSH(x); goto fast_next_opcode;
