This module implemented indirect state allocation for states. It allocates states in memory pools (called packs) which have a fixed location in memory and allocates as many such pools as it can.
Each pool contains several states that are placed one after the other, that thus retain their pointer. That way, memory is conserved as an individually malloced state may have a lot of overhead. (a malloced block+a fixed amount of data is rounded to the nearest power of 2)
fcs_isa allows releasing the last allocated state in case it will not be used.