mirror of
https://github.com/python/cpython.git
synced 2025-12-31 12:33:28 +00:00
GH-140683: JIT: Improve machine code for loading smaller constants on AArch64. (GH-142511)
* Use movz and movk instructions for loading 16 and 32 bit operands and oparg. * Loading of 64 bit operands is unchanged.
This commit is contained in:
parent
469f191a85
commit
4eab90f4f3
10 changed files with 320 additions and 135 deletions
234
Python/executor_cases.c.h
generated
234
Python/executor_cases.c.h
generated
|
|
@ -4645,7 +4645,7 @@
|
|||
assert(next_instr->op.code == STORE_FAST);
|
||||
next_oparg = next_instr->op.arg;
|
||||
#else
|
||||
next_oparg = (int)CURRENT_OPERAND0();
|
||||
next_oparg = (int)CURRENT_OPERAND0_16();
|
||||
#endif
|
||||
_PyStackRef *target_local = &GETLOCAL(next_oparg);
|
||||
assert(PyUnicode_CheckExact(left_o));
|
||||
|
|
@ -4692,7 +4692,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
right = _stack_item_1;
|
||||
left = _stack_item_0;
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
PyObject *left_o = PyStackRef_AsPyObjectBorrow(left);
|
||||
PyObject *right_o = PyStackRef_AsPyObjectBorrow(right);
|
||||
_PyBinaryOpSpecializationDescr *d = (_PyBinaryOpSpecializationDescr*)descr;
|
||||
|
|
@ -4730,7 +4730,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
right = _stack_item_1;
|
||||
left = _stack_item_0;
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
PyObject *left_o = PyStackRef_AsPyObjectBorrow(left);
|
||||
PyObject *right_o = PyStackRef_AsPyObjectBorrow(right);
|
||||
assert(INLINE_CACHE_ENTRIES_BINARY_OP == 5);
|
||||
|
|
@ -6736,7 +6736,7 @@
|
|||
case _GUARD_GLOBALS_VERSION_r00: {
|
||||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
uint16_t version = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t version = (uint16_t)CURRENT_OPERAND0_16();
|
||||
PyDictObject *dict = (PyDictObject *)GLOBALS();
|
||||
if (!PyDict_CheckExact(dict)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -6759,7 +6759,7 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(1);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
uint16_t version = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t version = (uint16_t)CURRENT_OPERAND0_16();
|
||||
PyDictObject *dict = (PyDictObject *)GLOBALS();
|
||||
if (!PyDict_CheckExact(dict)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -6784,7 +6784,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
uint16_t version = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t version = (uint16_t)CURRENT_OPERAND0_16();
|
||||
PyDictObject *dict = (PyDictObject *)GLOBALS();
|
||||
if (!PyDict_CheckExact(dict)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -6811,7 +6811,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
uint16_t version = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t version = (uint16_t)CURRENT_OPERAND0_16();
|
||||
PyDictObject *dict = (PyDictObject *)GLOBALS();
|
||||
if (!PyDict_CheckExact(dict)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -6837,8 +6837,8 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef res;
|
||||
uint16_t version = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t index = (uint16_t)CURRENT_OPERAND1();
|
||||
uint16_t version = (uint16_t)CURRENT_OPERAND0_16();
|
||||
uint16_t index = (uint16_t)CURRENT_OPERAND1_16();
|
||||
PyDictObject *dict = (PyDictObject *)GLOBALS();
|
||||
if (!PyDict_CheckExact(dict)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -6883,8 +6883,8 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef res;
|
||||
uint16_t version = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t index = (uint16_t)CURRENT_OPERAND1();
|
||||
uint16_t version = (uint16_t)CURRENT_OPERAND0_16();
|
||||
uint16_t index = (uint16_t)CURRENT_OPERAND1_16();
|
||||
PyDictObject *dict = (PyDictObject *)BUILTINS();
|
||||
if (!PyDict_CheckExact(dict)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -7936,7 +7936,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef owner;
|
||||
owner = stack_pointer[-1];
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyTypeObject *tp = Py_TYPE(PyStackRef_AsPyObjectBorrow(owner));
|
||||
assert(type_version != 0);
|
||||
if (FT_ATOMIC_LOAD_UINT_RELAXED(tp->tp_version_tag) != type_version) {
|
||||
|
|
@ -7958,7 +7958,7 @@
|
|||
_PyStackRef owner;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
owner = _stack_item_0;
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyTypeObject *tp = Py_TYPE(PyStackRef_AsPyObjectBorrow(owner));
|
||||
assert(type_version != 0);
|
||||
if (FT_ATOMIC_LOAD_UINT_RELAXED(tp->tp_version_tag) != type_version) {
|
||||
|
|
@ -7979,7 +7979,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
owner = _stack_item_1;
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyTypeObject *tp = Py_TYPE(PyStackRef_AsPyObjectBorrow(owner));
|
||||
assert(type_version != 0);
|
||||
if (FT_ATOMIC_LOAD_UINT_RELAXED(tp->tp_version_tag) != type_version) {
|
||||
|
|
@ -8002,7 +8002,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
owner = _stack_item_2;
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyTypeObject *tp = Py_TYPE(PyStackRef_AsPyObjectBorrow(owner));
|
||||
assert(type_version != 0);
|
||||
if (FT_ATOMIC_LOAD_UINT_RELAXED(tp->tp_version_tag) != type_version) {
|
||||
|
|
@ -8023,7 +8023,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef owner;
|
||||
owner = stack_pointer[-1];
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
assert(type_version != 0);
|
||||
if (!LOCK_OBJECT(owner_o)) {
|
||||
|
|
@ -8054,7 +8054,7 @@
|
|||
_PyStackRef owner;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
owner = _stack_item_0;
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
assert(type_version != 0);
|
||||
if (!LOCK_OBJECT(owner_o)) {
|
||||
|
|
@ -8084,7 +8084,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
owner = _stack_item_1;
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
assert(type_version != 0);
|
||||
if (!LOCK_OBJECT(owner_o)) {
|
||||
|
|
@ -8116,7 +8116,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
owner = _stack_item_2;
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
assert(type_version != 0);
|
||||
if (!LOCK_OBJECT(owner_o)) {
|
||||
|
|
@ -8235,7 +8235,7 @@
|
|||
_PyStackRef attr;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
owner = _stack_item_0;
|
||||
uint16_t offset = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t offset = (uint16_t)CURRENT_OPERAND0_16();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
PyObject **value_ptr = (PyObject**)(((char *)owner_o) + offset);
|
||||
PyObject *attr_o = FT_ATOMIC_LOAD_PTR_ACQUIRE(*value_ptr);
|
||||
|
|
@ -8280,8 +8280,8 @@
|
|||
_PyStackRef attr;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
owner = _stack_item_0;
|
||||
uint32_t dict_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint16_t index = (uint16_t)CURRENT_OPERAND1();
|
||||
uint32_t dict_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
uint16_t index = (uint16_t)CURRENT_OPERAND1_16();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
if (Py_TYPE(owner_o)->tp_getattro != PyModule_Type.tp_getattro) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -8342,7 +8342,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = _stack_item_0;
|
||||
uint16_t hint = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t hint = (uint16_t)CURRENT_OPERAND0_16();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
assert(Py_TYPE(owner_o)->tp_flags & Py_TPFLAGS_MANAGED_DICT);
|
||||
PyDictObject *dict = _PyObject_GetManagedDict(owner_o);
|
||||
|
|
@ -8428,7 +8428,7 @@
|
|||
_PyStackRef attr;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
owner = _stack_item_0;
|
||||
uint16_t index = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t index = (uint16_t)CURRENT_OPERAND0_16();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
PyObject **addr = (PyObject **)((char *)owner_o + index);
|
||||
PyObject *attr_o = FT_ATOMIC_LOAD_PTR(*addr);
|
||||
|
|
@ -8472,7 +8472,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef owner;
|
||||
owner = stack_pointer[-1];
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
if (!PyType_Check(owner_o)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -8499,7 +8499,7 @@
|
|||
_PyStackRef owner;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
owner = _stack_item_0;
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
if (!PyType_Check(owner_o)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -8525,7 +8525,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
owner = _stack_item_1;
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
if (!PyType_Check(owner_o)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -8553,7 +8553,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
owner = _stack_item_2;
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
if (!PyType_Check(owner_o)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -8581,7 +8581,7 @@
|
|||
_PyStackRef attr;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
owner = _stack_item_0;
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
STAT_INC(LOAD_ATTR, hit);
|
||||
assert(descr != NULL);
|
||||
attr = PyStackRef_FromPyObjectNew(descr);
|
||||
|
|
@ -8612,7 +8612,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = _stack_item_0;
|
||||
PyObject *fget = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *fget = (PyObject *)CURRENT_OPERAND0_64();
|
||||
assert((oparg & 1) == 0);
|
||||
assert(Py_IS_TYPE(fget, &PyFunction_Type));
|
||||
PyFunctionObject *f = (PyFunctionObject *)fget;
|
||||
|
|
@ -8763,7 +8763,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
owner = _stack_item_1;
|
||||
value = _stack_item_0;
|
||||
uint16_t offset = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t offset = (uint16_t)CURRENT_OPERAND0_16();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
STAT_INC(STORE_ATTR, hit);
|
||||
assert(_PyObject_GetManagedDict(owner_o) == NULL);
|
||||
|
|
@ -8798,7 +8798,7 @@
|
|||
oparg = CURRENT_OPARG();
|
||||
owner = _stack_item_1;
|
||||
value = _stack_item_0;
|
||||
uint16_t hint = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t hint = (uint16_t)CURRENT_OPERAND0_16();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
assert(Py_TYPE(owner_o)->tp_flags & Py_TPFLAGS_MANAGED_DICT);
|
||||
PyDictObject *dict = _PyObject_GetManagedDict(owner_o);
|
||||
|
|
@ -8874,7 +8874,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
owner = _stack_item_1;
|
||||
value = _stack_item_0;
|
||||
uint16_t index = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t index = (uint16_t)CURRENT_OPERAND0_16();
|
||||
PyObject *owner_o = PyStackRef_AsPyObjectBorrow(owner);
|
||||
if (!LOCK_OBJECT(owner_o)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -11133,7 +11133,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef owner;
|
||||
owner = stack_pointer[-1];
|
||||
uint32_t keys_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t keys_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyTypeObject *owner_cls = Py_TYPE(PyStackRef_AsPyObjectBorrow(owner));
|
||||
PyHeapTypeObject *owner_heap_type = (PyHeapTypeObject *)owner_cls;
|
||||
PyDictKeysObject *keys = owner_heap_type->ht_cached_keys;
|
||||
|
|
@ -11156,7 +11156,7 @@
|
|||
_PyStackRef owner;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
owner = _stack_item_0;
|
||||
uint32_t keys_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t keys_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyTypeObject *owner_cls = Py_TYPE(PyStackRef_AsPyObjectBorrow(owner));
|
||||
PyHeapTypeObject *owner_heap_type = (PyHeapTypeObject *)owner_cls;
|
||||
PyDictKeysObject *keys = owner_heap_type->ht_cached_keys;
|
||||
|
|
@ -11178,7 +11178,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
owner = _stack_item_1;
|
||||
uint32_t keys_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t keys_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyTypeObject *owner_cls = Py_TYPE(PyStackRef_AsPyObjectBorrow(owner));
|
||||
PyHeapTypeObject *owner_heap_type = (PyHeapTypeObject *)owner_cls;
|
||||
PyDictKeysObject *keys = owner_heap_type->ht_cached_keys;
|
||||
|
|
@ -11202,7 +11202,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
owner = _stack_item_2;
|
||||
uint32_t keys_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t keys_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyTypeObject *owner_cls = Py_TYPE(PyStackRef_AsPyObjectBorrow(owner));
|
||||
PyHeapTypeObject *owner_heap_type = (PyHeapTypeObject *)owner_cls;
|
||||
PyDictKeysObject *keys = owner_heap_type->ht_cached_keys;
|
||||
|
|
@ -11227,7 +11227,7 @@
|
|||
_PyStackRef self;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = stack_pointer[-1];
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
assert(oparg & 1);
|
||||
STAT_INC(LOAD_ATTR, hit);
|
||||
assert(descr != NULL);
|
||||
|
|
@ -11252,7 +11252,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = _stack_item_0;
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
assert(oparg & 1);
|
||||
STAT_INC(LOAD_ATTR, hit);
|
||||
assert(descr != NULL);
|
||||
|
|
@ -11276,7 +11276,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = _stack_item_1;
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
assert(oparg & 1);
|
||||
STAT_INC(LOAD_ATTR, hit);
|
||||
assert(descr != NULL);
|
||||
|
|
@ -11299,7 +11299,7 @@
|
|||
_PyStackRef self;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = stack_pointer[-1];
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
assert(oparg & 1);
|
||||
assert(Py_TYPE(PyStackRef_AsPyObjectBorrow(owner))->tp_dictoffset == 0);
|
||||
STAT_INC(LOAD_ATTR, hit);
|
||||
|
|
@ -11325,7 +11325,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = _stack_item_0;
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
assert(oparg & 1);
|
||||
assert(Py_TYPE(PyStackRef_AsPyObjectBorrow(owner))->tp_dictoffset == 0);
|
||||
STAT_INC(LOAD_ATTR, hit);
|
||||
|
|
@ -11350,7 +11350,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = _stack_item_1;
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
assert(oparg & 1);
|
||||
assert(Py_TYPE(PyStackRef_AsPyObjectBorrow(owner))->tp_dictoffset == 0);
|
||||
STAT_INC(LOAD_ATTR, hit);
|
||||
|
|
@ -11374,7 +11374,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = _stack_item_0;
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
assert((oparg & 1) == 0);
|
||||
STAT_INC(LOAD_ATTR, hit);
|
||||
assert(descr != NULL);
|
||||
|
|
@ -11398,7 +11398,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = _stack_item_0;
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
assert((oparg & 1) == 0);
|
||||
assert(Py_TYPE(PyStackRef_AsPyObjectBorrow(owner))->tp_dictoffset == 0);
|
||||
STAT_INC(LOAD_ATTR, hit);
|
||||
|
|
@ -11420,7 +11420,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef owner;
|
||||
owner = stack_pointer[-1];
|
||||
uint16_t dictoffset = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t dictoffset = (uint16_t)CURRENT_OPERAND0_16();
|
||||
char *ptr = ((char *)PyStackRef_AsPyObjectBorrow(owner)) + MANAGED_DICT_OFFSET + dictoffset;
|
||||
PyObject *dict = FT_ATOMIC_LOAD_PTR_ACQUIRE(*(PyObject **)ptr);
|
||||
if (dict != NULL) {
|
||||
|
|
@ -11442,7 +11442,7 @@
|
|||
_PyStackRef owner;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
owner = _stack_item_0;
|
||||
uint16_t dictoffset = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t dictoffset = (uint16_t)CURRENT_OPERAND0_16();
|
||||
char *ptr = ((char *)PyStackRef_AsPyObjectBorrow(owner)) + MANAGED_DICT_OFFSET + dictoffset;
|
||||
PyObject *dict = FT_ATOMIC_LOAD_PTR_ACQUIRE(*(PyObject **)ptr);
|
||||
if (dict != NULL) {
|
||||
|
|
@ -11463,7 +11463,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
owner = _stack_item_1;
|
||||
uint16_t dictoffset = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t dictoffset = (uint16_t)CURRENT_OPERAND0_16();
|
||||
char *ptr = ((char *)PyStackRef_AsPyObjectBorrow(owner)) + MANAGED_DICT_OFFSET + dictoffset;
|
||||
PyObject *dict = FT_ATOMIC_LOAD_PTR_ACQUIRE(*(PyObject **)ptr);
|
||||
if (dict != NULL) {
|
||||
|
|
@ -11486,7 +11486,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
owner = _stack_item_2;
|
||||
uint16_t dictoffset = (uint16_t)CURRENT_OPERAND0();
|
||||
uint16_t dictoffset = (uint16_t)CURRENT_OPERAND0_16();
|
||||
char *ptr = ((char *)PyStackRef_AsPyObjectBorrow(owner)) + MANAGED_DICT_OFFSET + dictoffset;
|
||||
PyObject *dict = FT_ATOMIC_LOAD_PTR_ACQUIRE(*(PyObject **)ptr);
|
||||
if (dict != NULL) {
|
||||
|
|
@ -11510,7 +11510,7 @@
|
|||
_PyStackRef self;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = stack_pointer[-1];
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
assert(oparg & 1);
|
||||
STAT_INC(LOAD_ATTR, hit);
|
||||
assert(descr != NULL);
|
||||
|
|
@ -11535,7 +11535,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = _stack_item_0;
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
assert(oparg & 1);
|
||||
STAT_INC(LOAD_ATTR, hit);
|
||||
assert(descr != NULL);
|
||||
|
|
@ -11559,7 +11559,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
oparg = CURRENT_OPARG();
|
||||
owner = _stack_item_1;
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *descr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
assert(oparg & 1);
|
||||
STAT_INC(LOAD_ATTR, hit);
|
||||
assert(descr != NULL);
|
||||
|
|
@ -11656,7 +11656,7 @@
|
|||
_PyStackRef callable;
|
||||
oparg = CURRENT_OPARG();
|
||||
callable = stack_pointer[-2 - oparg];
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *callable_o = PyStackRef_AsPyObjectBorrow(callable);
|
||||
if (!PyFunction_Check(callable_o)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -11677,8 +11677,8 @@
|
|||
case _CHECK_FUNCTION_VERSION_INLINE_r00: {
|
||||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0();
|
||||
PyObject *callable_o = (PyObject *)CURRENT_OPERAND1();
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *callable_o = (PyObject *)CURRENT_OPERAND1_64();
|
||||
assert(PyFunction_Check(callable_o));
|
||||
PyFunctionObject *func = (PyFunctionObject *)callable_o;
|
||||
if (func->func_version != func_version) {
|
||||
|
|
@ -11695,8 +11695,8 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(1);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0();
|
||||
PyObject *callable_o = (PyObject *)CURRENT_OPERAND1();
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *callable_o = (PyObject *)CURRENT_OPERAND1_64();
|
||||
assert(PyFunction_Check(callable_o));
|
||||
PyFunctionObject *func = (PyFunctionObject *)callable_o;
|
||||
if (func->func_version != func_version) {
|
||||
|
|
@ -11715,8 +11715,8 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0();
|
||||
PyObject *callable_o = (PyObject *)CURRENT_OPERAND1();
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *callable_o = (PyObject *)CURRENT_OPERAND1_64();
|
||||
assert(PyFunction_Check(callable_o));
|
||||
PyFunctionObject *func = (PyFunctionObject *)callable_o;
|
||||
if (func->func_version != func_version) {
|
||||
|
|
@ -11737,8 +11737,8 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0();
|
||||
PyObject *callable_o = (PyObject *)CURRENT_OPERAND1();
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *callable_o = (PyObject *)CURRENT_OPERAND1_64();
|
||||
assert(PyFunction_Check(callable_o));
|
||||
PyFunctionObject *func = (PyFunctionObject *)callable_o;
|
||||
if (func->func_version != func_version) {
|
||||
|
|
@ -11762,7 +11762,7 @@
|
|||
oparg = CURRENT_OPARG();
|
||||
null = stack_pointer[-1 - oparg];
|
||||
callable = stack_pointer[-2 - oparg];
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *callable_o = PyStackRef_AsPyObjectBorrow(callable);
|
||||
if (Py_TYPE(callable_o) != &PyMethod_Type) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -12941,7 +12941,7 @@
|
|||
oparg = CURRENT_OPARG();
|
||||
self_or_null = stack_pointer[-1 - oparg];
|
||||
callable = stack_pointer[-2 - oparg];
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t type_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *callable_o = PyStackRef_AsPyObjectBorrow(callable);
|
||||
if (!PyStackRef_IsNull(self_or_null)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -14123,7 +14123,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
oparg = CURRENT_OPARG();
|
||||
callable = stack_pointer[-2 - oparg];
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *callable_o = PyStackRef_AsPyObjectBorrow(callable);
|
||||
if (!PyFunction_Check(callable_o)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -14151,7 +14151,7 @@
|
|||
oparg = CURRENT_OPARG();
|
||||
null = stack_pointer[-1 - oparg];
|
||||
callable = stack_pointer[-2 - oparg];
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t func_version = (uint32_t)CURRENT_OPERAND0_32();
|
||||
PyObject *callable_o = PyStackRef_AsPyObjectBorrow(callable);
|
||||
if (Py_TYPE(callable_o) != &PyMethod_Type) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -15403,7 +15403,7 @@
|
|||
case _SET_IP_r00: {
|
||||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
PyObject *instr_ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *instr_ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
frame->instr_ptr = (_Py_CODEUNIT *)instr_ptr;
|
||||
SET_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
|
|
@ -15414,7 +15414,7 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(1);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
PyObject *instr_ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *instr_ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
frame->instr_ptr = (_Py_CODEUNIT *)instr_ptr;
|
||||
_tos_cache0 = _stack_item_0;
|
||||
SET_CURRENT_CACHED_VALUES(1);
|
||||
|
|
@ -15427,7 +15427,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
PyObject *instr_ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *instr_ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
frame->instr_ptr = (_Py_CODEUNIT *)instr_ptr;
|
||||
_tos_cache1 = _stack_item_1;
|
||||
_tos_cache0 = _stack_item_0;
|
||||
|
|
@ -15442,7 +15442,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
PyObject *instr_ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *instr_ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
frame->instr_ptr = (_Py_CODEUNIT *)instr_ptr;
|
||||
_tos_cache2 = _stack_item_2;
|
||||
_tos_cache1 = _stack_item_1;
|
||||
|
|
@ -15455,7 +15455,7 @@
|
|||
case _CHECK_STACK_SPACE_OPERAND_r00: {
|
||||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
uint32_t framesize = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t framesize = (uint32_t)CURRENT_OPERAND0_32();
|
||||
assert(framesize <= INT_MAX);
|
||||
if (!_PyThreadState_HasStackSpace(tstate, framesize)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -15476,7 +15476,7 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(1);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
uint32_t framesize = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t framesize = (uint32_t)CURRENT_OPERAND0_32();
|
||||
assert(framesize <= INT_MAX);
|
||||
if (!_PyThreadState_HasStackSpace(tstate, framesize)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -15499,7 +15499,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
uint32_t framesize = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t framesize = (uint32_t)CURRENT_OPERAND0_32();
|
||||
assert(framesize <= INT_MAX);
|
||||
if (!_PyThreadState_HasStackSpace(tstate, framesize)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -15524,7 +15524,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
uint32_t framesize = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t framesize = (uint32_t)CURRENT_OPERAND0_32();
|
||||
assert(framesize <= INT_MAX);
|
||||
if (!_PyThreadState_HasStackSpace(tstate, framesize)) {
|
||||
UOP_STAT_INC(uopcode, miss);
|
||||
|
|
@ -15619,7 +15619,7 @@
|
|||
case _EXIT_TRACE_r00: {
|
||||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_PyExitData *exit = (_PyExitData *)exit_p;
|
||||
#if defined(Py_DEBUG) && !defined(_Py_JIT)
|
||||
const _Py_CODEUNIT *target = ((frame->owner == FRAME_OWNED_BY_INTERPRETER)
|
||||
|
|
@ -15646,7 +15646,7 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(1);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_PyExitData *exit = (_PyExitData *)exit_p;
|
||||
#if defined(Py_DEBUG) && !defined(_Py_JIT)
|
||||
const _Py_CODEUNIT *target = ((frame->owner == FRAME_OWNED_BY_INTERPRETER)
|
||||
|
|
@ -15681,7 +15681,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_PyExitData *exit = (_PyExitData *)exit_p;
|
||||
#if defined(Py_DEBUG) && !defined(_Py_JIT)
|
||||
const _Py_CODEUNIT *target = ((frame->owner == FRAME_OWNED_BY_INTERPRETER)
|
||||
|
|
@ -15719,7 +15719,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_PyExitData *exit = (_PyExitData *)exit_p;
|
||||
#if defined(Py_DEBUG) && !defined(_Py_JIT)
|
||||
const _Py_CODEUNIT *target = ((frame->owner == FRAME_OWNED_BY_INTERPRETER)
|
||||
|
|
@ -15756,7 +15756,7 @@
|
|||
case _DYNAMIC_EXIT_r00: {
|
||||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0_64();
|
||||
#if defined(Py_DEBUG) && !defined(_Py_JIT)
|
||||
_PyExitData *exit = (_PyExitData *)exit_p;
|
||||
_Py_CODEUNIT *target = frame->instr_ptr;
|
||||
|
|
@ -15780,7 +15780,7 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(1);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0_64();
|
||||
#if defined(Py_DEBUG) && !defined(_Py_JIT)
|
||||
_PyExitData *exit = (_PyExitData *)exit_p;
|
||||
_Py_CODEUNIT *target = frame->instr_ptr;
|
||||
|
|
@ -15812,7 +15812,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0_64();
|
||||
#if defined(Py_DEBUG) && !defined(_Py_JIT)
|
||||
_PyExitData *exit = (_PyExitData *)exit_p;
|
||||
_Py_CODEUNIT *target = frame->instr_ptr;
|
||||
|
|
@ -15847,7 +15847,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *exit_p = (PyObject *)CURRENT_OPERAND0_64();
|
||||
#if defined(Py_DEBUG) && !defined(_Py_JIT)
|
||||
_PyExitData *exit = (_PyExitData *)exit_p;
|
||||
_Py_CODEUNIT *target = frame->instr_ptr;
|
||||
|
|
@ -15946,7 +15946,7 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef value;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
value = PyStackRef_FromPyObjectNew(ptr);
|
||||
_tos_cache0 = value;
|
||||
SET_CURRENT_CACHED_VALUES(1);
|
||||
|
|
@ -15959,7 +15959,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef value;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
value = PyStackRef_FromPyObjectNew(ptr);
|
||||
_tos_cache1 = value;
|
||||
_tos_cache0 = _stack_item_0;
|
||||
|
|
@ -15974,7 +15974,7 @@
|
|||
_PyStackRef value;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
value = PyStackRef_FromPyObjectNew(ptr);
|
||||
_tos_cache2 = value;
|
||||
_tos_cache1 = _stack_item_1;
|
||||
|
|
@ -15991,7 +15991,7 @@
|
|||
_PyStackRef value;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
pop = _stack_item_0;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_PyFrame_SetStackPointer(frame, stack_pointer);
|
||||
PyStackRef_CLOSE(pop);
|
||||
stack_pointer = _PyFrame_GetStackPointer(frame);
|
||||
|
|
@ -16008,7 +16008,7 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef value;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
value = PyStackRef_FromPyObjectBorrow(ptr);
|
||||
_tos_cache0 = value;
|
||||
SET_CURRENT_CACHED_VALUES(1);
|
||||
|
|
@ -16021,7 +16021,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef value;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
value = PyStackRef_FromPyObjectBorrow(ptr);
|
||||
_tos_cache1 = value;
|
||||
_tos_cache0 = _stack_item_0;
|
||||
|
|
@ -16036,7 +16036,7 @@
|
|||
_PyStackRef value;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
value = PyStackRef_FromPyObjectBorrow(ptr);
|
||||
_tos_cache2 = value;
|
||||
_tos_cache1 = _stack_item_1;
|
||||
|
|
@ -16147,7 +16147,7 @@
|
|||
_PyStackRef value;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
pop = _stack_item_0;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_PyFrame_SetStackPointer(frame, stack_pointer);
|
||||
PyStackRef_CLOSE(pop);
|
||||
stack_pointer = _PyFrame_GetStackPointer(frame);
|
||||
|
|
@ -16170,7 +16170,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
pop2 = _stack_item_1;
|
||||
pop1 = _stack_item_0;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
stack_pointer[0] = pop1;
|
||||
stack_pointer += 1;
|
||||
ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
|
||||
|
|
@ -16201,7 +16201,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
null = _stack_item_1;
|
||||
callable = _stack_item_0;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
(void)null;
|
||||
_PyFrame_SetStackPointer(frame, stack_pointer);
|
||||
PyStackRef_CLOSE(callable);
|
||||
|
|
@ -16228,7 +16228,7 @@
|
|||
pop = _stack_item_2;
|
||||
null = _stack_item_1;
|
||||
callable = _stack_item_0;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
stack_pointer[0] = callable;
|
||||
stack_pointer[1] = null;
|
||||
stack_pointer += 2;
|
||||
|
|
@ -16266,7 +16266,7 @@
|
|||
pop1 = _stack_item_1;
|
||||
null = _stack_item_0;
|
||||
callable = stack_pointer[-1];
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
stack_pointer[0] = null;
|
||||
stack_pointer[1] = pop1;
|
||||
stack_pointer += 2;
|
||||
|
|
@ -16301,7 +16301,7 @@
|
|||
_PyStackRef value;
|
||||
_PyStackRef new;
|
||||
old = stack_pointer[-1];
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
new = old;
|
||||
value = PyStackRef_FromPyObjectNew(ptr);
|
||||
_tos_cache1 = new;
|
||||
|
|
@ -16321,7 +16321,7 @@
|
|||
_PyStackRef new;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
old = _stack_item_0;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
new = old;
|
||||
value = PyStackRef_FromPyObjectNew(ptr);
|
||||
_tos_cache1 = new;
|
||||
|
|
@ -16340,7 +16340,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
old = _stack_item_1;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
new = old;
|
||||
value = PyStackRef_FromPyObjectNew(ptr);
|
||||
_tos_cache2 = new;
|
||||
|
|
@ -16358,7 +16358,7 @@
|
|||
_PyStackRef value;
|
||||
_PyStackRef new;
|
||||
old = stack_pointer[-1];
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
new = old;
|
||||
value = PyStackRef_FromPyObjectBorrow(ptr);
|
||||
_tos_cache1 = new;
|
||||
|
|
@ -16378,7 +16378,7 @@
|
|||
_PyStackRef new;
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
old = _stack_item_0;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
new = old;
|
||||
value = PyStackRef_FromPyObjectBorrow(ptr);
|
||||
_tos_cache1 = new;
|
||||
|
|
@ -16397,7 +16397,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
old = _stack_item_1;
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64();
|
||||
new = old;
|
||||
value = PyStackRef_FromPyObjectBorrow(ptr);
|
||||
_tos_cache2 = new;
|
||||
|
|
@ -16411,7 +16411,7 @@
|
|||
case _START_EXECUTOR_r00: {
|
||||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
PyObject *executor = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *executor = (PyObject *)CURRENT_OPERAND0_64();
|
||||
#ifndef _Py_JIT
|
||||
assert(current_executor == (_PyExecutorObject*)executor);
|
||||
#endif
|
||||
|
|
@ -16646,7 +16646,7 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
oparg = CURRENT_OPARG();
|
||||
uint32_t target = (uint32_t)CURRENT_OPERAND0();
|
||||
uint32_t target = (uint32_t)CURRENT_OPERAND0_32();
|
||||
assert(oparg == 0);
|
||||
frame->instr_ptr = _PyFrame_GetBytecode(frame) + target;
|
||||
SET_CURRENT_CACHED_VALUES(0);
|
||||
|
|
@ -16972,7 +16972,7 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
#define OFFSET_OF__PUSH_FRAME ((0))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF__PUSH_FRAME;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF__PUSH_FRAME;
|
||||
|
|
@ -16993,7 +16993,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
#define OFFSET_OF__PUSH_FRAME ((0))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF__PUSH_FRAME;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF__PUSH_FRAME;
|
||||
|
|
@ -17016,7 +17016,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
#define OFFSET_OF__PUSH_FRAME ((0))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF__PUSH_FRAME;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF__PUSH_FRAME;
|
||||
|
|
@ -17041,7 +17041,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
#define OFFSET_OF__PUSH_FRAME ((0))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF__PUSH_FRAME;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF__PUSH_FRAME;
|
||||
|
|
@ -17064,7 +17064,7 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
#define OFFSET_OF_YIELD_VALUE ((1+INLINE_CACHE_ENTRIES_SEND))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF_YIELD_VALUE;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF_YIELD_VALUE;
|
||||
|
|
@ -17085,7 +17085,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
#define OFFSET_OF_YIELD_VALUE ((1+INLINE_CACHE_ENTRIES_SEND))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF_YIELD_VALUE;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF_YIELD_VALUE;
|
||||
|
|
@ -17108,7 +17108,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
#define OFFSET_OF_YIELD_VALUE ((1+INLINE_CACHE_ENTRIES_SEND))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF_YIELD_VALUE;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF_YIELD_VALUE;
|
||||
|
|
@ -17133,7 +17133,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
#define OFFSET_OF_YIELD_VALUE ((1+INLINE_CACHE_ENTRIES_SEND))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF_YIELD_VALUE;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF_YIELD_VALUE;
|
||||
|
|
@ -17156,7 +17156,7 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
#define OFFSET_OF_RETURN_VALUE ((frame->return_offset))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF_RETURN_VALUE;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF_RETURN_VALUE;
|
||||
|
|
@ -17177,7 +17177,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
#define OFFSET_OF_RETURN_VALUE ((frame->return_offset))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF_RETURN_VALUE;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF_RETURN_VALUE;
|
||||
|
|
@ -17200,7 +17200,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
#define OFFSET_OF_RETURN_VALUE ((frame->return_offset))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF_RETURN_VALUE;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF_RETURN_VALUE;
|
||||
|
|
@ -17225,7 +17225,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
#define OFFSET_OF_RETURN_VALUE ((frame->return_offset))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF_RETURN_VALUE;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF_RETURN_VALUE;
|
||||
|
|
@ -17248,7 +17248,7 @@
|
|||
CHECK_CURRENT_CACHED_VALUES(0);
|
||||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
#define OFFSET_OF_RETURN_GENERATOR ((frame->return_offset))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF_RETURN_GENERATOR;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF_RETURN_GENERATOR;
|
||||
|
|
@ -17269,7 +17269,7 @@
|
|||
assert(WITHIN_STACK_BOUNDS_WITH_CACHE());
|
||||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
#define OFFSET_OF_RETURN_GENERATOR ((frame->return_offset))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF_RETURN_GENERATOR;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF_RETURN_GENERATOR;
|
||||
|
|
@ -17292,7 +17292,7 @@
|
|||
_PyStackRef _stack_item_0 = _tos_cache0;
|
||||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
#define OFFSET_OF_RETURN_GENERATOR ((frame->return_offset))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF_RETURN_GENERATOR;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF_RETURN_GENERATOR;
|
||||
|
|
@ -17317,7 +17317,7 @@
|
|||
_PyStackRef _stack_item_1 = _tos_cache1;
|
||||
_PyStackRef _stack_item_2 = _tos_cache2;
|
||||
#define OFFSET_OF_RETURN_GENERATOR ((frame->return_offset))
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0();
|
||||
PyObject *ip = (PyObject *)CURRENT_OPERAND0_64();
|
||||
_Py_CODEUNIT *target = frame->instr_ptr + OFFSET_OF_RETURN_GENERATOR;
|
||||
if (target != (_Py_CODEUNIT *)ip) {
|
||||
frame->instr_ptr += OFFSET_OF_RETURN_GENERATOR;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue