#include <sys/sysmacros.h>
#include <sys/types.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <inttypes.h>
#include <byteswap.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <linux/stringify.h>
#include "util.h"
#include "event.h"
#include "debug.h"
#include "evlist.h"
#include "symbol.h"
#include <elf.h>
#include "tsc.h"
#include "session.h"
#include "jit.h"
#include "jitdump.h"
#include "genelf.h"
#include "../builtin.h"
#include "sane_ctype.h"
Go to the source code of this file.
|
static int | jit_emit_elf (char *filename, const char *sym, uint64_t code_addr, const void *code, int csize, void *debug, int nr_debug_entries, void *unwinding, uint32_t unwinding_header_size, uint32_t unwinding_size) |
|
static void | jit_close (struct jit_buf_desc *jd) |
|
static int | jit_validate_events (struct perf_session *session) |
|
static int | jit_open (struct jit_buf_desc *jd, const char *name) |
|
static union jr_entry * | jit_get_next_entry (struct jit_buf_desc *jd) |
|
static int | jit_inject_event (struct jit_buf_desc *jd, union perf_event *event) |
|
static uint64_t | convert_timestamp (struct jit_buf_desc *jd, uint64_t timestamp) |
|
static int | jit_repipe_code_load (struct jit_buf_desc *jd, union jr_entry *jr) |
|
static int | jit_repipe_code_move (struct jit_buf_desc *jd, union jr_entry *jr) |
|
static int | jit_repipe_debug_info (struct jit_buf_desc *jd, union jr_entry *jr) |
|
static int | jit_repipe_unwinding_info (struct jit_buf_desc *jd, union jr_entry *jr) |
|
static int | jit_process_dump (struct jit_buf_desc *jd) |
|
static int | jit_inject (struct jit_buf_desc *jd, char *path) |
|
static int | jit_detect (char *mmap_name, pid_t pid) |
|
int | jit_process (struct perf_session *session, struct perf_data *output, struct machine *machine, char *filename, pid_t pid, u64 *nbytes) |
|
◆ get_jit_tool
◆ hmax
#define hmax |
( |
|
a, |
|
|
|
b |
|
) |
| ((a) > (b) ? (a) : (b)) |
◆ convert_timestamp()
static uint64_t convert_timestamp |
( |
struct jit_buf_desc * |
jd, |
|
|
uint64_t |
timestamp |
|
) |
| |
|
static |
◆ jit_close()
◆ jit_detect()
static int jit_detect |
( |
char * |
mmap_name, |
|
|
pid_t |
pid |
|
) |
| |
|
static |
◆ jit_emit_elf()
static int jit_emit_elf |
( |
char * |
filename, |
|
|
const char * |
sym, |
|
|
uint64_t |
code_addr, |
|
|
const void * |
code, |
|
|
int |
csize, |
|
|
void * |
debug, |
|
|
int |
nr_debug_entries, |
|
|
void * |
unwinding, |
|
|
uint32_t |
unwinding_header_size, |
|
|
uint32_t |
unwinding_size |
|
) |
| |
|
static |
◆ jit_get_next_entry()
◆ jit_inject()
static int jit_inject |
( |
struct jit_buf_desc * |
jd, |
|
|
char * |
path |
|
) |
| |
|
static |
◆ jit_inject_event()
◆ jit_open()
static int jit_open |
( |
struct jit_buf_desc * |
jd, |
|
|
const char * |
name |
|
) |
| |
|
static |
◆ jit_process()
int jit_process |
( |
struct perf_session * |
session, |
|
|
struct perf_data * |
output, |
|
|
struct machine * |
machine, |
|
|
char * |
filename, |
|
|
pid_t |
pid, |
|
|
u64 * |
nbytes |
|
) |
| |
◆ jit_process_dump()
◆ jit_repipe_code_load()
◆ jit_repipe_code_move()
◆ jit_repipe_debug_info()
◆ jit_repipe_unwinding_info()
◆ jit_validate_events()
static int jit_validate_events |
( |
struct perf_session * |
session | ) |
|
|
static |