#include "opjitconv.h"
#include "jitdump.h"
#include "opd_printf.h"
#include "op_libiberty.h"
#include <string.h>
#include <stdio.h>
Go to the source code of this file.
Functions | |
static int | parse_code_load (void const *ptr_arg, int size, unsigned long long end_time) |
static void | parse_code_unload (void const *ptr, unsigned long long end_time) |
static void | parse_code_debug_info (void const *ptr, void const *end, unsigned long long end_time) |
static int | parse_entries (void const *ptr, void const *end, unsigned long long end_time) |
static int | parse_header (char const **ptr, char const *end) |
int | parse_all (void const *start, void const *end, unsigned long long end_time) |
parse a jit dump file
Copyright IBM Corporation 2007
Definition in file parse_dump.c.
int parse_all | ( | void const * | start, | |
void const * | end, | |||
unsigned long long | end_time | |||
) |
Definition at line 239 of file parse_dump.c.
References OP_JIT_CONV_FAIL, parse_entries(), and parse_header().
Referenced by op_jit_convert().
static void parse_code_debug_info | ( | void const * | ptr, | |
void const * | end, | |||
unsigned long long | end_time | |||
) | [static] |
Definition at line 116 of file parse_dump.c.
References jitentry_debug_line::data, jitentry_debug_line::end, jitentry_debug_line_list, jitentry_debug_line::life_end, jitentry_debug_line::life_start, jitentry_debug_line::next, and jr_code_debug_info::timestamp.
Referenced by parse_entries().
static int parse_code_load | ( | void const * | ptr_arg, | |
int | size, | |||
unsigned long long | end_time | |||
) | [static] |
Definition at line 26 of file parse_dump.c.
References jitentry::code, jr_code_load::code_addr, jr_code_load::code_size, jitentry::code_size, debug, jitentry_list, jitentry::life_end, jitentry::life_start, jitentry::next, OP_JIT_CONV_FAIL, OP_JIT_CONV_OK, PADDING_8ALIGNED, jitentry::section, jitentry::sym_name_malloced, jitentry::symbol_name, jr_code_load::timestamp, verbprintf, jr_code_load::vma, and jitentry::vma.
Referenced by parse_entries().
static void parse_code_unload | ( | void const * | ptr, | |
unsigned long long | end_time | |||
) | [static] |
Normally we won't get a jr_code_unload with a zero time stamp or a zero code address. The code address is directly provided by the JVMTI. The documentation of JVMTI does not say anything about the address value if it could be zero or not. Therefore it is only a sanity check at the moment.
Definition at line 86 of file parse_dump.c.
References debug, jitentry_list, jitentry::life_end, jitentry::next, jr_code_unload::timestamp, verbprintf, jitentry::vma, and jr_code_unload::vma.
Referenced by parse_entries().
static int parse_entries | ( | void const * | ptr, | |
void const * | end, | |||
unsigned long long | end_time | |||
) | [static] |
Definition at line 137 of file parse_dump.c.
References debug, jr_prefix::id, JIT_CODE_CLOSE, JIT_CODE_DEBUG_INFO, JIT_CODE_LOAD, JIT_CODE_UNLOAD, OP_JIT_CONV_FAIL, OP_JIT_CONV_OK, parse_code_debug_info(), parse_code_load(), parse_code_unload(), jr_prefix::total_size, and verbprintf.
Referenced by parse_all().
static int parse_header | ( | char const ** | ptr, | |
char const * | end | |||
) | [static] |
Definition at line 196 of file parse_dump.c.
References jitheader::bfd_arch, jitheader::bfd_mach, jitheader::bfd_target, debug, dump_bfd_arch, dump_bfd_mach, dump_bfd_target_name, JITHEADER_MAGIC, JITHEADER_VERSION, jitheader::magic, OP_JIT_CONV_FAIL, OP_JIT_CONV_OK, jitheader::totalsize, verbprintf, and jitheader::version.
Referenced by parse_all().