'Make a copy of this SimAbstractMemory object
:return:'

def copy(self):

    am = SimAbstractMemory(memory_id=self._memory_id, endness=self.endness, stack_region_map=self._stack_region_map, generic_region_map=self._generic_region_map)
    for (region_id, region) in self._regions.items():
        am._regions[region_id] = region.copy()
    am._stack_size = self._stack_size
    return am
