diff options
author | Ken Jin <kenjin@python.org> | 2024-03-07 16:21:21 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-07 16:21:21 (GMT) |
commit | 41457c7fdb04819d04a528b8dfa72c1aa5745cc9 (patch) | |
tree | 45a20bbed062946dae7b20c9fb616245b2751485 /Include/internal | |
parent | 4298d69d4b2f7d0e9d93ad325238930bd6235dbf (diff) | |
download | cpython-41457c7fdb04819d04a528b8dfa72c1aa5745cc9.zip cpython-41457c7fdb04819d04a528b8dfa72c1aa5745cc9.tar.gz cpython-41457c7fdb04819d04a528b8dfa72c1aa5745cc9.tar.bz2 |
gh-116381: Remove bad specializations, add fail stats (GH-116464)
* Remove bad specializations, add fail stats
Diffstat (limited to 'Include/internal')
-rw-r--r-- | Include/internal/pycore_list.h | 2 | ||||
-rw-r--r-- | Include/internal/pycore_opcode_metadata.h | 27 | ||||
-rw-r--r-- | Include/internal/pycore_tuple.h | 2 | ||||
-rw-r--r-- | Include/internal/pycore_uop_ids.h | 3 | ||||
-rw-r--r-- | Include/internal/pycore_uop_metadata.h | 6 |
5 files changed, 3 insertions, 37 deletions
diff --git a/Include/internal/pycore_list.h b/Include/internal/pycore_list.h index 92cab73..2a82912 100644 --- a/Include/internal/pycore_list.h +++ b/Include/internal/pycore_list.h @@ -56,8 +56,6 @@ typedef struct { PyAPI_FUNC(PyObject *)_PyList_FromArraySteal(PyObject *const *src, Py_ssize_t n); -PyAPI_FUNC(int) _PyList_Contains(PyObject *aa, PyObject *el); - #ifdef __cplusplus } #endif diff --git a/Include/internal/pycore_opcode_metadata.h b/Include/internal/pycore_opcode_metadata.h index 4c691d6..efb731f 100644 --- a/Include/internal/pycore_opcode_metadata.h +++ b/Include/internal/pycore_opcode_metadata.h @@ -153,14 +153,8 @@ int _PyOpcode_num_popped(int opcode, int oparg) { return 2; case CONTAINS_OP_DICT: return 2; - case CONTAINS_OP_LIST: - return 2; case CONTAINS_OP_SET: return 2; - case CONTAINS_OP_STR: - return 2; - case CONTAINS_OP_TUPLE: - return 2; case CONVERT_VALUE: return 1; case COPY: @@ -588,14 +582,8 @@ int _PyOpcode_num_pushed(int opcode, int oparg) { return 1; case CONTAINS_OP_DICT: return 1; - case CONTAINS_OP_LIST: - return 1; case CONTAINS_OP_SET: return 1; - case CONTAINS_OP_STR: - return 1; - case CONTAINS_OP_TUPLE: - return 1; case CONVERT_VALUE: return 1; case COPY: @@ -1024,10 +1012,7 @@ const struct opcode_metadata _PyOpcode_opcode_metadata[268] = { [COMPARE_OP_STR] = { true, INSTR_FMT_IBC, HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_EXIT_FLAG | HAS_ESCAPES_FLAG }, [CONTAINS_OP] = { true, INSTR_FMT_IBC, HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG }, [CONTAINS_OP_DICT] = { true, INSTR_FMT_IBC, HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG }, - [CONTAINS_OP_LIST] = { true, INSTR_FMT_IBC, HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG }, [CONTAINS_OP_SET] = { true, INSTR_FMT_IBC, HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG }, - [CONTAINS_OP_STR] = { true, INSTR_FMT_IBC, HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG }, - [CONTAINS_OP_TUPLE] = { true, INSTR_FMT_IBC, HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG }, [CONVERT_VALUE] = { true, INSTR_FMT_IB, HAS_ARG_FLAG | HAS_ERROR_FLAG }, [COPY] = { true, INSTR_FMT_IB, HAS_ARG_FLAG | HAS_PURE_FLAG }, [COPY_FREE_VARS] = { true, INSTR_FMT_IB, HAS_ARG_FLAG }, @@ -1251,10 +1236,7 @@ _PyOpcode_macro_expansion[256] = { [COMPARE_OP_STR] = { .nuops = 2, .uops = { { _GUARD_BOTH_UNICODE, 0, 0 }, { _COMPARE_OP_STR, 0, 0 } } }, [CONTAINS_OP] = { .nuops = 1, .uops = { { _CONTAINS_OP, 0, 0 } } }, [CONTAINS_OP_DICT] = { .nuops = 1, .uops = { { _CONTAINS_OP_DICT, 0, 0 } } }, - [CONTAINS_OP_LIST] = { .nuops = 1, .uops = { { _CONTAINS_OP_LIST, 0, 0 } } }, [CONTAINS_OP_SET] = { .nuops = 1, .uops = { { _CONTAINS_OP_SET, 0, 0 } } }, - [CONTAINS_OP_STR] = { .nuops = 1, .uops = { { _CONTAINS_OP_STR, 0, 0 } } }, - [CONTAINS_OP_TUPLE] = { .nuops = 1, .uops = { { _CONTAINS_OP_TUPLE, 0, 0 } } }, [CONVERT_VALUE] = { .nuops = 1, .uops = { { _CONVERT_VALUE, 0, 0 } } }, [COPY] = { .nuops = 1, .uops = { { _COPY, 0, 0 } } }, [COPY_FREE_VARS] = { .nuops = 1, .uops = { { _COPY_FREE_VARS, 0, 0 } } }, @@ -1429,10 +1411,7 @@ const char *_PyOpcode_OpName[268] = { [COMPARE_OP_STR] = "COMPARE_OP_STR", [CONTAINS_OP] = "CONTAINS_OP", [CONTAINS_OP_DICT] = "CONTAINS_OP_DICT", - [CONTAINS_OP_LIST] = "CONTAINS_OP_LIST", [CONTAINS_OP_SET] = "CONTAINS_OP_SET", - [CONTAINS_OP_STR] = "CONTAINS_OP_STR", - [CONTAINS_OP_TUPLE] = "CONTAINS_OP_TUPLE", [CONVERT_VALUE] = "CONVERT_VALUE", [COPY] = "COPY", [COPY_FREE_VARS] = "COPY_FREE_VARS", @@ -1685,10 +1664,7 @@ const uint8_t _PyOpcode_Deopt[256] = { [COMPARE_OP_STR] = COMPARE_OP, [CONTAINS_OP] = CONTAINS_OP, [CONTAINS_OP_DICT] = CONTAINS_OP, - [CONTAINS_OP_LIST] = CONTAINS_OP, [CONTAINS_OP_SET] = CONTAINS_OP, - [CONTAINS_OP_STR] = CONTAINS_OP, - [CONTAINS_OP_TUPLE] = CONTAINS_OP, [CONVERT_VALUE] = CONVERT_VALUE, [COPY] = COPY, [COPY_FREE_VARS] = COPY_FREE_VARS, @@ -1875,6 +1851,9 @@ const uint8_t _PyOpcode_Deopt[256] = { case 146: \ case 147: \ case 148: \ + case 221: \ + case 222: \ + case 223: \ case 224: \ case 225: \ case 226: \ diff --git a/Include/internal/pycore_tuple.h b/Include/internal/pycore_tuple.h index edde404..14a9e42 100644 --- a/Include/internal/pycore_tuple.h +++ b/Include/internal/pycore_tuple.h @@ -29,8 +29,6 @@ typedef struct { PyTupleObject *it_seq; /* Set to NULL when iterator is exhausted */ } _PyTupleIterObject; -PyAPI_FUNC(int) _PyTuple_Contains(PyTupleObject *a, PyObject *el); - #ifdef __cplusplus } #endif diff --git a/Include/internal/pycore_uop_ids.h b/Include/internal/pycore_uop_ids.h index 5bf10ae..1209d73 100644 --- a/Include/internal/pycore_uop_ids.h +++ b/Include/internal/pycore_uop_ids.h @@ -76,10 +76,7 @@ extern "C" { #define _COMPARE_OP_STR 328 #define _CONTAINS_OP 329 #define _CONTAINS_OP_DICT CONTAINS_OP_DICT -#define _CONTAINS_OP_LIST CONTAINS_OP_LIST #define _CONTAINS_OP_SET CONTAINS_OP_SET -#define _CONTAINS_OP_STR CONTAINS_OP_STR -#define _CONTAINS_OP_TUPLE CONTAINS_OP_TUPLE #define _CONVERT_VALUE CONVERT_VALUE #define _COPY COPY #define _COPY_FREE_VARS COPY_FREE_VARS diff --git a/Include/internal/pycore_uop_metadata.h b/Include/internal/pycore_uop_metadata.h index 23aead2..7f984d8 100644 --- a/Include/internal/pycore_uop_metadata.h +++ b/Include/internal/pycore_uop_metadata.h @@ -154,11 +154,8 @@ const uint16_t _PyUop_Flags[MAX_UOP_ID+1] = { [_COMPARE_OP_STR] = HAS_ARG_FLAG | HAS_ESCAPES_FLAG, [_IS_OP] = HAS_ARG_FLAG, [_CONTAINS_OP] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG, - [_CONTAINS_OP_LIST] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG, [_CONTAINS_OP_SET] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG, - [_CONTAINS_OP_TUPLE] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG, [_CONTAINS_OP_DICT] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG, - [_CONTAINS_OP_STR] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG, [_CHECK_EG_MATCH] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG, [_CHECK_EXC_MATCH] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG, [_IS_NONE] = 0, @@ -314,10 +311,7 @@ const char *const _PyOpcode_uop_name[MAX_UOP_ID+1] = { [_COMPARE_OP_STR] = "_COMPARE_OP_STR", [_CONTAINS_OP] = "_CONTAINS_OP", [_CONTAINS_OP_DICT] = "_CONTAINS_OP_DICT", - [_CONTAINS_OP_LIST] = "_CONTAINS_OP_LIST", [_CONTAINS_OP_SET] = "_CONTAINS_OP_SET", - [_CONTAINS_OP_STR] = "_CONTAINS_OP_STR", - [_CONTAINS_OP_TUPLE] = "_CONTAINS_OP_TUPLE", [_CONVERT_VALUE] = "_CONVERT_VALUE", [_COPY] = "_COPY", [_COPY_FREE_VARS] = "_COPY_FREE_VARS", |