Commit graph

66876 commits

Author SHA1 Message Date
Alexander Aprelev 4167867bb2 [build] Rely on default host os TARGET_OS unless cross-compiling.
Before this change we erroneously override TARGET_OS with target_os value, which for example resulted in dart sdk built as part of Fuchsia targeting Fuchsia, rather than host os(Linux).

Bug: https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=36723
Change-Id: I92b698a331c8c5ef802f0b329ebf13616f29952f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118372
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2019-09-23 21:02:49 +00:00
Alexander Markov 9cc7ec8916 [vm/aot] Do not devirtualize calls with mismatching number of type arguments
Fixes https://github.com/dart-lang/sdk/issues/38254

Change-Id: I9597b1aecc5b1040d4c7e18d6ea272ab74af7ddc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118463
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-09-23 20:41:39 +00:00
Konstantin Shcheglov acac9ab11b Issue 37608. Use instantiated FunctionType for tear-off(s).
I was working of switching runtimeTypeMatch() to purely
typeSystem.isSubtypeOf(), without working around dartbug.com/35993
and dartbug.com/33441, but bots were failing. I think that was because
of this issue with incorrect tear-off types. We have to fix it before
switching to less generous TypeSystem.

R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/37608
Change-Id: I1f5dfc5e86553a352d72e772e791978772fe8fa4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118379
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-23 20:22:07 +00:00
Konstantin Shcheglov dbefc6c165 Issue 33300. Don't append bounds for TypeParameterType.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/33300
Change-Id: Ib582bc2b95d4336a0e63ff14602682dcbcf0bd02
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118374
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-23 19:29:16 +00:00
Konstantin Shcheglov 7d436b0815 Update DDC to avoid calling '.type', create legacy types instead.
I ran TAP presubmit, and there are no new failing tests.
https://test.corp.google.com/ui#id=OCL:270582162:BASE:270582204:1569204806081:7dd58c7

Change-Id: Ic0a5231f3ee01c7439fc3f58eea4f4ced31cfa6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118361
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-23 19:28:46 +00:00
Konstantin Shcheglov b4e631550f Support for UnknownInferredType in type algebra.
Bug: https://buganizer.corp.google.com/issues/141432740
Change-Id: I8b9e5887cdc5fdf7cc0d5914dcb3597af06da16f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118461
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-23 18:56:25 +00:00
Sam Rawlins 87a369f1d2 Add syntax highlighting to instrumentation_renderer
In this change, we also push HTML escaping to mustache.

Changes can be seen in x20 pages emailed to the team.

Change-Id: I239668a0844fb5bd7c90848f25a3cbf29e50363d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118460
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-09-23 18:51:55 +00:00
Clement Skau 0b7a78d0a6 [SDK] Adds dart2native --verbose.
Bug: https://github.com/dart-lang/sdk/issues/38524, https://github.com/dart-lang/sdk/issues/38525
Change-Id: Ic950fcadd328d1adeae19dd1046270fe4f4320e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118387
Reviewed-by: Michael Thomsen <mit@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
2019-09-23 16:41:30 +00:00
Zichang Guo 77ff89b223 [vm] disallow breakpoint on non-debuggable library
There is no clear defination on setLibraryDebuggable in rpc. But obviously breakpoint should be not set and hit if library is not debuggable. Correct this behavior.

Bug: https://github.com/dart-lang/sdk/issues/36914
Change-Id: Ic75f89055eeb69279a504366fe35f3e98b173abf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118340
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2019-09-23 15:31:28 +00:00
Dmitry Stefantsov 8d487b4fdc [kernel] Recover TypeParameter.variance while deserializing
Change-Id: I46d78dc5e98c5e3707d448eccfd6bdabb1c25ddb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/91827
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-09-23 15:17:38 +00:00
Dmitry Stefantsov c719d02753 [kernel] Add function to compute variance of typedef type parameters
Change-Id: If00727835c0008917f5ce8154b4bffafb0f31630
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/85102
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-09-23 15:17:38 +00:00
Dmitry Stefantsov 3779122bed [kernel] Don't preserve typedefType in terms with free variables
Change-Id: I46e80d9f6406775ce5bcb517f485a8a3823563b6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/85449
Reviewed-by: Peter von der Ahé <ahe@google.com>
2019-09-23 15:17:38 +00:00
Dmitry Stefantsov 4d9db7b22f [fasta] Account for variance of type parameters in instantiate-to-bound
Change-Id: I7a0aa3810129fa6a6a8cff5f961c19157154cd37
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/85101
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-09-23 15:17:38 +00:00
Dmitry Stefantsov 9505a1b87f [fasta] Add variance field to type parameters
Change-Id: I0c3eda4057b52853c063a682ff15fb17a595db3b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/85082
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-09-23 15:17:38 +00:00
Clement Skau f546362691 [SDK] Adds dart2exe to create standalone executables.
Tested:
  ./tools/build.py --arch x64 --mode release --verbose create_sdk copy_gen_kernel_snapshot copy_dart2aot
  ./tools/build.py --arch x64 --mode product --verbose copy_gen_snapshot copy_dartaotruntime
  cp -r out/ProductX64/dart-sdk/bin/{dartaotruntime,utils/} out/ReleaseX64/dart-sdk/bin/
  out/ReleaseX64/dart-sdk/bin/dart2native ~/src/hello_world.dart
  ~/tmp/hello_world.exe

  dart tools/bots/aot_smoke_tests.dart

  python tools/test.py -n dartkp-linux-release-x64 vm/dart/run_appended_aot_snapshot_test

