Reviewers: Jakob, Sven Panne, loislo,
Message:
The patch provides implementation only for x64. I'd like to get feedback on
the
approach in general before moving forward with other platforms.
Description:
Skip samples where top function's stack frame is not setup properly
Stack iterator takes return address based on the frame pointer (ebp). ebp is
updated at the very beginning of a funtion and restored before return. If
sample
is taken before ebp was updated or after it was restored to the caller's
value
the stack iterator will wrongly think that ebp points at the current
functions
frame base and will skip callers frame. To avoid this we are detecting when
pc
is close to frame setup/frame destroy points and completely ignore such
samples.
This fixes cctest/test-cpu-profiler/CollectCpuProfile flakiness.
BUG=v8:2628
Please review this at https://codereview.chromium.org/14253015/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/compiler.h
M src/compiler.cc
M src/cpu-profiler.h
M src/cpu-profiler.cc
M src/log.h
M src/log.cc
M src/profile-generator-inl.h
M src/profile-generator.h
M src/profile-generator.cc
M src/x64/full-codegen-x64.cc
M src/x64/lithium-codegen-x64.cc
M test/cctest/test-cpu-profiler.cc
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.