summaryrefslogtreecommitdiffstats
path: root/libbacktrace
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2018-01-26 14:26:13 -0800
committerChristopher Ferris <cferris@google.com>2018-01-26 14:26:13 -0800
commit8fe5836c02d3e0399c2246e67fc33ff5d4aa0032 (patch)
treed59c2e6ddb576cbd497b50b5622e48eb963cee68 /libbacktrace
parent969539c5c80fae62fc92553766c22bd5952dc2f2 (diff)
downloadsystem_core-8fe5836c02d3e0399c2246e67fc33ff5d4aa0032.tar.gz
system_core-8fe5836c02d3e0399c2246e67fc33ff5d4aa0032.tar.bz2
system_core-8fe5836c02d3e0399c2246e67fc33ff5d4aa0032.zip
Fix frame numbering regression.
Test: All unit tests now pass. Change-Id: I280dfbbed3f835c826788b80ff4abb22bea7dc59
Diffstat (limited to 'libbacktrace')
-rw-r--r--libbacktrace/UnwindStack.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/libbacktrace/UnwindStack.cpp b/libbacktrace/UnwindStack.cpp
index c5dd45b86..c5d498cb8 100644
--- a/libbacktrace/UnwindStack.cpp
+++ b/libbacktrace/UnwindStack.cpp
@@ -139,8 +139,8 @@ bool Backtrace::Unwind(unwindstack::Regs* regs, BacktraceMap* back_map,
// #8 pc 0015fa20 core.vdex java.util.Arrays.binarySearch+8
// #9 pc 0039a1ef libartd.so art::interpreter::Execute+719
if (frame->dex_pc != 0) {
- backtrace_frame_data_t* dex_frame = &frames->at(cur_frame++);
- dex_frame->num = cur_frame;
+ backtrace_frame_data_t* dex_frame = &frames->at(cur_frame);
+ dex_frame->num = cur_frame++;
dex_frame->pc = frame->dex_pc;
dex_frame->rel_pc = frame->dex_pc;
dex_frame->sp = frame->sp;
@@ -149,9 +149,9 @@ bool Backtrace::Unwind(unwindstack::Regs* regs, BacktraceMap* back_map,
FillInDexFrame(stack_map, frame->dex_pc, dex_frame);
}
- backtrace_frame_data_t* back_frame = &frames->at(cur_frame++);
+ backtrace_frame_data_t* back_frame = &frames->at(cur_frame);
- back_frame->num = cur_frame;
+ back_frame->num = cur_frame++;
back_frame->rel_pc = frame->rel_pc;
back_frame->pc = frame->pc;