There is only one InnoDB data dictionary cache. Allocating dict_sys statically removes one level of pointer indirection and makes code more readable. We did something similar to trx_sys, lock_sys and purge_sys in MariaDB 10.3 already.
While we are at it, we should replace some C-style accessor functions with member functions of dict_sys_t, so that some members of the structure can be declared private.
Note: dict_sys_t::dict_sys_t() was introduced already in