Commit graph

52098 commits

Author SHA1 Message Date
Erik Corry 3b3406fea0 [VM] Fix golden disassembler output on IA32
R=johnniwinther@google.com

Bug:
Change-Id: If8fe92a2811dc114b5e0dce208ef82bd47408086
Reviewed-on: https://dart-review.googlesource.com/23540
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2017-11-24 11:40:59 +00:00
Erik Corry 1d9ff70a08 [VM] Pick more compact instruction encodings on x64
Several tricks here:
* When zeroing registers we can use xorl instead of xorq because the 'l'
  variant will zero the top bits.
* test and 'and' instructions with immediate arguments can use 8-bit and 32 bit
  variants more heavily.
* mov reg, immediate can use more compact encodings when sign-extension is not
  needed.

Performance is better than +1% when measured on Dart2JS.

R=vegorov@google.com

Intel optimization manual says: "Assembly/Compiler Coding Rule 64. (H impact, M
generality) Use the 32-bit versions of instructions in 64-bit mode to reduce
code size unless the 64-bit version is necessary to access 64-bit data or
additional registers."
Bug:
Change-Id: I2a989315c45f8d8ebab719653fbfa2b18ebb77c9
Reviewed-on: https://dart-review.googlesource.com/23400
Commit-Queue: Erik Corry <erikcorry@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-11-24 10:53:17 +00:00
Erik Ernst 062e5d6db3 Now explicitly defines variant occurrences of type parameters.
The discussion about SDK issue 31305 showed that the definition of
covariant/contravariant/invariant occurrences need to be given
somewhere, and also that covariant-from-class.md is a reasonable place
to put it.

This CL adds those definitions there, based on Leaf's proposal in the
above-mentioned issue, and adjusts the definition of what it means to
be a covariant parameter such that the case where the relevant type
parameter occurs in the bound of a formal type parameter in a function
type is taken into account.

(It also reformats the document to stay within 80 columns and follow
the style of newer informal specs more closely, but that should be
easy to skip over because Gerrit colors white space changes
differently from "real" changes).

Change-Id: I0b0a688c616d0bb56755ceea08e1792abfa7936d
Reviewed-on: https://dart-review.googlesource.com/23422
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2017-11-24 09:21:47 +00:00
Konstantin Shcheglov 57f652d5d5 Associate invocation arguments with parameters.
R=brianwilkerson@google.com

Bug:
Change-Id: I675a7dd2dcfc61f1b0d46d49dbb40e4679598ffb
Reviewed-on: https://dart-review.googlesource.com/23461
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-11-24 05:26:27 +00:00
Konstantin Shcheglov be2bf3f126 Create local function parameters.
R=brianwilkerson@google.com

Bug:
Change-Id: I58715cc989d346d525a55e01dc14f91c8a436a82
Reviewed-on: https://dart-review.googlesource.com/23280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-23 21:23:37 +00:00
Kevin Millikin fed1e4bd49 Fix a bug in compilation of while loops
Unlabeled while loops in Kernel (these are ones that are not the
target of a break) did not shadow labeled ones.  The compiler would
generate a break without a label in JS which would target the wrong
loop.

Bug:
Change-Id: Ib060ab66326a3ea0779eaceccaf1ca06ccfafb75
Reviewed-on: https://dart-review.googlesource.com/23421
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2017-11-23 20:53:06 +00:00
Paul Berry 5ce5811216 Insert implicit downcasts for the conditions of for statements.
Change-Id: I213617cb4ea1a5c29f8a6a56f54792c59cc4e132
Reviewed-on: https://dart-review.googlesource.com/23221
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-23 16:47:32 +00:00
Paul Berry b7a0db69a6 Fix compile-time error in implicit_downcast_not.dart test case
Change-Id: Icf58ba984fadd27580dc37c901532dcdbf101a99
Reviewed-on: https://dart-review.googlesource.com/23146
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-23 16:39:47 +00:00
Paul Berry 9255de668e Insert implicit downcasts for constructor initializer expressions.
Change-Id: Ic258db9c353a4a0ab33a96c3847b174937fcf9e5
Reviewed-on: https://dart-review.googlesource.com/23220
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-23 16:39:28 +00:00
Brian Wilkerson 934c6239d5 Return the last consumed token from three methods
Change-Id: I53acff5bef2fc22212333e3866ae6ddf43d21b76
Reviewed-on: https://dart-review.googlesource.com/23161
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-23 15:09:07 +00:00
Kevin Millikin fa1d2c896d Fix order of arguments to Expect.equals in some tests
Expect.equals (and Expect.listEquals) takes expected first and actual
second.  When these are flipped in tests, the failure message can be super
hard to understand.

