in runtime/bytecode.h [368:411]
inline bool isByteCodeWithCache(const Bytecode bc) {
// TODO(T45720638): Add all caching opcodes here once they are supported for
// cache invalidation.
switch (bc) {
case BINARY_OP_MONOMORPHIC:
case BINARY_OP_POLYMORPHIC:
case BINARY_OP_ANAMORPHIC:
case BINARY_SUBSCR_ANAMORPHIC:
case BINARY_SUBSCR_MONOMORPHIC:
case BINARY_SUBSCR_POLYMORPHIC:
case COMPARE_OP_MONOMORPHIC:
case COMPARE_OP_POLYMORPHIC:
case COMPARE_OP_ANAMORPHIC:
case CALL_FUNCTION_TYPE_NEW:
case FOR_ITER_MONOMORPHIC:
case FOR_ITER_POLYMORPHIC:
case FOR_ITER_ANAMORPHIC:
case INPLACE_OP_MONOMORPHIC:
case INPLACE_OP_POLYMORPHIC:
case INPLACE_OP_ANAMORPHIC:
case LOAD_ATTR_INSTANCE:
case LOAD_ATTR_INSTANCE_PROPERTY:
case LOAD_ATTR_INSTANCE_SLOT_DESCR:
case LOAD_ATTR_INSTANCE_TYPE:
case LOAD_ATTR_INSTANCE_TYPE_BOUND_METHOD:
case LOAD_ATTR_INSTANCE_TYPE_DESCR:
case LOAD_ATTR_MODULE:
case LOAD_ATTR_TYPE:
case LOAD_ATTR_ANAMORPHIC:
case LOAD_METHOD_ANAMORPHIC:
case LOAD_METHOD_INSTANCE_FUNCTION:
case LOAD_METHOD_POLYMORPHIC:
case STORE_ATTR_INSTANCE:
case STORE_ATTR_INSTANCE_OVERFLOW:
case STORE_ATTR_INSTANCE_OVERFLOW_UPDATE:
case STORE_ATTR_INSTANCE_UPDATE:
case STORE_ATTR_POLYMORPHIC:
case STORE_ATTR_ANAMORPHIC:
case STORE_SUBSCR_ANAMORPHIC:
return true;
default:
return false;
}
}