cpython/Objects
Tim Peters 602f740bc2 SF patch 549375: Compromise PyUnicode_EncodeUTF8
This implements ideas from Marc-Andre, Martin, Guido and me on Python-Dev.

"Short" Unicode strings are encoded into a "big enough" stack buffer,
then exactly as much string space as they turn out to need is allocated
at the end.  This should have speed benefits akin to Martin's "measure
once, allocate once" strategy, but without needing a distinct measuring
pass.

"Long" Unicode strings allocate as much heap space as they could possibly
need (4 x # Unicode chars), and do a realloc at the end to return the
untouched excess.  Since the overallocation is likely to be substantial,
this shouldn't burden the platform realloc with unusably small excess
blocks.

Also simplified uses of the PyString_xyz functions.  Also added a release-
build check that 4*size doesn't overflow a C int.  Sooner or later, that's
going to happen.
2002-04-27 18:03:26 +00:00
..
.cvsignore Ignore a bunch of generated files. 2000-05-02 18:34:30 +00:00
abstract.c abstract_get_bases(): Clarify exactly what the return values and 2002-04-23 22:45:44 +00:00
boolobject.c Clean up the layout of the bool_as_number struct initializer. 2002-04-25 20:01:10 +00:00
bufferobject.c Remove the CACHE_HASH and INTERN_STRINGS preprocessor symbols. 2002-03-29 03:29:08 +00:00
cellobject.c Use new GC API. 2001-08-29 23:54:21 +00:00
classobject.c Be smarter about clearing the weakref lists for instances, instance methods, 2001-10-26 17:56:51 +00:00
cobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
complexobject.c Deprecate % as well. The message for deprecation of //, % and divmod 2002-04-15 12:39:12 +00:00
descrobject.c Fold long lines. (Walter, please take note! :-) 2002-04-13 14:06:36 +00:00
dictobject.c Add Raymond Hettinger's d.pop(). See SF patch 539949. 2002-04-12 15:11:59 +00:00
enumobject.c - New builtin function enumerate(x), from PEP 279. Example: 2002-04-26 19:40:56 +00:00
fileobject.c Py_UniversalNewlineFread(): small speed boost on non-Windows boxes. 2002-04-21 18:15:20 +00:00
floatobject.c SF bug 525705: [2.2] underflow raise OverflowException. 2002-03-09 04:58:24 +00:00
frameobject.c Fix SF bug #505315: Make free and cell vars show up consistently in locals(). 2002-04-20 04:46:55 +00:00
funcobject.c PyObject_Del can now be used as a function designator. 2002-04-12 02:44:10 +00:00
intobject.c Make sure that tp_free frees the int the same way as tp_dealloc would. 2002-04-26 00:53:34 +00:00
iterobject.c Re-enable GC of iter objects. 2002-03-18 20:43:51 +00:00
listobject.c PyObject_GC_Del can now be used as a function designator. 2002-04-12 02:44:22 +00:00
longobject.c Clarify return value of PyLong_AsLongLong(). 2002-04-23 20:01:20 +00:00
methodobject.c Introduce two new flag bits that can be set in a PyMethodDef method 2002-03-28 05:33:33 +00:00
moduleobject.c PyObject_GC_Del can now be used as a function designator. 2002-04-12 02:44:22 +00:00
object.c PyNumber_CoerceEx: this took a shortcut (not doing anything) when the 2002-04-26 02:49:14 +00:00
obmalloc.c _PyObject_DebugMallocStats(): Added some potentially expensive internal 2002-04-18 22:25:03 +00:00
rangeobject.c Remove PyMalloc_New and PyMalloc_Del. 2002-04-12 02:44:55 +00:00
sliceobject.c Remove PyMalloc_New and PyMalloc_Del. 2002-04-12 03:05:37 +00:00
stringobject.c Apply patch diff.txt from SF feature request 2002-04-22 17:42:37 +00:00
structseq.c Remove PyMalloc_New and PyMalloc_Del. 2002-04-12 03:05:37 +00:00
tupleobject.c PyObject_GC_Del can now be used as a function designator. 2002-04-12 03:05:52 +00:00
typeobject.c type_get_doc(): Squash compiler wng about incompatible ptr types. 2002-04-18 04:12:28 +00:00
unicodectype.c removed "register const" from scalar arguments to the unicode 2001-06-27 22:08:26 +00:00
unicodeobject.c SF patch 549375: Compromise PyUnicode_EncodeUTF8 2002-04-27 18:03:26 +00:00
unicodetype_db.h forgot to check in the new makeunicodedata.py script 2001-01-21 17:01:31 +00:00
weakrefobject.c Remove weakref free list. This has the side effect of fixing a memory 2002-03-27 15:18:21 +00:00
xxobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00