gdb_assert (!legacy_frame_p (current_gdbarch));
get_frame_id (struct frame_info *fi){  if (fi == NULL)    {      return null_frame_id;    }  if (!fi->this_id.p)    {      gdb_assert (!legacy_frame_p (current_gdbarch));      if (frame_debug)	fprintf_unfiltered (gdb_stdlog, "{ get_frame_id (fi=%d) ",			    fi->level);      /* Find the unwinder.  */      if (fi->unwind == NULL)	{	  fi->unwind = frame_unwind_find_by_frame (fi->next);	  /* FIXME: cagney/2003-04-02: Rather than storing the frame's	     type in the frame, the unwinder's type should be returned	     directly.  Unfortunately, legacy code, called by	     legacy_get_prev_frame, explicitly set the frames type	     using the method deprecated_set_frame_type().  */	  fi->type = fi->unwind->type;	}      /* Find THIS frame's ID.  */      fi->unwind->this_id (fi->next, &fi->prologue_cache, &fi->this_id.value);      fi->this_id.p = 1;      if (frame_debug)	{	  fprintf_unfiltered (gdb_stdlog, "-> ");	  fprint_frame_id (gdb_stdlog, fi->this_id.value);	  fprintf_unfiltered (gdb_stdlog, " }\n");	}    }  return fi->this_id.value;}