Reviewers: jbramley, baptiste.afsa1, m.m.capewell,

Message:
PTAL. This turns a crash into check failure.

Description:
A64: Skip samples that have sp = 0 in CPU profiler.

Please review this at https://codereview.chromium.org/146803002/

SVN Base: https://v8.googlecode.com/svn/branches/experimental/a64

Affected files (+5, -0 lines):
  M src/sampler.cc


Index: src/sampler.cc
diff --git a/src/sampler.cc b/src/sampler.cc
index 0b11725fe99d557a68c66ceb7ee105d64d884eec..8de34243724b9723ef4f92603c857dc4913cc689 100644
--- a/src/sampler.cc
+++ b/src/sampler.cc
@@ -340,6 +340,11 @@ void SignalHandler::HandleProfilerSignal(int signal, siginfo_t* info,

 #if defined(USE_SIMULATOR)
   helper.FillRegisters(sample);
+  // It possible that the simulator is interrupted while it is updating
+  // the sp register. A64 simulator does this in two steps:
+  // first setting it to zero and then setting it to the new value.
+  // Bailout if sp doesn't contain the new value.
+  if (sample->sp == 0) return;
 #else
   // Extracting the sample from the context is extremely machine dependent.
   ucontext_t* ucontext = reinterpret_cast<ucontext_t*>(context);


--
--
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