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.