On 2014/09/12 13:46:28, yurys wrote:
On 2014/09/11 08:14:44, Denis Pravdin wrote:
>
https://codereview.chromium.org/424973004/diff/200001/test/cctest/test-cpu-profiler.cc
> File test/cctest/test-cpu-profiler.cc (right):
>
>
https://codereview.chromium.org/424973004/diff/200001/test/cctest/test-cpu-profiler.cc#newcode1099
> test/cctest/test-cpu-profiler.cc:1099: if
(func->code()->is_optimized_code())
{
> On 2014/09/10 08:05:14, yurys wrote:
> > You can use "%NeverOptimizeFunction(func)"
or %OptimizeFunctionOnNextCall
to
> > make this more deterministic.
>
> The test should check optimized code also. I suggest to stay as is
because
to
> test both optimized and non-optimized version of function.
In that case the test should always check both versions while current
implementation will behave differently depending on --no-crankshaft flag.
Do
we
have any bots that run tests with that flag? If no then we will always
test
only
one of the two paths. Also if the test depends on some command line flag
you
can
explicitly set it right in the test.
According to run-tests.py, each test will run four times using below four
variant flags seperately.
VARIANT_FLAGS = {
"default": [],
"stress": ["--stress-opt", "--always-opt"],
"turbofan": ["--turbo-filter=*", "--always-opt"],
"nocrankshaft": ["--nocrankshaft"]}
So we think the optimized/unoptimized code will be test here.
https://codereview.chromium.org/424973004/diff/200001/src/profile-generator.cc
File src/profile-generator.cc (right):
https://codereview.chromium.org/424973004/diff/200001/src/profile-generator.cc#newcode688
src/profile-generator.cc:688: if (src_line_not_found && *entry) {
On 2014/09/11 08:14:44, Denis Pravdin wrote:
> On 2014/09/10 08:05:14, yurys wrote:
> > With this approach we may end up with top entry being pc_entry while
src_line
> > will be calculated for another entry which is wrong. We should also
check
here
> > that current entry is the first one non-null in the path.
>
> pc_offset that used to calculate src_line is taken for the first
non-null
entry
> in the path only. Exactly this entry will represent a node in profile
(when
the
> path and src_line go to AddPathToCurrentProfiles).
If src_line = pc_entry->GetSourceLine(pc_offset); (line 652) returns
kNoLineNumberInfo you will end up calculating line number for the first
non-null
entry after it here. This will result in entries = [pc_entry, entry1,
entry2,...NULL] and src_line calculated for entry1 or am I missing
something?
https://codereview.chromium.org/424973004/
--
--
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.