To de-fragment (squeeze) memory, ESL has to amend all the address pointers that are used to access the blocks of used memory. The processing to perform the relocation of pointers is not available for local variables, which are available within a subroutine, therefore any before any “squeeze memory” statement is action, ESL checks whether any subroutine is activate. The squeeze is only performed when no subroutine is active, which will be reported in the errorlog if a trace is currently switched on.