summaryrefslogtreecommitdiffstats
path: root/Include/internal
diff options
context:
space:
mode:
authorDennis Sweeney <36520290+sweeneyde@users.noreply.github.com>2021-12-03 11:29:12 (GMT)
committerGitHub <noreply@github.com>2021-12-03 11:29:12 (GMT)
commit03768c4d139df46212a091ed931aad03bec18b57 (patch)
tree35ab5e03aacded970ee0b1d21077f18782176c08 /Include/internal
parent99fcf1505218464c489d419d4500f126b6d6dc28 (diff)
downloadcpython-03768c4d139df46212a091ed931aad03bec18b57.zip
cpython-03768c4d139df46212a091ed931aad03bec18b57.tar.gz
cpython-03768c4d139df46212a091ed931aad03bec18b57.tar.bz2
bpo-45885: Specialize COMPARE_OP (GH-29734)
* Add COMPARE_OP_ADAPTIVE adaptive instruction. * Add COMPARE_OP_FLOAT_JUMP, COMPARE_OP_INT_JUMP and COMPARE_OP_STR_JUMP specialized instructions. * Introduce and use _PyUnicode_Equal
Diffstat (limited to 'Include/internal')
-rw-r--r--Include/internal/pycore_code.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/Include/internal/pycore_code.h b/Include/internal/pycore_code.h
index d4d1392..496d52f 100644
--- a/Include/internal/pycore_code.h
+++ b/Include/internal/pycore_code.h
@@ -42,6 +42,7 @@ typedef struct {
uint16_t defaults_len;
} _PyCallCache;
+
/* Add specialized versions of entries to this union.
*
* Do not break the invariant: sizeof(SpecializedCacheEntry) == 8
@@ -273,6 +274,7 @@ int _Py_Specialize_StoreSubscr(PyObject *container, PyObject *sub, _Py_CODEUNIT
int _Py_Specialize_CallFunction(PyObject *callable, _Py_CODEUNIT *instr, int nargs, SpecializedCacheEntry *cache, PyObject *builtins);
void _Py_Specialize_BinaryOp(PyObject *lhs, PyObject *rhs, _Py_CODEUNIT *instr,
SpecializedCacheEntry *cache);
+void _Py_Specialize_CompareOp(PyObject *lhs, PyObject *rhs, _Py_CODEUNIT *instr, SpecializedCacheEntry *cache);
#define PRINT_SPECIALIZATION_STATS 0
#define PRINT_SPECIALIZATION_STATS_DETAILED 0