Change-Id: I149fcd18405cdf0a87b8f4b4072c0f0e8f98c067
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117140
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-09-23 12:00:08 +00:00
Johnni Winther 94dd49cdb6 [cfe] Add NullCheck expression node
Change-Id: I17223bffa5dec7b1ce7652b21bf1a3381137f4f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118380
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-23 10:04:48 +00:00
Karl Klose 96f1abdaca [pkg/testing] Replace top-level logging functions with an interface.
Change-Id: Id896436ab869d52c6e9befff885494b87690a342
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118382
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-09-23 07:57:39 +00:00
Karl Klose 209180d280 Treat the case that the reported error location has length 0
Change-Id: I419dc317098beda89991df57ec599b681043070b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117701
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-09-23 06:46:39 +00:00
Alexander Markov 07f0bc0144 [vm/bytecode] More fixes for AOT compilation from bytecode
* Clear bytecode for all functions including closures and field
  initializers, so their object pools are not preventing constant
  objects from being reclaimed by GC.

* Bytecode reader should use dynamic invocation forwarders in AOT too.

* Fix assertion in RegisterTypeArgumentsUse (type arguments in
  generic closure functions could come from _prependTypeArguments call).

Change-Id: I2154c87f30720607288ec12012a6d0ec1db618dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118365
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-09-22 18:46:09 +00:00
Konstantin Shcheglov a683a5822f Consider '[]' and '[]=' as having the same base name '[]' for extensions.
Update ResolutionResult to be just getter and setter.
No properties, no functions.

Bug: https://github.com/dart-lang/sdk/issues/38484
Change-Id: If2b50e30eb98eb280142bbe12e4f0c31041ef652
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118342
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-21 02:33:49 +00:00
Stephen Adams 73eb0ee4ae Mark pkg/modular_test/test/memory_pipeline_test slow (to compile) on dart2js
Change-Id: Ie2a2c91ba77368d7199f3d4d3dfbe094525ef132
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118368
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2019-09-20 23:27:59 +00:00
Mark Zhou 4c74b486af Re-adding dart sdk version comment
Change-Id: Ifc1ddc6ebc8b14107424e36dc5e8388bcf69d262
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118370
Auto-Submit: Mark Zhou <markzipan@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2019-09-20 23:26:39 +00:00
Konstantin Shcheglov 6066271811 Don't use Element.type in analyzer_plugin.
Change-Id: Ia4223916118d1ce5ddee143044f6bd36d44cf2d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118421
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-20 22:37:23 +00:00
Mayank Patke ad52d12953 [dart2js] New RTI: Don't try to instantiate a null function.
Change-Id: I6532fb138343e8fe01b3773b3ef6693e52b1b312
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118364
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2019-09-20 22:35:57 +00:00
Ryan Macnak e2adba804b [vm, compiler] Further reduce alignment of Instructions.
ARM64
Unaffected

ARM32
VMIsolate(CodeSize):       4731 ->     4730
Isolate(CodeSize):      2020887 ->  2020860
ReadOnlyData(CodeSize): 2161000 ->  2161000
Instructions(CodeSize): 6879032 ->  6811384 (-0.98%)
Total(CodeSize):       11065650 -> 10997974 (-0.61%)

