def METHOD_NAME(self, addr, data, bbl_addr=None, stmt_id=None, ins_addr=None, endness=None, **kwargs):
    if ins_addr is not None:
        aloc_id = ins_addr
    else:
        # It comes from a SimProcedure. We'll use bbl_addr as the aloc_id
        aloc_id = bbl_addr
    if aloc_id not in self.alocs:
        self.alocs[aloc_id] = self.state.solver.AbstractLocation(
            bbl_addr, stmt_id, self.id, region_offset=addr, size=len(data) // self.state.arch.byte_width
        )
        return super().METHOD_NAME(addr, data, endness=endness, **kwargs)
    else:
        if self.alocs[aloc_id].update(addr, len(data) // self.state.arch.byte_width):
            return super().METHOD_NAME(addr, data, endness=endness, **kwargs)
        else:
            return super().METHOD_NAME(addr, data, endness=endness, **kwargs)