GH-98831: Support cache effects in super- and macro instructions (#99601)

This commit is contained in:
Guido van Rossum 2022-12-02 19:57:30 -08:00 committed by GitHub
parent 0547a981ae
commit acf9184e6b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 474 additions and 264 deletions

View file

@ -436,10 +436,10 @@
}
TARGET(BINARY_SUBSCR_GETITEM) {
uint32_t type_version = read_u32(next_instr + 1);
uint16_t func_version = read_u16(next_instr + 3);
PyObject *sub = PEEK(1);
PyObject *container = PEEK(2);
uint32_t type_version = read_u32(next_instr + 1);
uint16_t func_version = read_u16(next_instr + 3);
PyTypeObject *tp = Py_TYPE(container);
DEOPT_IF(tp->tp_version_tag != type_version, BINARY_SUBSCR);
assert(tp->tp_flags & Py_TPFLAGS_HEAPTYPE);