Issue metadata
Sign in to add a comment
|
3.1%-11.9% regression in speedometer at 402275:402368 |
||||||||||||||||||||
Issue descriptionSee the link to graphs below.
,
Jun 30 2016
,
Jun 30 2016
We shouldn't release to Stable without any resolution on this issue.
,
Jun 30 2016
Local bisect seems to point to: https://chromium.googlesource.com/v8/v8/+/70318619905dd1a10ac0f063da19cebf6d385ba0 Assigning to ishell@.
,
Jun 30 2016
Sorry, this should be the CL https://chromium.googlesource.com/v8/v8/+/23332fe8296b48e66775e352de4759494553c12c
,
Jul 7 2016
The Speedometer benchmark seem so be a little bit flaky and a more careful local bisect points to: 7d073b03c710b34f001fedd074f0ec9fbbaa5623. The fix should also be merged to M-53.
,
Jul 7 2016
I vote to revert this CL for now (and merge the revert) if possible and relanding it when the perf issue is resolved.
,
Jul 7 2016
While possible, it seems unlikely to me that this is 7d073b03c710b34f001fedd074f0ec9fbbaa5623. That CL shouldn't do anything at all (other than some additional checks when creating code objects) unless the --perf_prof_unwinding_info is enabled. How sure are you of the bisecting Igor? If fairly sure we can speculatively revert and see if the regression recovers.
,
Jul 7 2016
The changes that might have an impact on performance are: * one extra branch in Code::code_size(), Code::CopyFrom() and Factory::NewCode(), to account for the optional unwinding info in calculating object size and copying information. That branch is never taken at the current stage, because we never emit unwinding information. * 2 extra fields that need to be initialised in CodeDesc, unwinding_info and unwinding_info_size. Other than that, I am not sure there is anything else that might affect performance, but yes, we might try reverting and seeing if things improve.
,
Jul 7 2016
I'm 90% sure (see the attachment). I also have an idea which part of the CL caused the regression I see. Let me check it and then decide how to move forward.
,
Jul 7 2016
My guess is that it is the addition of a HasUnwindingInfoField to Code::flags that caused the regression. The megamorphic stub cache seems to be very sensitive to the flags value. I noticed that when I tried to remove the ICStateField field from flags field. I tried locally to move the HasUnwindingInfoField field to where the ICStateField is currently located and it seems to recover the situation a bit. I'll prepare the CL. The next thing I'm going to do is to split the stub cache into two caches: one for loads and another for stores which will let us exclude flags from hash computations.
,
Jul 7 2016
Thanks for looking into this Igor, really appreciated!
,
Jul 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/3486bbc219d83a118770ae1aa579929b20cdba5d commit 3486bbc219d83a118770ae1aa579929b20cdba5d Author: ishell <ishell@chromium.org> Date: Thu Jul 07 12:42:23 2016 [runtime] Move HasUnwindingInfoField of Code::flags to unused ICStateField. This should recover the regression caused by https://codereview.chromium.org/1993653003. (Same sympthoms as in http://crbug/619016). BUG= chromium:624309 Review-Url: https://codereview.chromium.org/2127103002 Cr-Commit-Position: refs/heads/master@{#37587} [modify] https://crrev.com/3486bbc219d83a118770ae1aa579929b20cdba5d/src/objects.h
,
Jul 7 2016
,
Jul 11 2016
That was unexpected. Thank you very much Igor!
,
Jul 11 2016
The regression recovered.
,
Jul 11 2016
,
Jul 11 2016
[Automated comment] No milestone found on Merge-Request (i.e. merge-request-# label).
,
Jul 11 2016
[Automated comment] No milestone found on Merge-Request (i.e. merge-request-# label).
,
Jul 11 2016
[Automated comment] No milestone found on Merge-Request (i.e. merge-request-# label).
,
Jul 11 2016
[Automated comment] No milestone found on Merge-Request (i.e. merge-request-# label).
,
Jul 11 2016
[Automated comment] No milestone found on Merge-Request (i.e. merge-request-# label).
,
Jul 11 2016
[Automated comment] No milestone found on Merge-Request (i.e. merge-request-# label).
,
Jul 11 2016
[Automated comment] No milestone found on Merge-Request (i.e. merge-request-# label).
,
Jul 11 2016
[Automated comment] No milestone found on Merge-Request (i.e. merge-request-# label).
,
Jul 11 2016
,
Jul 11 2016
Your change meets the bar and is auto-approved for M53 (branch: 2785)
,
Jul 11 2016
[Automated comment] No milestone found on Merge-Request (i.e. merge-request-# label).
,
Jul 11 2016
[Automated comment] No milestone found on Merge-Request (i.e. merge-request-# label).
,
Jul 11 2016
,
Jul 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/6055d91b1a6e391873f7bff7248e98070a7011ce commit 6055d91b1a6e391873f7bff7248e98070a7011ce Author: ishell@chromium.org <ishell@chromium.org> Date: Mon Jul 11 11:04:53 2016 Version 5.3.332.14 (cherry-pick) Merged 3486bbc219d83a118770ae1aa579929b20cdba5d [runtime] Move HasUnwindingInfoField of Code::flags to unused ICStateField. BUG= chromium:624309 LOG=N R=verwaest@chromium.org Review URL: https://codereview.chromium.org/2136973002 . Cr-Commit-Position: refs/branch-heads/5.3@{#17} Cr-Branched-From: 820a23aade5e74a92d794e05a0c2b3597f0da4b5-refs/heads/5.3.332@{#2} Cr-Branched-From: 37538cb2c1b4d75c41af386cb4fedbe5566f5608-refs/heads/master@{#37308} [modify] https://crrev.com/6055d91b1a6e391873f7bff7248e98070a7011ce/include/v8-version.h [modify] https://crrev.com/6055d91b1a6e391873f7bff7248e98070a7011ce/src/objects.h
,
Jul 14 2016
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible! If all merges have been completed, please remove any remaining Merge-Approved labels from this issue. Thanks for your time! To disable nags, add the Disable-Nags label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jul 15 2016
Please merge your change to M53 branch 2785 ASAP (latest by 4:00 PM PST on Monday, 07/18) in order to make it to M53 dev release next week before Beta promotion.
,
Jul 15 2016
Per comment #31,this is already merged to M53. So removing "Merge-Approved-53" label.
,
Jul 15 2016
Issue 623975 has been merged into this issue.
,
Jul 18 2016
Issue 625640 has been merged into this issue. |
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by epertoso@chromium.org
, Jun 29 2016