diff options
author | Amaury Forgeot d'Arc <amauryfa@gmail.com> | 2008-01-14 00:29:41 (GMT) |
---|---|---|
committer | Amaury Forgeot d'Arc <amauryfa@gmail.com> | 2008-01-14 00:29:41 (GMT) |
commit | e4c270c2a887d251966fae5bfc93dbe2b312ee73 (patch) | |
tree | 3f396736d6317de4675f92db7d3dca04cc7a32ee /Include | |
parent | 08ccf202e606a066668f4ef85df9a9c0d07e1ba1 (diff) | |
download | cpython-e4c270c2a887d251966fae5bfc93dbe2b312ee73.zip cpython-e4c270c2a887d251966fae5bfc93dbe2b312ee73.tar.gz cpython-e4c270c2a887d251966fae5bfc93dbe2b312ee73.tar.bz2 |
Re-apply patch #1700288 (first applied in r59931, rolled back in r59940)
now that ctypes uses a more supported method to create types:
Method cache optimization, by Armin Rigo, ported to 2.6 by Kevin Jacobs.
Diffstat (limited to 'Include')
-rw-r--r-- | Include/object.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Include/object.h b/Include/object.h index b434a21..7294158 100644 --- a/Include/object.h +++ b/Include/object.h @@ -345,6 +345,9 @@ typedef struct _typeobject { PyObject *tp_weaklist; destructor tp_del; + /* Type attribute cache version tag. Added in version 2.6 */ + unsigned int tp_version_tag; + #ifdef COUNT_ALLOCS /* these must be last and never explicitly initialized */ Py_ssize_t tp_allocs; @@ -529,6 +532,10 @@ given type object has a specified feature. /* Objects support nb_index in PyNumberMethods */ #define Py_TPFLAGS_HAVE_INDEX (1L<<17) +/* Objects support type attribute cache */ +#define Py_TPFLAGS_HAVE_VERSION_TAG (1L<<18) +#define Py_TPFLAGS_VALID_VERSION_TAG (1L<<19) + /* These flags are used to determine if a type is a subclass. */ #define Py_TPFLAGS_INT_SUBCLASS (1L<<23) #define Py_TPFLAGS_LONG_SUBCLASS (1L<<24) @@ -550,6 +557,7 @@ given type object has a specified feature. Py_TPFLAGS_HAVE_CLASS | \ Py_TPFLAGS_HAVE_STACKLESS_EXTENSION | \ Py_TPFLAGS_HAVE_INDEX | \ + Py_TPFLAGS_HAVE_VERSION_TAG | \ 0) #define PyType_HasFeature(t,f) (((t)->tp_flags & (f)) != 0) |