New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 701768 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
OOO until 2019-02-10
Closed: Apr 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

1.2% regression in system_health.memory_mobile at 456663:456700

Project Member Reported by nzolghadr@chromium.org, Mar 15 2017

Issue description

See the link to graphs below.
 
All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=701768

Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?keys=agxzfmNocm9tZXBlcmZyFAsSB0Fub21hbHkYgIDgtMPGpAkM


Bot(s) for this bug's original alert(s):

android-webview-nexus6
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, Mar 15 2017

Cc: petermarshall@chromium.org
Owner: petermarshall@chromium.org

=== Auto-CCing suspected CL author petermarshall@chromium.org ===

Hi petermarshall@chromium.org, the bisect results pointed to your CL, please take a look at the
results.


=== BISECT JOB RESULTS ===
Perf regression found with culprit

Suspected Commit
  Author : Peter Marshall
  Commit : 06fef85bdd2db7418b75c4f64ac164f3fbe90e30
  Date   : Mon Mar 13 14:04:37 2017
  Subject: [builtins] Port TypedArrayConstructByArrayBuffer to CodeStubAssembler.

Bisect Details
  Configuration: android_webview_nexus6_aosp_perf_bisect
  Benchmark    : system_health.memory_mobile
  Metric       : memory:webview:all_processes:reported_by_chrome:v8:effective_size_avg/load_tools/load_tools_docs
  Change       : 1.02% | 2556326.66667 -> 2582508.0

Revision                           Result                  N
chromium@456662                    2556327 +- 240.178      6      good
chromium@456662,v8@06fef85bdd      2573447 +- 224.885      6      bad       <--
chromium@456662,v8@8e4be1a2e3      2573477 +- 189.877      6      bad
chromium@456662,v8@c418902be4      2573443 +- 240.178      6      bad
chromium@456662,v8@dfca935138      2573477 +- 189.877      6      bad
chromium@456663                    2571449 +- 240.178      6      bad
chromium@456664                    2571553 +- 189.877      6      bad
chromium@456665                    2571553 +- 189.877      6      bad
chromium@456667                    2571484 +- 254.747      6      bad
chromium@456672                    2571449 +- 240.178      6      bad
chromium@456681                    2571553 +- 189.877      6      bad
chromium@456700                    2582508 +- 0.0          6      bad

Please refer to the following doc on diagnosing memory regressions:
  https://chromium.googlesource.com/chromium/src/+/master/docs/memory-infra/memory_benchmarks.md

To Run This Test
  src/tools/perf/run_benchmark -v --browser=android-webview --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests --story-filter=load.tools.docs system_health.memory_mobile

Debug Info
  https://chromeperf.appspot.com/buildbucket_job_status/8985046545656996592

Is this bisect wrong?
  https://chromeperf.appspot.com/bad_bisect?try_job_id=6355320529485824


| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Speed>Bisection.  Thank you!
Project Member

Comment 4 by bugdroid1@chromium.org, Apr 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c326e73d91df3c8c84ff6f25bffe4bef750c94b1

commit c326e73d91df3c8c84ff6f25bffe4bef750c94b1
Author: Peter Marshall <petermarshall@chromium.org>
Date: Tue Apr 25 12:42:06 2017

[builtins] Cleanup TypedArray constructors and reduce code size.

This CL is purely refactoring, no behavior changes.

Remove InitializeBasedOnLength and combine it with a new Stub-ified
TypedArrayInitialize which now allocates the buffer in both the
on-heap and off-heap cases.

Add TypedArrayInitializeWithBuffer because this was essentially a
special case that didn't share much logic with Initialize.
Factor out the common pieces into SetupTypedArray and AttachBuffer.

We can also always pass in the elementsSize, so there is no need
to calculate this again. LoadMapAndElementsSize is changed to 
LoadMapForType.

This reduces code size by ~8k.

Bug:  chromium:711275 , chromium:701768 
Change-Id: I6ad8701e9c72f53bfd9484725fb82055be568c25
Reviewed-on: https://chromium-review.googlesource.com/483481
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44850}
[modify] https://crrev.com/c326e73d91df3c8c84ff6f25bffe4bef750c94b1/src/bootstrapper.cc
[modify] https://crrev.com/c326e73d91df3c8c84ff6f25bffe4bef750c94b1/src/builtins/builtins-definitions.h
[modify] https://crrev.com/c326e73d91df3c8c84ff6f25bffe4bef750c94b1/src/builtins/builtins-typedarray-gen.cc
[modify] https://crrev.com/c326e73d91df3c8c84ff6f25bffe4bef750c94b1/src/code-stub-assembler.cc
[modify] https://crrev.com/c326e73d91df3c8c84ff6f25bffe4bef750c94b1/src/code-stub-assembler.h
[modify] https://crrev.com/c326e73d91df3c8c84ff6f25bffe4bef750c94b1/src/contexts.h

Status: Fixed (was: Untriaged)
Graph shows a decrease in memory over the range of the builtin refactoring - this is about as good as we can get it.

Sign in to add a comment