RFR: 8334866: Improve Speed of ElfDecoder source search [v8]

Kerem Kat krk at openjdk.org
Thu Oct 30 11:46:11 UTC 2025


> Right now, looking up source file and line number info is slow because we do a full linear scan of the `.debug_aranges` section for every single call. This can be a major bottleneck on large binaries, especially during frequent native stack walking, e.g. while writing an hs_err.
> 
> This change fixes that by caching the address ranges on the first lookup, and keeping it in memory for the lifetime of the `DwarfFile` object.
> 
> All subsequent lookups on that object now use a binary search instead of the slow linear scan. If caching fails for any reason, it just falls back to the old method.

Kerem Kat has updated the pull request incrementally with three additional commits since the last revision:

 - Revert "Erase obsolete comments"
   
   This reverts commit 860b6ee6faeb6e56e292abef1c85faad456729e2.
 - fix space
 - Erase obsolete comments

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/27337/files
  - new: https://git.openjdk.org/jdk/pull/27337/files/9814a3ff..d94025da

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=27337&range=07
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=27337&range=06-07

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/27337.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27337/head:pull/27337

PR: https://git.openjdk.org/jdk/pull/27337


More information about the hotspot-dev mailing list