Bug:
Change-Id: I1d3c5a31365fa41ee7bcc7781474d76de9184cd5
Reviewed-on: https://dart-review.googlesource.com/23420
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2017-11-23 14:45:46 +00:00
Jens Johansen bf81788671 [DDC-kernel]: Stepping over foo = new Foo.named()
This CL adds a test for stepping over - among others - a reassignment of
a variable with a new named constructor.
It additionally improves the situation in DDC via kernel.

Bug:
Change-Id: I1658d433575e6614b1cbbbeb7f1765651b0d34bb
Reviewed-on: https://dart-review.googlesource.com/20667
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2017-11-23 11:58:26 +00:00
Kevin Millikin 16ec97c0bb Update dartdevk test status files again
Bug:
Change-Id: I836d69b5e142d6fb287597e4829c596f9ed77420
Reviewed-on: https://dart-review.googlesource.com/23340
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2017-11-23 11:45:46 +00:00
Jens Johansen e97f818778 [DDC-kernel] Stacktrace test
First stacktrace test making use of the shared testing functionality
originally used by dart2js.

Bug:
Change-Id: Ia3528e2860a5bea48365c32a6526811d06ec001c
Reviewed-on: https://dart-review.googlesource.com/23060
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2017-11-23 11:25:16 +00:00
Dmitry Stefantsov 92d59a67a7 [ddc-kernel] Update status file for dartdevk
More tests are passing due to 8cdd9d323c

Bug:
Change-Id: Ia871cc46638caa145394f14fd6ec66bf6ea5dbba
Reviewed-on: https://dart-review.googlesource.com/23040
Reviewed-by: Karl Klose <karlklose@google.com>
2017-11-23 09:21:35 +00:00
Alexander Thomas 9698df457c Merge SDK build steps in test matrix
Change-Id: Icc9b03e33c7375c5cc1460f1d7116efed2157d44
Reviewed-on: https://dart-review.googlesource.com/22804
Reviewed-by: Morten Krogh-jespersen <mkroghj@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2017-11-23 09:10:16 +00:00
Jens Johansen c41c39d876 [DDC-kernel] Add missing copyright notice to sourcemap testing files
Bug:
Change-Id: Iec24647acc9ad7ee49ed3f4e83bf534d483e94b8
Reviewed-on: https://dart-review.googlesource.com/22981
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-11-23 08:49:36 +00:00
P.Y. Laligand c13e40613b [fuchsia] Update path to package template.
Change-Id: I6fbac01b875627adf9fb4dab708077a1c7c94be9
Bug:
Reviewed-on: https://dart-review.googlesource.com/23240
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2017-11-23 06:49:56 +00:00
Konstantin Shcheglov 14552f4cfd Initial support for local functions.
We can create new FunctionElement(s), set its types from the existing
KernelType, and resolve references to it from invocations.

No formal paramerers, no type parameters, no assignment yet.
No tests for context element.
Will work on this later.

R=brianwilkerson@google.com

Bug:
Change-Id: I0d8d36601916727d11e43160f9c9392fc75854ba
Reviewed-on: https://dart-review.googlesource.com/23223
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-23 01:35:36 +00:00
Ryan Macnak d366f9619a [vm] Toward deterministic builds.
- Remove random build-id.
 - Replace build time in embedded version string with commit time.
 - Remove timestamps from Observatory tarball.
 - Zero-initialize skipped bytes in snapshot streams.
 - Fix uninitialized fields in PatchClass, Script and Library.
 - Disable (under flag) random identity hashes and concurrent GC.

