mirror of
https://github.com/python/cpython.git
synced 2025-08-30 13:38:43 +00:00
GH-111485: Use micro-ops to split specialization code from base action (GH-111561)
This commit is contained in:
parent
eaf67e37a2
commit
b14e882428
9 changed files with 864 additions and 583 deletions
22
Python/abstract_interp_cases.c.h
generated
22
Python/abstract_interp_cases.c.h
generated
|
@ -38,7 +38,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
case TO_BOOL: {
|
||||
case _TO_BOOL: {
|
||||
PARTITIONNODE_OVERWRITE((_Py_PARTITIONNODE_t *)PARTITIONNODE_NULLROOT, PEEK(-(-1)), true);
|
||||
break;
|
||||
}
|
||||
|
@ -113,7 +113,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
case BINARY_SUBSCR: {
|
||||
case _BINARY_SUBSCR: {
|
||||
STACK_SHRINK(1);
|
||||
PARTITIONNODE_OVERWRITE((_Py_PARTITIONNODE_t *)PARTITIONNODE_NULLROOT, PEEK(-(-1)), true);
|
||||
break;
|
||||
|
@ -164,7 +164,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
case STORE_SUBSCR: {
|
||||
case _STORE_SUBSCR: {
|
||||
STACK_SHRINK(3);
|
||||
break;
|
||||
}
|
||||
|
@ -242,7 +242,11 @@
|
|||
break;
|
||||
}
|
||||
|
||||
case UNPACK_SEQUENCE: {
|
||||
case _SPECIALIZE_UNPACK_SEQUENCE: {
|
||||
break;
|
||||
}
|
||||
|
||||
case _UNPACK_SEQUENCE: {
|
||||
STACK_SHRINK(1);
|
||||
STACK_GROW(oparg);
|
||||
break;
|
||||
|
@ -272,7 +276,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
case STORE_ATTR: {
|
||||
case _STORE_ATTR: {
|
||||
STACK_SHRINK(2);
|
||||
break;
|
||||
}
|
||||
|
@ -308,7 +312,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
case LOAD_GLOBAL: {
|
||||
case _LOAD_GLOBAL: {
|
||||
STACK_GROW(1);
|
||||
STACK_GROW(((oparg & 1) ? 1 : 0));
|
||||
PARTITIONNODE_OVERWRITE((_Py_PARTITIONNODE_t *)PARTITIONNODE_NULLROOT, PEEK(-(-1 - (oparg & 1 ? 1 : 0))), true);
|
||||
|
@ -456,7 +460,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
case LOAD_ATTR: {
|
||||
case _LOAD_ATTR: {
|
||||
STACK_GROW(((oparg & 1) ? 1 : 0));
|
||||
PARTITIONNODE_OVERWRITE((_Py_PARTITIONNODE_t *)PARTITIONNODE_NULLROOT, PEEK(-(-1 - (oparg & 1 ? 1 : 0))), true);
|
||||
PARTITIONNODE_OVERWRITE((_Py_PARTITIONNODE_t *)PARTITIONNODE_NULLROOT, PEEK(-(-(oparg & 1 ? 1 : 0))), true);
|
||||
|
@ -532,7 +536,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
case COMPARE_OP: {
|
||||
case _COMPARE_OP: {
|
||||
STACK_SHRINK(1);
|
||||
PARTITIONNODE_OVERWRITE((_Py_PARTITIONNODE_t *)PARTITIONNODE_NULLROOT, PEEK(-(-1)), true);
|
||||
break;
|
||||
|
@ -901,7 +905,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
case BINARY_OP: {
|
||||
case _BINARY_OP: {
|
||||
STACK_SHRINK(1);
|
||||
PARTITIONNODE_OVERWRITE((_Py_PARTITIONNODE_t *)PARTITIONNODE_NULLROOT, PEEK(-(-1)), true);
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue