inline bool isByteCodeWithCache()

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;
  }
}