Bug: https://github.com/dart-lang/sdk/issues/38452
Change-Id: Ic969a92814afd352767368e063e493099dd89377
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118181
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-09-20 22:29:18 +00:00
Felicitas Hetzelt 60c2bb9f5b [vm/fuzzer] Disable controlflow collections
Change-Id: I17d3bd882697a9e167177a5ae104d77405487bd7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118360
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Felicitas Hetzelt <felih@google.com>
2019-09-20 22:19:47 +00:00
Mayank Patke 7e68a0c95e Copy changes from f057e25 to sdk_nnbd.
Change-Id: Id31fa5d37970b74f38a06e7b2490937de93b1441
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118400
Commit-Queue: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
Auto-Submit: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2019-09-20 22:05:57 +00:00
Mayank Patke a42a2412b4 [dart2js] Add JS-interop classes as supertypes of JavaScriptObject.
Change-Id: I6c279295c30c27a6355959359781eb9474e33205
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117594
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2019-09-20 21:43:16 +00:00
Mayank Patke dd948188f7 [dart2js] Implement type relations for AnyType.
Change-Id: I9f0fb34e3ebc815283c5933843586479318112f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117593
Reviewed-by: Stephen Adams <sra@google.com>
2019-09-20 21:43:16 +00:00
Vijay Menon 43cacafb51 Revert "[dartdevc] fix for const / overridden fields"
This is breaking Flutter Web - see:

https://github.com/flutter/flutter/issues/40876

Will need to reopen: https://github.com/dart-lang/sdk/issues/38455

Change-Id: I6942cdc136533286c3a5eee93439d4f0f9beb28b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118261
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2019-09-20 20:09:08 +00:00
Sigmund Cherem ff0e8f8035 Make extension methods more readable on dart2js stacktraces
Change-Id: I776b78c5a8742aad5ccc9aa4ffbc86827aacba96
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118205
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-20 19:01:36 +00:00
Johnni Winther 3f8c7e5fa2 [cfe] Refactor local and read-only compound assignments
Change-Id: Idcf113fee7c2a98dc38e95ff4e298b504a0ecd13
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117360
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-20 18:30:45 +00:00
Johnni Winther 771e0f7d32 [cfe] Refactor local and read-only if null assignments
Change-Id: Ie5ec508f69f3db6badd889c0ecfb1f80d1873501
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117325
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-20 18:30:45 +00:00
Johnni Winther 5997ea4d73 [cfe] Make buildSimpleRead and buildAssignment abstract
+ remove _makeSimpleRead and _makeSimpleWrite
+ directly implement some of buildIfNullAssignment, buildCompoundAssignment and buildPostfixIncrement

Change-Id: I5a209c3a570af7773486799a0473f802e27afb54
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117323
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-20 18:30:45 +00:00
Johnni Winther 68b1a2e7bd [cfe] Refactor super index access
Change-Id: Ie431d93b2ecc48fe5c35288f1146934ac278a81c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117322
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-20 18:30:45 +00:00
Johnni Winther 1e24146dab [cfe] Refactor this indexed access
Change-Id: Iaaac1aba9f421ec1d5176350b1d007ce355ca297
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117151
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-20 18:30:45 +00:00
Ben Konyi 729099cc5b [ VM ] Update embedding API to perform Platform initialization
Platform::Init (now Platform::InitOnce) was only being called directly
from the CL embedder and could not be invoked via any path in the embedding
API. Platform::InitOnce is now invoked in both dart::bin::BootstrapDartIo and
dart::embedder::InitOnce.

Fixes https://github.com/dart-lang/sdk/issues/37586

Change-Id: I594908895c19e3058f707f920e265e79ca4cecd7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117591
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2019-09-20 18:26:19 +00:00
Konstantin Shcheglov 2cebdaae2c Update MockSdk to support unsafe_html lint.
The linter is a moving target, so since I last tried to use analyzer's
MockSdk, linter got new dependencies.

R=brianwilkerson@google.com, pquitslund@google.com

Change-Id: I97955158befd61146416c8c1069768ae1d58b018
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118323
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-20 17:41:25 +00:00
Alexander Markov 125ed45eff [vm] Fix ResolveDynamicAnyArgs to avoid returning incorrect method extractor
Consider the following situation:

class A { foo() {...} }
class B extends A { foo() {...} }

During AOT compilation (in case FLAG_lazy_dispatchers == false)
Resolver::ResolveDynamicAnyArgs was not looking for possible methods
when getter is requested. As a result, if method extractor A.get:foo
has been created, but B.get:foo hasn't, then lookup for B.get:foo
incorrectly returns A.get:foo (instead of null).

Similar situation was previously fixed for a particular call site of
ResolveForReceiverClass (which uses ResolveDynamicAnyArgs):
https://dart-review.googlesource.com/c/sdk/+/30520

However, there are more calls to ResolveForReceiverClass in the compiler
where its incorrect result may be used.

Change-Id: I4ebd6b91157cc048b94e5a5ce182c42dc808f4f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118260
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-09-20 17:37:05 +00:00
Konstantin Shcheglov db035f39cf Remove some uses of 'type' and substitute2() it types.
We also now don't try to share parts of strict FunctionType(s).
So, I'm removing the corresponding tests.
If we decid that we need this, the correct place to do this is
the type algebra.