Bug: https://github.com/dart-lang/sdk/issues/31427
Change-Id: I3e95de679c8372841cd27ca60df78d9b00ffbfe1
Reviewed-on: https://dart-review.googlesource.com/22901
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2017-11-23 00:07:56 +00:00
Zachary Anderson 40c3e129c2 Fix typo in CHANGELOG
Change-Id: Ifa0ee6d23df6e79aca83717ff3115392229d9657
Reviewed-on: https://dart-review.googlesource.com/23222
Reviewed-by: Zach Anderson <zra@google.com>
2017-11-22 23:18:11 +00:00
Leaf Petersen cac2299976 Remove comment syntax from lib/convert.
Remove comment syntax on methods signatures in convert.  This doesn't
change the reified types, but may cause new errors and warnings in
non-strong mode code.

Bug:
Change-Id: Ib811a4918d30eb5ba04300df928ac6c3868b2c2b
Reviewed-on: https://dart-review.googlesource.com/21783
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
2017-11-22 22:57:05 +00:00
Zachary Anderson 616215df1b [dart:io] Adds Stdin.hasTerminal to mirror Stdout.hasTerminal
fixes #29083

Change-Id: I5f4d7ac2a5df9600fd3ad12abc2dd6068d9980af
Reviewed-on: https://dart-review.googlesource.com/23145
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2017-11-22 22:41:37 +00:00
Paul Berry 501872471c Insert implicit downcasts for the conditions of do statements.
Change-Id: I8bfffa0796775434cea767ec9ad13cf5697812d2
Reviewed-on: https://dart-review.googlesource.com/23140
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-11-22 21:47:14 +00:00
Brian Wilkerson afbcb4a1fc Convert kernel procedures
Change-Id: I746252cf2c9334ae1190dacf6cbe354aba1602c1
Reviewed-on: https://dart-review.googlesource.com/23200
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-22 20:55:14 +00:00
Emily Fortuna d3eef66367 Add function parameter type checks in checked mode with constructors and loop variables.
Bug:
Change-Id: Ib3245eb59c9f23b31e4a0b1c65a25f1c2ad3188f
Reviewed-on: https://dart-review.googlesource.com/23143
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Emily Fortuna <efortuna@google.com>
2017-11-22 19:57:04 +00:00
Paul Berry 245340dd7f Insert implicit downcasts for the conditions of if statements.
Change-Id: I788d50dc3d95bb4652ff122a993cd092d7262c31
Reviewed-on: https://dart-review.googlesource.com/23160
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-22 19:29:24 +00:00
Zachary Anderson f97e11f624 [Fuchsia] Safestack fix for exceptions
The safestack stack pointer is cached when invoking Dart code, and
manually restored when jumping over C++ frames for Dart exceptions
in Exceptions::JumpToFrame().

fixes #31356

Change-Id: I71c2e86d1d4f24571dd618a5db06fd1277339ebc
Reviewed-on: https://dart-review.googlesource.com/23141
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-11-22 19:27:54 +00:00
Siva Chandra 726337aa69 Fix the name of the test output file in .gitignore.
The output file name was recently changed (in
d42c44069a) but the name
in the .gitignore file was not updated.

Change-Id: Id9e5a1769294e24394703ac94cc0692eb3f36da2
Reviewed-on: https://dart-review.googlesource.com/22801
Reviewed-by: Morten Krogh-jespersen <mkroghj@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2017-11-22 19:10:34 +00:00
Siva Chandra 5853eac5c0 Remove the now unused runtime/bin/snapshot_in.cc
Change-Id: I7b857c55a162f11b6761aee44f3461a6d8a541c7
Reviewed-on: https://dart-review.googlesource.com/22841
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2017-11-22 18:24:48 +00:00
Ryan Macnak e4d01aa323 [vm, gc] Remove the evacuating compactor.
This was a temporary measure to verify the VM could handle moving old-space objects before we had the sliding compactor.

Bug: https://github.com/dart-lang/sdk/issues/30978
Change-Id: I4ffec413918481c0af4828d126930455f620935d
Reviewed-on: https://dart-review.googlesource.com/22663
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Erik Corry <erikcorry@google.com>
2017-11-22 18:12:02 +00:00
Konstantin Shcheglov 8ae3c5d450 Extract integration tests for resolution using AnalysisDriver.
Bug:
Change-Id: I37af979d1e1c7cee9d7305ad977f4d4b91c667f7
Reviewed-on: https://dart-review.googlesource.com/23142
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-11-22 17:56:04 +00:00
Paul Berry 6786f1944a Insert implicit downcasts for the operands of "not" expressions.
Tests that have begun failing due to this change are marked with a
reference to issue #31402.

Change-Id: I3d29a1058af5ba43bc2868d85de1e9d87b666ee2
Reviewed-on: https://dart-review.googlesource.com/23080
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-11-22 17:55:27 +00:00
Konstantin Shcheglov ad7bc62921 Store and apply elements for SimpleIdentifier.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ie5f7a5b963dab8a731b9c60ae3a9440ef09b68f0
Reviewed-on: https://dart-review.googlesource.com/22902
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-22 17:36:39 +00:00
Brian Wilkerson d975c5f990 Prepare Parser.parsePrecedenceExpression for being converted to return the last consumed token
Change-Id: I8e10cb89db57c1ba2a90f7bd0af5a709a98e31ca
Reviewed-on: https://dart-review.googlesource.com/23120
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-11-22 17:36:09 +00:00
Bob Nystrom 1e6e72af79 Refactor some code around TestSuite.
I was working on adding support for treating RuntimeError as Pass if
runtime == none and I noticed a lot of dead or redundant code, so
cleaned it up some.

Change-Id: I0be451a7075d99bc07d1407883861fb06d777c02
Reviewed-on: https://dart-review.googlesource.com/22800
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-22 16:56:17 +00:00
Erik Corry 5253b7ed24 [VM] Fix ARM64 test to clear register before use
R=vegorov@google.com

Bug:
Change-Id: Ia223f98fa6e87f915b519738d47677837c911309
Reviewed-on: https://dart-review.googlesource.com/23100
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Erik Corry <erikcorry@google.com>
2017-11-22 16:03:44 +00:00
Paul Berry 9693e47d89 Insert implicit downcasts for the expressions in a return or yield statement.
Tests that have begun failing due to this change are marked with a
reference to issue #31402.

Change-Id: Id570bf354583a3780087ffc820eefc3619573af4
Reviewed-on: https://dart-review.googlesource.com/22842
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-11-22 15:33:07 +00:00
Jens Johansen 64be0aa210 [DDC-kernel] Use package:sourcemap_testing, delete copied file
Now that some files were factored out into a separate package, delete
the copied file and use the package instead.

Bug:
Change-Id: I3e58ae0213517234b179d6dcfcf251830cb1166a
Reviewed-on: https://dart-review.googlesource.com/22980
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-11-22 14:54:37 +00:00
Jens Johansen 1e4625ea38 Small changes to stacktrace_helper to prepare for ddc usage
Bug:
Change-Id: Iab4fb0536456cded152646bf2725e8c918e4a8e8
Reviewed-on: https://dart-review.googlesource.com/23020
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-11-22 14:30:37 +00:00
Dan Rubel 9ba4054bb9 Address comments
https://dart-review.googlesource.com/c/sdk/+/22760/1/pkg/front_end/lib/src/fasta/parser/parser.dart#4991
Change-Id: I63b0e0940376d04fdcaeecd11df3d04bf800a2d3
Reviewed-on: https://dart-review.googlesource.com/22881
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-11-22 14:19:28 +00:00
Jens Johansen 49dc9f5a8d [DDC-kernel] Make source map tests report better errors; fix paths.
Update the expected paths for summary, sdk and dill files.
Report errors saying that it cannot find specific files instead of
letting ddc crash with some exit code.

