code: def set_prev_freeness(self, is_free):
          
          level = silence_logger()
          size_field = self.state.memory.load(self.base + self._chunk_size_t_size, self._chunk_size_t_size)
          unsilence_logger(level)
          if is_free:
              self.state.memory.store(self.base + self._chunk_size_t_size, size_field & ~CHUNK_P_MASK)
          else:
              self.state.memory.store(self.base + self._chunk_size_t_size, size_field | CHUNK_P_MASK)
docs: Sets (or unsets) the flag controlling whether the previous chunk is free.
  
          :param is_free: if True, sets the previous chunk to be free; if False, sets it to be allocated