aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorPatrick O'Neill <patrick@rivosinc.com>2023-11-29 19:55:20 -0800
committerNelson Chu <nelson@rivosinc.com>2023-11-30 15:52:30 +0800
commit460e0e6e3e6c23ed5f4b70e1b86435f58cb890aa (patch)
tree2c91b02a06b1e5b9d9d09159b2afe6b49f4482e6 /config
parentdd2947e76aa285a12aa26de63a59f5fb8092ef82 (diff)
downloadgdb-460e0e6e3e6c23ed5f4b70e1b86435f58cb890aa.zip
gdb-460e0e6e3e6c23ed5f4b70e1b86435f58cb890aa.tar.gz
gdb-460e0e6e3e6c23ed5f4b70e1b86435f58cb890aa.tar.bz2
RISC-V: Avoid updating state until symbol is found
Currently objdump gets and updates the map state once per symbol. Updating the state (partiularly riscv_parse_subset) is expensive and grows quadratically since we iterate over all symbols. By deferring this until once we've found the symbol of interest, we can reduce the time to dump a 4k insn file of .norvc and .rvc insns from ~47 seconds to ~0.13 seconds. opcodes/ChangeLog: * riscv-dis.c (riscv_get_map_state): Remove state updating logic and rename to riscv_is_valid_mapping_symbol. (riscv_update_map_state): Add state updating logic to seperate function. (riscv_search_mapping_symbol): Use new riscv_update_map_state. (riscv_data_length): Ditto. Signed-off-by: Patrick O'Neill <patrick@rivosinc.com>
Diffstat (limited to 'config')
0 files changed, 0 insertions, 0 deletions