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.


Reply via email to