cpython/Objects
Michael W. Hudson 22a80e7cb0 Quality control, meet exceptions.c.
Fix a number of problems with the need for speed code:

One is doing this sort of thing:

    Py_DECREF(self->field);
    self->field = newval;
    Py_INCREF(self->field);

without being very sure that self->field doesn't start with a
value that has a __del__, because that almost certainly can lead
to segfaults.

As self->args is constrained to be an exact tuple we may as well
exploit this fact consistently.  This leads to quite a lot of
simplification (and, hey, probably better performance).

Add some error checking in places lacking it.

Fix some rather strange indentation in the Unicode code.

Delete some trailing whitespace.

More to come, I haven't fixed all the reference leaks yet...
2006-05-28 15:51:40 +00:00
..
stringlib needforspeed: stringlib refactoring: changed find_obj to find_slice, 2006-05-27 15:20:22 +00:00
abstract.c C++ compilation cleanup: Migrate declaration of 2006-04-18 00:27:46 +00:00
boolobject.c Remove unnecessary casts in type object initializers. 2006-03-30 11:57:00 +00:00
bufferobject.c More C++-compliance. Note especially listobject.c - to get C++ to accept the 2006-04-11 06:54:30 +00:00
cellobject.c Use Py_VISIT in all tp_traverse methods, instead of traversing manually or 2006-04-15 21:47:09 +00:00
classobject.c Simplify calling. 2006-05-26 20:22:50 +00:00
cobject.c Remove unnecessary casts in type object initializers. 2006-03-30 11:57:00 +00:00
codeobject.c Merge from rjones-funccall branch. 2006-05-23 10:37:38 +00:00
complexobject.c C++ compiler cleanup: bunch-o-casts, plus use of unsigned loop index var in a couple places 2006-04-18 00:35:43 +00:00
descrobject.c Use Py_VISIT in all tp_traverse methods, instead of traversing manually or 2006-04-15 21:47:09 +00:00
dictnotes.txt
dictobject.c Use Py_VISIT in all tp_traverse methods, instead of traversing manually or 2006-04-15 21:47:09 +00:00
enumobject.c Use Py_VISIT in all tp_traverse methods, instead of traversing manually or 2006-04-15 21:47:09 +00:00
exceptions.c Quality control, meet exceptions.c. 2006-05-28 15:51:40 +00:00
fileobject.c Bug #1462152: file() now checks more thoroughly for invalid mode 2006-05-18 07:01:27 +00:00
floatobject.c Added a new macro, Py_IS_FINITE(X). On windows there is an intrinsic for this and it is more efficient than to use !Py_IS_INFINITE(X) && !Py_IS_NAN(X). No change on other platforms 2006-05-25 15:53:30 +00:00
frameobject.c fix broken merge 2006-05-23 18:32:11 +00:00
funcobject.c Use Py_VISIT in all tp_traverse methods, instead of traversing manually or 2006-04-15 21:47:09 +00:00
genobject.c gen_del(): Looks like much this was copy/pasted from 2006-04-15 22:59:10 +00:00
intobject.c C++ compiler cleanup: bunch-o-casts, plus use of unsigned loop index var in a couple places 2006-04-18 00:35:43 +00:00
iterobject.c Use Py_VISIT in all tp_traverse methods, instead of traversing manually or 2006-04-15 21:47:09 +00:00
listobject.c Remove now-unused variables from tp_traverse and tp_clear methods. 2006-04-15 22:51:26 +00:00
listsort.txt
longobject.c Patch #1494387: SVN longobject.c compiler warnings 2006-05-25 22:28:46 +00:00
methodobject.c Use Py_VISIT in all tp_traverse methods, instead of traversing manually or 2006-04-15 21:47:09 +00:00
moduleobject.c Use Py_VISIT in all tp_traverse methods, instead of traversing manually or 2006-04-15 21:47:09 +00:00
object.c Comment typo fix 2006-04-18 11:49:53 +00:00
obmalloc.c Get compiling again 2006-04-11 07:58:54 +00:00
rangeobject.c Remove "static forward" declaration. Move constructors 2006-04-11 09:04:12 +00:00
setobject.c Clear dummy and emptyfrozenset, so that we don't have 2006-04-15 12:47:23 +00:00
sliceobject.c Allow long integers in PySlice_GetIndices. 2006-04-03 11:38:08 +00:00
stringobject.c needforspeed: added Py_MEMCPY macro (currently tuned for Visual C only), 2006-05-28 12:06:46 +00:00
structseq.c Unlink the structseq type from the global list of 2006-04-15 12:45:05 +00:00
tupleobject.c Use Py_VISIT in all tp_traverse methods, instead of traversing manually or 2006-04-15 21:47:09 +00:00
typeobject.c Replace PyObject_CallFunction calls with only object args 2006-05-25 19:15:31 +00:00
unicodectype.c Patch 1494554: Update numeric properties to Unicode 4.1. 2006-05-27 08:36:52 +00:00
unicodeobject.c needforspeed: stringlib refactoring: changed find_obj to find_slice, 2006-05-27 15:20:22 +00:00
unicodetype_db.h Update Unicode database to Unicode 4.1. 2006-03-09 23:38:20 +00:00
weakrefobject.c Replace PyObject_CallFunction calls with only object args 2006-05-25 19:15:31 +00:00