contrib/gdb-7/gdb/jit.c
static void
jit_frame_this_id (struct frame_info *this_frame, void **cache,
                   struct frame_id *this_id)
{
  struct jit_unwind_private private;
  struct gdb_frame_id frame_id;
  struct gdb_reader_funcs *funcs;
  struct gdb_unwind_callbacks callbacks;

  private.registers = NULL;
  private.this_frame = this_frame;

  /* We don't expect the frame_id function to set any registers, so we
     set reg_set to NULL.  */
  callbacks.reg_get = jit_unwind_reg_get_impl;
  callbacks.reg_set = NULL;
  callbacks.target_read = jit_target_read_impl;
  callbacks.priv_data = &private;

  gdb_assert (loaded_jit_reader);
  funcs = loaded_jit_reader->functions;

  frame_id = funcs->get_frame_id (funcs, &callbacks);
  *this_id = frame_id_build (frame_id.stack_address, frame_id.code_address);
}
/* The frame_id function for the pseudo unwinder.  Relays the call to
   the loaded plugin.  */
The frame_id function for the pseudo unwinder.  Relays the call to
the loaded plugin.
The frame_id function for the pseudo unwinder . Relays the call to the loaded plugin .
static void
jit_frame_this_id (struct frame_info *this_frame, void **cache,
                   struct frame_id *this_id)
{
  struct jit_unwind_private private;
  struct gdb_frame_id frame_id;
  struct gdb_reader_funcs *funcs;
  struct gdb_unwind_callbacks callbacks;
  private.registers = NULL;
  private.this_frame = this_frame;
  callbacks.reg_get = jit_unwind_reg_get_impl;
  callbacks.reg_set = NULL;
  callbacks.target_read = jit_target_read_impl;
  callbacks.priv_data = &private;
  gdb_assert (loaded_jit_reader);
  funcs = loaded_jit_reader->functions;
  frame_id = funcs->get_frame_id (funcs, &callbacks);
  *this_id = frame_id_build (frame_id.stack_address, frame_id.code_address);
}
static void jit_frame_this_id ( struct frame_info * this_frame , void * * cache , struct frame_id * this_id ) { struct jit_unwind_private private ; struct gdb_frame_id frame_id ; struct gdb_reader_funcs * funcs ; struct gdb_unwind_callbacks callbacks ; private . registers = NULL ; private . this_frame = this_frame ; callbacks . reg_get = jit_unwind_reg_get_impl ; callbacks . reg_set = NULL ; callbacks . target_read = jit_target_read_impl ; callbacks . priv_data = & private ; gdb_assert ( loaded_jit_reader ) ; funcs = loaded_jit_reader -> functions ; frame_id = funcs -> get_frame_id ( funcs , & callbacks ) ; * this_id = frame_id_build ( frame_id . stack_address , frame_id . code_address ) ; }
The frame_id function for the pseudo unwinder.
The frame_id function for the pseudo unwinder .
/* We don't expect the frame_id function to set any registers, so we
     set reg_set to NULL.  */