Bug:
Change-Id: I88348dc28ebad8cc4b630b85555be978244c8cd7
Reviewed-on: https://dart-review.googlesource.com/22920
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-11-22 14:12:27 +00:00
Peter von der Ahé c05b5fb62c Remove unused method
Change-Id: I3fcea6cc5cbce30092bc96a322d5d4a3866c3d37
Reviewed-on: https://dart-review.googlesource.com/22960
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2017-11-22 13:57:18 +00:00
Peter von der Ahé eed0e70510 Detect missing export dependencies
Change-Id: I9fa3d34cc23430763ea7b314c03ed860650b9cd6
Reviewed-on: https://dart-review.googlesource.com/22620
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2017-11-22 13:56:09 +00:00
Erik Corry 70e5deacb5 [VM] Disable disassembly tests that differ on Windows
R=kustermann@google.com

Bug:
Change-Id: I925538c28aaefd144d7bc94a554a64ff4ead9ad8
Reviewed-on: https://dart-review.googlesource.com/23021
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-11-22 13:15:28 +00:00
Martin Kustermann 4f21462e49 [VM] Add assertion in precompiler to ensure root library is available
Change-Id: I465149f19f321df1cf0ffd687525aed06310b5d4
Reviewed-on: https://dart-review.googlesource.com/23002
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2017-11-22 13:12:37 +00:00
Martin Kustermann d38c08d973 Revert "Allow gen_snapshot to create a core snapshot from a platform dill file."
This reverts commit 5ac157c572.

Reason for revert:

  After a roll of this into flutter engine and a roll of flutter engine
  into flutter this broke flutter tests.

  In particular it causes us to not load the entire application from the
  dill file which makes us crash during lookup of embedder entrypoints,
  or more specifically during lookup of "main" since
  `I->object_store()->root_library()` is `null`.

Bug:
Change-Id: If3b05cba47ed20c2e9bfd48c89abd8200e0bf28b
Reviewed-on: https://dart-review.googlesource.com/23001
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-11-22 12:17:46 +00:00
Erik Corry d300b08e35 [VM] Use X64 disassembler for IA32 and X64 (reland)
R=vegorov@google.com

This removes the IA32 disassembler and uses the X64 disassembler for
both variants.  Instructions that were in the IA32 assembler, but not
supported by the X64 disassembler have been added.  It also adds some
regression tests for a lot of the disassembler output.
Bug:
Change-Id: I243abbb04c3a77810ce96ca74f7f42a5a1aea0cf
Reviewed-on: https://dart-review.googlesource.com/22982
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Erik Corry <erikcorry@google.com>
2017-11-22 12:04:18 +00:00
Dmitry Stefantsov b277f548bd [ddc-kernel] Update status file for dartdevk due to dartbug.com/31402
Bug:
Change-Id: I9d77b34b28403ba97c382ae4cacccac783c0a208
Reviewed-on: https://dart-review.googlesource.com/23000
Reviewed-by: Karl Klose <karlklose@google.com>
2017-11-22 11:49:15 +00:00
Jens Johansen ca877c964f [kernel] Wrap debugPath in assert in BinaryBuilder
The code for reading dill files via dart has a "debugPath" list that is
continously added and removed to in order to be able to debug what went
wrong if something goes wrong (e.g. if the dill file is invalid or the
reading code is wrong etc).

This CL wraps the updates of this list in assert so that we don't pay
for what we don't use in the general case. In a debug setting we can get
the functionality back via --checked.

On a benchmark of 10 runs, the time it takes to read vm_outline.dill 100
times after a 2 second warmup changes by -2.77% +/- 1.21%.

Bug:
Change-Id: I643b8dd778972621046fe76b536fd95e9bb66d1c
Reviewed-on: https://dart-review.googlesource.com/18820
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-11-22 09:29:57 +00:00