Change-Id: I4f7d9df892f8606af8f0403358e56d4a07bdd025
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118321
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-20 16:56:15 +00:00
Mark Zhou 56913c2555 Changing val to accommodate double values
Change-Id: If19b6aece45b46a0ceb85d98b0ac73eb3735e0dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118240
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
2019-09-20 16:23:35 +00:00
Vyacheslav Egorov 2b4a84efd0 Revert "[vm/compiler] Drop redundant initializing stores of null"
This reverts commit 96b8401cfc.

Reason for revert: works incorrectly because kernel-to-il emits multiple initializing stores for the same field. see language_2/field_parameter
_test

Original change's description:
> [vm/compiler] Drop redundant initializing stores of null
> 
> Dart objects are allocated null-initialized so initializing stores of
> null value can be removed from the graph.
> 
> Issue https://github.com/dart-lang/sdk/issues/38454
> 
> Change-Id: I1ba0c3a21462ba8a3409fc648027b4ebf0b1040e
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118286
> Reviewed-by: Samir Jindel <sjindel@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Commit-Queue: Vyacheslav Egorov <vegorov@google.com>

TBR=vegorov@google.com,kustermann@google.com,sjindel@google.com

Change-Id: Ic0c51986168cb51316d3872514719b34cfc780cb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118289
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2019-09-20 15:08:30 +00:00
Jens Johansen ff778d1cb4 [bazel] Sort certain things when compiling in incremental mode (take 2)
Not doing it can lead to the same input producing "different" outputs.
Note that this is a follow-up to cdcec63569
where I forgot about the incremental summary-only case.

Change-Id: Idf76c3839f46c468a62350968b353be7235d91b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118287
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-09-20 13:12:55 +00:00
Vyacheslav Egorov 96b8401cfc [vm/compiler] Drop redundant initializing stores of null
Dart objects are allocated null-initialized so initializing stores of
null value can be removed from the graph.

Issue https://github.com/dart-lang/sdk/issues/38454

Change-Id: I1ba0c3a21462ba8a3409fc648027b4ebf0b1040e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118286
Reviewed-by: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2019-09-20 12:41:35 +00:00
Daco Harkes 8b4d89e03c [gardening] Mark FFI tests on Android as slow
Issue: https://github.com/dart-lang/sdk/issues/38489
Change-Id: Ibe20b818c1525fa5461b6168a1ec3571bb271771
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118284
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2019-09-20 12:31:25 +00:00
Teagan Strickland 2b16ae1b54 [gardening] Fix unguarded uses of CompileType::ToSExpression.
Bug: https://github.com/dart-lang/sdk/issues/36882
Change-Id: Ief57fbd655767171d98aaf14002ff49d6da4fd1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118283
Reviewed-by: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Teagan Strickland <sstrickl@google.com>
2019-09-20 12:06:44 +00:00
Lasse R.H. Nielsen 469863ded7 Fix bug in static extension member test.
Change-Id: I525b1ce349b04ddc1aac83c57c2a58a976ae512a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118282
Auto-Submit: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-20 12:01:45 +00:00
Jens Johansen 99713209c4 [CFE] Fix issue with cached calculations and recording dependencies
Before this CL we would miss some dependencies when recording
dependencies because we cache certain calculations that upon calculation
can mark things as needed.

Change-Id: If9ff872021b0fb77cbcc787112bb91f3ade71243
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118281
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-09-20 11:21:14 +00:00
Johnni Winther 70a1e8e090 [cfe] Fix handling of access on type variables with dynamic bound
Change-Id: Ibff097e5f18bee169191b94633455547460debb0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118280
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-20 10:48:14 +00:00
Teagan Strickland 5645cc64f5 [vm/compiler] Fix mismatches in early round trip.
Printing out the flow graph before and after round trip serialization
revealed slight differences between the flow graphs that might lead
to either bugs or different results in compilation. Remove these
differences.

Also in this change:
* Remove cases where printing or serializing a flow graph could have
  the side effect of creating new `CompileType`s or `AbstractType`s
  not previously in the graph.
* Ensure reaching types for `Value`s are cloned if the binding
  definition changes and check that reaching types either have no
  owner or are owned by the `Value`'s definition with the
  FlowGraphChecker. (Before this change, we had `CompileType`s in
  the graph whose owner had long since been removed from it.)
* Adds `ASSERT`s to check that unexpected non-canonical `Instances`
  are not allowed as the value of `ConstantInstr`s and adds some
  canonicalization that did not previously occur.

Bug: https://github.com/dart-lang/sdk/issues/36882
Change-Id: I334ffa2a6383291a7cb318343c71bd55a41269a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117143
Commit-Queue: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-09-20 08:35:44 +00:00