On 2014/10/07 15:13:22, Jakob wrote:
Alexei, Yury: I'd like to make this change for internal profiling purposes
(--prof + linux-tick-processor). For analyzing big
applications/benchmarks, it
can be helpful to know which C++ entry points (say, LoadIC_Miss,
Runtime_ArrayConcat, etc) were expensive in aggregate.
It appears that this CL as is would also affect the public sampling API,
as of
https://codereview.chromium.org/596533002. Do you have any suggestions
how to
modify the mechanism so the publicly exported information is unchanged? I
could
thread through a flag so when we're coming from Sampler::SampleStack(),
we'll
record the extra frame, and otherwise (CpuProfiler::StartProfiling() or
V8::GetStackSample()), we won't. Does that sound reasonable?
Or would you even prefer to specifically include these extra frames in
public
samples? Personally I think it doesn't make much sense, as such internal
details
are likely not interesting to JS developers.
Yes, that sounds absolutely reasonable to me, let's only record the extra
frame
when we are coming from TickSample::Init and skip it otherwise.
I don't think exposing C++ entry points would make much sense without
extending
public API that would allow the embedder to map C++ entry point -> function
name. The only way for the embedder to retrieve function name would be to
use
debug symbols I guess. I agree that most of the C++ entry points don't make
much
sense for JS developers and if we decide to expose them through the public
API
we should probably whitelist those that may be interesting for JS
developers.
https://codereview.chromium.org/638633002/
--
--
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/d/optout.