I think it'd be a little easier to understand/read what's happening here if you re-ordered to

    crossxhr_objects[crossxhr_counter] = self;
    crossxhr_counter++;