summaryrefslogtreecommitdiffstats
path: root/Python/opcode_targets.h
diff options
context:
space:
mode:
authorDennis Sweeney <36520290+sweeneyde@users.noreply.github.com>2021-11-19 10:30:37 (GMT)
committerGitHub <noreply@github.com>2021-11-19 10:30:37 (GMT)
commit036fead695a9a1e1082992d16ab46bca1cd61a25 (patch)
tree4a3622ca0d0cdc0c69eab7ccf935019c4da37137 /Python/opcode_targets.h
parent4575c01b750cd26377e803247c38d65dad15e26a (diff)
downloadcpython-036fead695a9a1e1082992d16ab46bca1cd61a25.zip
cpython-036fead695a9a1e1082992d16ab46bca1cd61a25.tar.gz
cpython-036fead695a9a1e1082992d16ab46bca1cd61a25.tar.bz2
bpo-45609: Specialize STORE_SUBSCR (GH-29242)
* Specialize STORE_SUBSCR for list[int], and dict[object] * Adds _PyDict_SetItem_Take2 which consumes references to the key and values.
Diffstat (limited to 'Python/opcode_targets.h')
-rw-r--r--Python/opcode_targets.h32
1 files changed, 16 insertions, 16 deletions
diff --git a/Python/opcode_targets.h b/Python/opcode_targets.h
index 4703255..903b967 100644
--- a/Python/opcode_targets.h
+++ b/Python/opcode_targets.h
@@ -26,17 +26,20 @@ static void *opcode_targets[256] = {
&&TARGET_BINARY_SUBSCR_TUPLE_INT,
&&TARGET_BINARY_SUBSCR,
&&TARGET_BINARY_SUBSCR_DICT,
- &&TARGET_CALL_FUNCTION_ADAPTIVE,
- &&TARGET_CALL_FUNCTION_BUILTIN_O,
- &&TARGET_CALL_FUNCTION_BUILTIN_FAST,
+ &&TARGET_STORE_SUBSCR_ADAPTIVE,
+ &&TARGET_STORE_SUBSCR_LIST_INT,
+ &&TARGET_STORE_SUBSCR_DICT,
&&TARGET_GET_LEN,
&&TARGET_MATCH_MAPPING,
&&TARGET_MATCH_SEQUENCE,
&&TARGET_MATCH_KEYS,
- &&TARGET_CALL_FUNCTION_LEN,
+ &&TARGET_CALL_FUNCTION_ADAPTIVE,
&&TARGET_PUSH_EXC_INFO,
- &&TARGET_CALL_FUNCTION_ISINSTANCE,
+ &&TARGET_CALL_FUNCTION_BUILTIN_O,
&&TARGET_POP_EXCEPT_AND_RERAISE,
+ &&TARGET_CALL_FUNCTION_BUILTIN_FAST,
+ &&TARGET_CALL_FUNCTION_LEN,
+ &&TARGET_CALL_FUNCTION_ISINSTANCE,
&&TARGET_CALL_FUNCTION_PY_SIMPLE,
&&TARGET_JUMP_ABSOLUTE_QUICK,
&&TARGET_LOAD_ATTR_ADAPTIVE,
@@ -45,28 +48,25 @@ static void *opcode_targets[256] = {
&&TARGET_LOAD_ATTR_SLOT,
&&TARGET_LOAD_ATTR_MODULE,
&&TARGET_LOAD_GLOBAL_ADAPTIVE,
- &&TARGET_LOAD_GLOBAL_MODULE,
- &&TARGET_LOAD_GLOBAL_BUILTIN,
- &&TARGET_LOAD_METHOD_ADAPTIVE,
&&TARGET_WITH_EXCEPT_START,
&&TARGET_GET_AITER,
&&TARGET_GET_ANEXT,
&&TARGET_BEFORE_ASYNC_WITH,
&&TARGET_BEFORE_WITH,
&&TARGET_END_ASYNC_FOR,
+ &&TARGET_LOAD_GLOBAL_MODULE,
+ &&TARGET_LOAD_GLOBAL_BUILTIN,
+ &&TARGET_LOAD_METHOD_ADAPTIVE,
&&TARGET_LOAD_METHOD_CACHED,
&&TARGET_LOAD_METHOD_CLASS,
+ &&TARGET_STORE_SUBSCR,
+ &&TARGET_DELETE_SUBSCR,
&&TARGET_LOAD_METHOD_MODULE,
&&TARGET_LOAD_METHOD_NO_DICT,
&&TARGET_STORE_ATTR_ADAPTIVE,
- &&TARGET_STORE_SUBSCR,
- &&TARGET_DELETE_SUBSCR,
&&TARGET_STORE_ATTR_INSTANCE_VALUE,
&&TARGET_STORE_ATTR_SLOT,
&&TARGET_STORE_ATTR_WITH_HINT,
- &&TARGET_LOAD_FAST__LOAD_FAST,
- &&TARGET_STORE_FAST__LOAD_FAST,
- &&TARGET_LOAD_FAST__LOAD_CONST,
&&TARGET_GET_ITER,
&&TARGET_GET_YIELD_FROM_ITER,
&&TARGET_PRINT_EXPR,
@@ -74,13 +74,13 @@ static void *opcode_targets[256] = {
&&TARGET_YIELD_FROM,
&&TARGET_GET_AWAITABLE,
&&TARGET_LOAD_ASSERTION_ERROR,
+ &&TARGET_LOAD_FAST__LOAD_FAST,
+ &&TARGET_STORE_FAST__LOAD_FAST,
+ &&TARGET_LOAD_FAST__LOAD_CONST,
&&TARGET_LOAD_CONST__LOAD_FAST,
&&TARGET_STORE_FAST__STORE_FAST,
&&_unknown_opcode,
&&_unknown_opcode,
- &&_unknown_opcode,
- &&_unknown_opcode,
- &&_unknown_opcode,
&&TARGET_LIST_TO_TUPLE,
&&TARGET_RETURN_VALUE,
&&TARGET_IMPORT_STAR,