summaryrefslogtreecommitdiff
path: root/Objects/unicodeobject.c
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2015-07-04 16:04:44 -0700
committerRaymond Hettinger <python@rcn.com>2015-07-04 16:04:44 -0700
commitac2ef65c320606e30132ca58bbd6b5d6861ce644 (patch)
tree60314adce386a879a44b69e752d29568d63d894d /Objects/unicodeobject.c
parent7fe0507d07f819c76a79421ae54d547a54e6f35d (diff)
downloadcpython-git-ac2ef65c320606e30132ca58bbd6b5d6861ce644.tar.gz
Make the unicode equality test an external function rather than in-lining it.
The real benefit of the unicode specialized function comes from bypassing the overhead of PyObject_RichCompareBool() and not from being in-lined (especially since there was almost no shared data between the caller and callee). Also, the in-lining was having a negative effect on code generation for the callee.
Diffstat (limited to 'Objects/unicodeobject.c')
-rw-r--r--Objects/unicodeobject.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 1eaf2e977d..796e0b4f27 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -42,6 +42,7 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include "Python.h"
#include "ucnhash.h"
#include "bytes_methods.h"
+#include "stringlib/eq.h"
#ifdef MS_WINDOWS
#include <windows.h>
@@ -10887,6 +10888,12 @@ PyUnicode_RichCompare(PyObject *left, PyObject *right, int op)
}
int
+_PyUnicode_EQ(PyObject *aa, PyObject *bb)
+{
+ return unicode_eq(aa, bb);
+}
+
+int
PyUnicode_Contains(PyObject *container, PyObject *element)
{
PyObject *str, *sub;