'Find all definitions of the varaible
:param SimVariable variable: The variable to lookup for.
:param int size_threshold: The maximum bytes to consider for the variable. For example, if the variable is 100
byte long, only the first `size_threshold` bytes are considered.
:return: A set of code locations where the variable is defined.
:rtype: set'

def lookup_defs(self, variable, size_threshold=32):

    live_def_locs = set()
    if isinstance(variable, SimRegisterVariable):
        if (variable.reg is None):
            l.warning('lookup_defs:    Got    a    None    for    a    SimRegisterVariable.    Consider    fixing.')
            return live_def_locs
        size = min(variable.size, size_threshold)
        offset = variable.reg
        while (offset < (variable.reg + size)):
            if (offset in self._register_map):
                live_def_locs |= self._register_map[offset]
            offset += 1
    elif isinstance(variable, SimMemoryVariable):
        size = min(variable.size, size_threshold)
        offset = variable.addr
        while (offset < (variable.addr + size)):
            if (offset in self._memory_map):
                live_def_locs |= self._memory_map[offset]
            offset += 1
    else:
        l.error('Unsupported    variable    type    "%s".', type(variable))
    return live_def_locs
