Skip to content

Commit

Permalink
Try harder to stay within the 79-column limit. There's still two plac…
Browse files Browse the repository at this point in the history
…es that go (way) over, but those are harder to fix without suffering in readability.
  • Loading branch information
Yhg1s committed Sep 20, 2007
1 parent efa7d51 commit e217602
Showing 1 changed file with 55 additions and 44 deletions.
99 changes: 55 additions & 44 deletions Python/ceval.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@
typedef unsigned long long uint64;

#if defined(__ppc__) /* <- Don't know if this is the correct symbol; this
section should work for GCC on any PowerPC platform,
irrespective of OS. POWER? Who knows :-) */
section should work for GCC on any PowerPC
platform, irrespective of OS.
POWER? Who knows :-) */

#define READ_TIMESTAMP(var) ppc_getcounter(&var)

Expand Down Expand Up @@ -93,7 +94,8 @@ static PyObject * call_function(PyObject ***, int);
static PyObject * fast_function(PyObject *, PyObject ***, int, int, int);
static PyObject * do_call(PyObject *, PyObject ***, int, int);
static PyObject * ext_do_call(PyObject *, PyObject ***, int, int, int);
static PyObject * update_keyword_args(PyObject *, int, PyObject ***,PyObject *);
static PyObject * update_keyword_args(PyObject *, int, PyObject ***,
PyObject *);
static PyObject * update_star_args(int, int, PyObject *, PyObject ***);
static PyObject * load_args(PyObject ***, int);
#define CALL_FLAG_VAR 1
Expand Down Expand Up @@ -504,7 +506,8 @@ PyEval_EvalCode(PyCodeObject *co, PyObject *globals, PyObject *locals)
PyObject *
PyEval_EvalFrame(PyFrameObject *f) {
/* This is for backward compatibility with extension modules that
used this API; core interpreter code should call PyEval_EvalFrameEx() */
used this API; core interpreter code should call
PyEval_EvalFrameEx() */
return PyEval_EvalFrameEx(f, 0);
}

Expand All @@ -514,7 +517,7 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
#ifdef DXPAIRS
int lastopcode = 0;
#endif
register PyObject **stack_pointer; /* Next free slot in value stack */
register PyObject **stack_pointer; /* Next free slot in value stack */
register unsigned char *next_instr;
register int opcode; /* Current opcode */
register int oparg; /* Current opcode argument, if any */
Expand Down Expand Up @@ -607,10 +610,10 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
#define JUMPBY(x) (next_instr += (x))

/* OpCode prediction macros
Some opcodes tend to come in pairs thus making it possible to predict
the second code when the first is run. For example, COMPARE_OP is often
followed by JUMP_IF_FALSE or JUMP_IF_TRUE. And, those opcodes are often
followed by a POP_TOP.
Some opcodes tend to come in pairs thus making it possible to
predict the second code when the first is run. For example,
COMPARE_OP is often followed by JUMP_IF_FALSE or JUMP_IF_TRUE. And,
those opcodes are often followed by a POP_TOP.
Verifying the prediction costs a single high-speed test of register
variable against a constant. If the pairing was good, then the
Expand Down Expand Up @@ -657,11 +660,13 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
#define PUSH(v) { (void)(BASIC_PUSH(v), \
lltrace && prtrace(TOP(), "push")); \
assert(STACK_LEVEL() <= co->co_stacksize); }
#define POP() ((void)(lltrace && prtrace(TOP(), "pop")), BASIC_POP())
#define POP() ((void)(lltrace && prtrace(TOP(), "pop")), \
BASIC_POP())
#define STACKADJ(n) { (void)(BASIC_STACKADJ(n), \
lltrace && prtrace(TOP(), "stackadj")); \
assert(STACK_LEVEL() <= co->co_stacksize); }
#define EXT_POP(STACK_POINTER) (lltrace && prtrace((STACK_POINTER)[-1], "ext_pop"), *--(STACK_POINTER))
#define EXT_POP(STACK_POINTER) (lltrace && prtrace((STACK_POINTER)[-1], \
"ext_pop"), *--(STACK_POINTER))
#else
#define PUSH(v) BASIC_PUSH(v)
#define POP() BASIC_POP()
Expand Down Expand Up @@ -1696,7 +1701,8 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
why == WHY_CONTINUE)
retval = POP();
}
else if (PyExceptionClass_Check(v) || PyString_Check(v)) {
else if (PyExceptionClass_Check(v) ||
PyString_Check(v)) {
w = POP();
u = POP();
PyErr_Restore(v, w, u);
Expand Down Expand Up @@ -1745,7 +1751,8 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
if ((x = f->f_locals) != NULL) {
if ((err = PyObject_DelItem(x, w)) != 0)
format_exc_check_arg(PyExc_NameError,
NAME_ERROR_MSG ,w);
NAME_ERROR_MSG,
w);
break;
}
PyErr_Format(PyExc_SystemError,
Expand All @@ -1756,24 +1763,28 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
PREDICTED_WITH_ARG(UNPACK_SEQUENCE);
case UNPACK_SEQUENCE:
v = POP();
if (PyTuple_CheckExact(v) && PyTuple_GET_SIZE(v) == oparg) {
PyObject **items = ((PyTupleObject *)v)->ob_item;
if (PyTuple_CheckExact(v) &&
PyTuple_GET_SIZE(v) == oparg) {
PyObject **items = \
((PyTupleObject *)v)->ob_item;
while (oparg--) {
w = items[oparg];
Py_INCREF(w);
PUSH(w);
}
Py_DECREF(v);
continue;
} else if (PyList_CheckExact(v) && PyList_GET_SIZE(v) == oparg) {
PyObject **items = ((PyListObject *)v)->ob_item;
} else if (PyList_CheckExact(v) &&
PyList_GET_SIZE(v) == oparg) {
PyObject **items = \
((PyListObject *)v)->ob_item;
while (oparg--) {
w = items[oparg];
Py_INCREF(w);
PUSH(w);
}
} else if (unpack_iterable(v, oparg,
stack_pointer + oparg)) {
stack_pointer + oparg)) {
stack_pointer += oparg;
} else {
/* unpack_iterable() raised an exception */
Expand Down Expand Up @@ -1831,7 +1842,8 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
else {
x = PyObject_GetItem(v, w);
if (x == NULL && PyErr_Occurred()) {
if (!PyErr_ExceptionMatches(PyExc_KeyError))
if (!PyErr_ExceptionMatches(
PyExc_KeyError))
break;
PyErr_Clear();
}
Expand All @@ -1843,7 +1855,7 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
if (x == NULL) {
format_exc_check_arg(
PyExc_NameError,
NAME_ERROR_MSG ,w);
NAME_ERROR_MSG, w);
break;
}
}
Expand Down Expand Up @@ -1944,13 +1956,10 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
UNBOUNDLOCAL_ERROR_MSG,
v);
} else {
v = PyTuple_GET_ITEM(
co->co_freevars,
oparg - PyTuple_GET_SIZE(co->co_cellvars));
format_exc_check_arg(
PyExc_NameError,
UNBOUNDFREE_ERROR_MSG,
v);
v = PyTuple_GET_ITEM(co->co_freevars, oparg -
PyTuple_GET_SIZE(co->co_cellvars));
format_exc_check_arg(PyExc_NameError,
UNBOUNDFREE_ERROR_MSG, v);
}
break;

