mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
SF patch 576101, by Oren Tirosh: alternative implementation of
interning. I modified Oren's patch significantly, but the basic idea and most of the implementation is unchanged. Interned strings created with PyString_InternInPlace() are now mortal, and you must keep a reference to the resulting string around; use the new function PyString_InternImmortal() to create immortal interned strings.
This commit is contained in:
parent
d8dbf847b6
commit
45ec02aed1
7 changed files with 171 additions and 106 deletions
|
@ -23,8 +23,8 @@ PyAPI_FUNC(int) PyModule_AddObject(PyObject *, char *, PyObject *);
|
|||
PyAPI_FUNC(int) PyModule_AddIntConstant(PyObject *, char *, long);
|
||||
PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, char *, char *);
|
||||
|
||||
#define PYTHON_API_VERSION 1011
|
||||
#define PYTHON_API_STRING "1011"
|
||||
#define PYTHON_API_VERSION 1012
|
||||
#define PYTHON_API_STRING "1012"
|
||||
/* The API version is maintained (independently from the Python version)
|
||||
so we can detect mismatches between the interpreter and dynamically
|
||||
loaded modules. These are diagnosed by an error message but
|
||||
|
@ -38,6 +38,9 @@ PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, char *, char *);
|
|||
Please add a line or two to the top of this log for each API
|
||||
version change:
|
||||
|
||||
19-Aug-2002 GvR 1012 Changes to string object struct for
|
||||
interning changes, saving 3 bytes.
|
||||
|
||||
17-Jul-2001 GvR 1011 Descr-branch, just to be on the safe side
|
||||
|
||||
25-Jan-2001 FLD 1010 Parameters added to PyCode_New() and
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue