Mercurial > hg > icedtea8-forest > hotspot
changeset 10830:a3ac2e49cb4f
8250928: JFR: Improve hash algorithm for stack traces
Reviewed-by: shade
author | jbachorik |
---|---|
date | Thu, 24 Sep 2020 13:19:09 +0200 |
parents | 8065f7b6bea3 |
children | 04b1e9e7509d |
files | src/share/vm/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp Thu Oct 05 01:31:53 2017 -0700 +++ b/src/share/vm/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp Thu Sep 24 13:19:09 2020 +0200 @@ -376,6 +376,7 @@ vfs.next(); } + _hash = 1; while (!vfs.at_end()) { if (count >= _max_frames) { _reached_root = false; @@ -391,7 +392,9 @@ bci = vfs.bci(); } // Can we determine if it's inlined? - _hash = (_hash << 2) + (unsigned int)(((size_t)mid >> 2) + (bci << 4) + type); + _hash = (_hash * 31) + mid; + _hash = (_hash * 31) + bci; + _hash = (_hash * 31) + type; _frames[count] = JfrStackFrame(mid, bci, type, method); vfs.next(); count++;