cpython/Objects
Marc-André Lemburg 8155e0e541 This patch originated from an idea by Martin v. Loewis who submitted a
patch for sharing single character Unicode objects.

Martin's patch had to be reworked in a number of ways to take Unicode
resizing into consideration as well. Here's what the updated patch
implements:

* Single character Unicode strings in the Latin-1 range are shared
  (not only ASCII chars as in Martin's original patch).

* The ASCII and Latin-1 codecs make use of this optimization,
  providing a noticable speedup for single character strings. Most
  Unicode methods can use the optimization as well (by virtue
  of using PyUnicode_FromUnicode()).

* Some code cleanup was done (replacing memcpy with Py_UNICODE_COPY)

* The PyUnicode_Resize() can now also handle the case of resizing
  unicode_empty which previously resulted in an error.

* Modified the internal API _PyUnicode_Resize() and
  the public PyUnicode_Resize() API to handle references to
  shared objects correctly. The _PyUnicode_Resize() signature
  changed due to this.

* Callers of PyUnicode_FromUnicode() may now only modify the Unicode
  object contents of the returned object in case they called the API
  with NULL as content template.

Note that even though this patch passes the regression tests, there
may still be subtle bugs in the sharing code.
2001-04-23 14:44:21 +00:00
..
.cvsignore Ignore a bunch of generated files. 2000-05-02 18:34:30 +00:00
abstract.c Mondo changes to the iterator stuff, without changing how Python code 2001-04-23 14:08:49 +00:00
bufferobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
cellobject.c Variety of small INC/DECREF patches that fix reported memory leaks 2001-03-13 01:58:22 +00:00
classobject.c Mondo changes to the iterator stuff, without changing how Python code 2001-04-23 14:08:49 +00:00
cobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
complexobject.c SF bug [ #409448 ] Complex division is braindead 2001-03-18 08:21:57 +00:00
dictobject.c Mondo changes to the iterator stuff, without changing how Python code 2001-04-23 14:08:49 +00:00
fileobject.c Mondo changes to the iterator stuff, without changing how Python code 2001-04-23 14:08:49 +00:00
floatobject.c When 1.6 boosted the # of digits produced by repr(float), repr(complex) 2001-03-11 08:37:29 +00:00
frameobject.c Make one more private symbol static. 2001-04-14 17:55:41 +00:00
funcobject.c Add support for weak references to the function and method types. 2001-03-23 04:19:27 +00:00
intobject.c Use Py_CHARMASK for ctype macros. Fixes bug #232787. 2001-03-06 12:12:02 +00:00
iterobject.c Mondo changes to the iterator stuff, without changing how Python code 2001-04-23 14:08:49 +00:00
listobject.c Fix core dump whenever PyList_Reverse() was called. 2001-02-12 22:06:02 +00:00
longobject.c Rich comparisons fall-out: 2001-01-17 15:33:18 +00:00
methodobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
moduleobject.c Add garbage collection for module objects. Closes patch #102939 and 2001-01-02 15:58:27 +00:00
object.c Fixed ref count bug. Patch #411191. Found by Walter Dörwald. 2001-03-25 19:16:13 +00:00
obmalloc.c Identifiers matching _[A-Z_]\w* are reserved for C implementations. 2001-03-11 18:36:13 +00:00
rangeobject.c SF patch #103158 by Greg Ball: Don't do unsafe arithmetic in xrange 2001-01-15 18:58:56 +00:00
sliceobject.c SF patch #408326 by Robin Thomas: slice objects comparable, not 2001-03-20 12:41:34 +00:00
stringobject.c Iterators phase 1. This comprises: 2001-04-20 19:13:02 +00:00
tupleobject.c Same treatment as listobject.c: 2001-01-18 00:00:53 +00:00
typeobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
unicodectype.c unicode database compression, step 3: 2000-09-25 21:48:13 +00:00
unicodeobject.c This patch originated from an idea by Martin v. Loewis who submitted a 2001-04-23 14:44:21 +00:00
unicodetype_db.h forgot to check in the new makeunicodedata.py script 2001-01-21 17:01:31 +00:00
xxobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00