Expand Down Expand Up @@ -2177,7 +2186,8 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
continue;
}
if (PyErr_Occurred()) {
if (!PyErr_ExceptionMatches(PyExc_StopIteration))
if (!PyErr_ExceptionMatches(
PyExc_StopIteration))
break;
PyErr_Clear();
}
Expand All @@ -2203,9 +2213,10 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
case SETUP_LOOP:
case SETUP_EXCEPT:
case SETUP_FINALLY:
/* NOTE: If you add any new block-setup opcodes that are
not try/except/finally handlers, you may need to
update the PyGen_NeedsFinalizing() function. */
/* NOTE: If you add any new block-setup opcodes that
are not try/except/finally handlers, you may need
to update the PyGen_NeedsFinalizing() function.
*/

PyFrame_BlockSetup(f, opcode, INSTR_OFFSET() + oparg,
STACK_LEVEL());
Expand Down Expand Up @@ -4001,10 +4012,9 @@ cmp_outcome(int op, register PyObject *v, register PyObject *w)
if (PyString_Check(exc)) {
int ret_val;
ret_val = PyErr_WarnEx(
PyExc_DeprecationWarning,
"catching of string "
"exceptions is "
"deprecated", 1);
PyExc_DeprecationWarning,
"catching of string "
"exceptions is deprecated", 1);
if (ret_val == -1)
return NULL;
}
Expand All @@ -4016,8 +4026,7 @@ cmp_outcome(int op, register PyObject *v, register PyObject *w)
ret_val = PyErr_WarnEx(
PyExc_DeprecationWarning,
"catching of string "
"exceptions is deprecated",
1);
"exceptions is deprecated", 1);
if (ret_val == -1)
return NULL;
}
Expand Down Expand Up @@ -4295,8 +4304,9 @@ string_concatenate(PyObject *v, PyObject *w,
if (v->ob_refcnt == 2) {
/* In the common case, there are 2 references to the value
* stored in 'variable' when the += is performed: one on the
* value stack (in 'v') and one still stored in the 'variable'.
* We try to delete the variable now to reduce the refcnt to 1.
* value stack (in 'v') and one still stored in the
* 'variable'. We try to delete the variable now to reduce
* the refcnt to 1.
*/
switch (*next_instr) {
case STORE_FAST:
Expand All @@ -4309,7 +4319,8 @@ string_concatenate(PyObject *v, PyObject *w,
}
case STORE_DEREF:
{
PyObject **freevars = f->f_localsplus + f->f_code->co_nlocals;
PyObject **freevars = (f->f_localsplus +
f->f_code->co_nlocals);
PyObject *c = freevars[PEEKARG()];
if (PyCell_GET(c) == v)
PyCell_Set(c, NULL);
Expand Down Expand Up @@ -4337,10 +4348,10 @@ string_concatenate(PyObject *v, PyObject *w,
*/
if (_PyString_Resize(&v, new_len) != 0) {
/* XXX if _PyString_Resize() fails, 'v' has been
* deallocated so it cannot be put back into 'variable'.
* The MemoryError is raised when there is no value in
* 'variable', which might (very remotely) be a cause
* of incompatibilities.
* deallocated so it cannot be put back into
* 'variable'. The MemoryError is raised when there
* is no value in 'variable', which might (very
* remotely) be a cause of incompatibilities.
*/
return NULL;
}
Expand Down

0 comments on commit e217602

Please sign in to comment.