Commit graph

71009 commits

Author SHA1 Message Date
asiva e33d023fa0 [BUILD] - Format gn files, this is being done to ensure the unfork CL
doesn't show these formatting changes as diffs.

Change-Id: I69ccbf4adabc66d88371cece785a2c1bce60f133
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138962
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2020-03-10 21:56:11 +00:00
Alexander Markov 2397862762 [vm/aot] Eliminate unnecessary try/catch and try/finally
This change adds an ability to replace

try {
  <body>
} catch (...) {
 throw;
}

and

try {
  <body>
} finally {
}

with <body> into unreachable code elimination kernel transformation,
which is used in AOT. These constructs can appear after assert code is
removed.

Issue: https://github.com/dart-lang/sdk/issues/40925
Change-Id: I7940aab316aac3a9aeadb9b506b9c0ef3f79610d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138890
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-03-10 21:44:43 +00:00
Janice Collins ace1d9b921 Do not repeatedly analyze a full library per part when dartfixing.
Migration performance improves 10x on web_ui with this CL.
Also fixes a heisenbug in the linter code where identical uniqueNames
for LintCodes could wind up in objects that compare differently.

Bug: https://github.com/dart-lang/sdk/issues/40915
Change-Id: Iddddfd7659f4bc724ddf21ebae41750a0ee51e74
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138940
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
2020-03-10 21:16:11 +00:00
Sam Rawlins cc85d28e60 Migrator: Add preliminary styles to stack trace
Change-Id: Iac8fdccb18b5ba04b058236ac1ee9b60643f67cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138924
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2020-03-10 21:06:10 +00:00
Robert Nystrom 0def426463 Add doc explaining how language versioning and experiments work.
Change-Id: I9c30bcda07321065ae215c2d3ee5029ed66e587e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138680
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2020-03-10 20:32:31 +00:00
Keerti Parthasarathy 7f649e9ebc Remove a missed usage of .analysis_options.
Change-Id: I552fa197aa13b1987b6b348295a37d1e61ba7775
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138961
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
2020-03-10 20:30:01 +00:00
Devon Carew 41cb842cb2 [dartdev] address a few analysis issues
Change-Id: I546a88aeed31a3e7349a45825087e3bed4720559
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138913
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-03-10 20:07:51 +00:00
Jaime Wren 699f4b7395 Add additional metrics into the completion metrics algorithm, MRR broken apart by type member completions, and non-type member completions
Change-Id: I5fd0c6b0ac1f9f0450ba630964e335488046a698
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138912
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2020-03-10 19:48:21 +00:00
Sigmund Cherem 2c68152847 [ddc] cleanup: use Never direclty in nnbd tests
Change-Id: I67aceaccb819ad6033bdb9c7d9870b05859c1064
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138900
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-03-10 19:13:33 +00:00
Konstantin Shcheglov 9a0c09ecb2 Track definitely unassigned variables.
Change-Id: Id610a133912605f9af63222f25408942420cbf1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138881
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-03-10 18:35:40 +00:00
Joshua Litt 43dafefa15 [dart2js] Fix bug with constant ordering and nnbd.
Change-Id: I8fd1a0b50f793dc3dec4b3a9a1fd127fb6ebb288
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138908
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-03-10 18:30:20 +00:00
Vijay Menon 73347e0cad [dartdevc] record metrics
Embeds metrics in generated JS code to measure code size / load times.

Change-Id: I13b2b3cb458af571702c4f559af8b9c9b35a7562
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138891
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-03-10 18:19:50 +00:00
Leaf Petersen f34fa57d98 Update null aware subscript test
Change-Id: Ib3a37f575906c125b850fa82732595f1532c9d9e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138721
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-03-10 17:41:51 +00:00
Brian Wilkerson d673c176ae Start implementing new relevance scores for members of a type
Change-Id: I5594da6c9f1b71d239593131c02b5b10a57a4725
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138907
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-03-10 17:28:51 +00:00
Sam Rawlins 654a31c9bc Improve trial_migration stats
Change-Id: Iff65ac375e15dc9077fea81fbc86bee264ccc4d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138904
Reviewed-by: Janice Collins <jcollins@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2020-03-10 17:04:30 +00:00
Ryan Macnak e8f27551e5 [vm, gc] Add some high-level documentation of write barrier elimination.
Change-Id: Ied50ccd2847f7a7ded7ad8dfe25413208e13f324
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138788
Reviewed-by: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-03-10 16:50:20 +00:00
Joshua Litt 97674262bc [dart2js] Fix type argument with nnbd and extractTypeArguments.
Change-Id: I2acd8778797301b759b74232406a30b072fe07bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138807
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-03-10 16:10:35 +00:00
Martin Kustermann ed2092e786 [vm] Add TFA transformer expectation files for unboxing metadata
Issue https://github.com/dart-lang/sdk/issues/33549

Change-Id: Ib1c040390d4de9a00a2a1ed3ae42bb1aa10456a7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138922
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2020-03-10 16:06:10 +00:00
Mark Zhou 44a4f366e2 [sdk] Updating Stream.contains to accept null values.
Change-Id: Icdb4e3fb04625b8e0ffabe1214b196cd7a9eb1ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138888
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
2020-03-10 15:58:26 +00:00
Alexander Markov 7e0139e0c0 [vm/corelib] Improve performance of list copying
With NNBD core libraries:
ListCopy.toList.100(RunTime) 4129 -> 2376 us.

With default core libraries:
ListCopy.toList.100(RunTime) 3006 -> 2140 us.

Issue: https://github.com/dart-lang/sdk/issues/40917
Change-Id: I7a319b6a150eeb5c4765c299dd45638bed2b4406
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138720
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-03-10 15:58:06 +00:00
Mark Zhou ec8941b189 [dartdevc] Hoisting subtype caches to addTypeCaches.
This lets us avoid some runtime polymorphicity of JS objects.

Contains a subset of optimizations in https://dart-review.googlesource.com/c/sdk/+/136845

Change-Id: I6cdcf6c58a51074ad860ea225db512f28fff5436
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138564
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-03-10 15:57:08 +00:00
Konstantin Shcheglov f5a6554635 Move 'thisType' to ResolverVisitor.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/40932
Change-Id: Ie0fd3554fcb1f8baa3944bd6805ac72f0b76da61
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138841
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-03-10 15:50:20 +00:00
Konstantin Shcheglov b311a0052e Fixes REMOVE_UNUSED_FIELD and optional field formal parameters.
R=brianwilkerson@google.com

Change-Id: I15587001262ed70fb6e4b740fee12542acb6b1a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138905
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-03-10 15:50:00 +00:00
Martin Kustermann c83c9b40c5 [vm] Implement toString() for unboxing metadata, only write unboxing metadata if not fully boxed (which is default)
Change-Id: Idf9911551609e063b6ad22f58cc3e3d18ef24ed9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138806
Auto-Submit: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2020-03-10 13:51:51 +00:00
Jens Johansen 7ac22948e5 [CFE] More error for type variable in static contexts
Bug: 40918
Change-Id: Ibd7efa6618ea732a42bfb0042d5e9ef9bc8c0d8f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138803
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-03-10 13:26:30 +00:00
Martin Kustermann 30a12a349e Revert "Re-land "[vm] Aggressive write-barrier elimination.""
This reverts commit eff1a9ff97.

Reason for revert:
  Causes flaky hits of RELEASE_ASSERT in marker.cc, see b/151131634.

Original change's description:
> Re-land "[vm] Aggressive write-barrier elimination."
> 
> The original revision is in Patchset 3.
> 
> Four bugs were fixed:
> 
> 1. JoinEntryInstr::SuccessorCount() is not the correct way to get the
>    number of successor blocks from the Join block;
>    JoinEntryInstr::last_instruction()->SuccessorCount() must be used
>    instead.
> 
> 2. BitVector::Equals() was non-deterministically returning 'false'
>    for equal vectors.
> 
> 3. All blocks need to be processed at least once during the Analysis
>    phase (not only in the SaveResults phase).
> 
> 4. We were not removing write barriers from StoreIndexed instructions,
>    even though we had support for it.
> 
> This reverts commit 7fd8ad5a2d.
> 
> Fixes https://github.com/dart-lang/sdk/issues/40780
> 
> Change-Id: I9650ec2c547ec49cf88ca0524e14f6c245621f6a
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138086
> Commit-Queue: Samir Jindel <sjindel@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>

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

Change-Id: If9afd84465175fad2431405a97e9293c8bd5e476
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138808
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2020-03-10 10:15:30 +00:00
Konstantin Shcheglov 83378633e1 Add the attachment with the content of the file being analyzed.
Change-Id: I75b1c61e2d04cd5e03ef4375e97ef3c9f4add874
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138384
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-03-10 04:57:20 +00:00
Konstantin Shcheglov bbb449dfa4 Issue 40931. Update inference constraint for T? to be non-nullable.
Bug: https://github.com/dart-lang/sdk/issues/40931
Change-Id: I483c3febad236b366f911f38339c712dd928cfcf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138790
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2020-03-10 02:19:50 +00:00
Kaushlendra Pratap f1369d7896 Updated the invalid Example in num.dart
Closes #35400

Closes https://github.com/dart-lang/sdk/pull/40935
https://github.com/dart-lang/sdk/pull/40935

GitOrigin-RevId: a147cc095cf414431c7c9749a6ea4f53139c02da
Change-Id: I3bbe858e4872be067abc710864fa130ac507ffa2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138792
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-03-10 00:00:25 +00:00
Sam Rawlins b22d3d6294 Add a P2 migration script for null safety migrator
Change-Id: I2cf73ab09d13e205293f8445fd8f858eba125356
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138884
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2020-03-09 22:45:45 +00:00
Sigmund Cherem db378a2f0d [ddc] let compiler generate instanceof and == of types directly.
Change-Id: I87cb00cc4592125001d50505e9023c2ab45d95c4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138722
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
2020-03-09 22:38:20 +00:00
Sigmund Cherem 617b78a014 [ddc] do not add null checks for parameters marked as @notNull
Unlike non-nullable types, the purpose of the annotation in
our runtime is to ensure we don't generate extra checks. This
should remove a few nullFailed calls in the generated sdk.

Change-Id: I7b8ac012a6cfa5f8baf2667d89185e7540320ec2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138783
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-03-09 22:38:20 +00:00
Joshua Litt 2ae10b14a3 [dart2js] Fix nullability of native methods.
Change-Id: Ie7228802f7d7c3c8c7be174b60714d232e5bfa81
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138604
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2020-03-09 22:37:40 +00:00
Ben Konyi b01cb58320 Revert "Re-land "[vm] Add type to _AsyncAwaitCompleter.start.""
This reverts commit 4049ab54e4.

Reason for revert: Appears to break standalone_2/dwarf_stack_trace_test and other related tests.

https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket.appspot.com/8886276259895791440/+/steps/test_results/0/logs/new_test_failures__logs_/0

Original change's description:
> Re-land "[vm] Add type to _AsyncAwaitCompleter.start."
> 
> We need to relax vm/dart/causal_stacks/async_throws_stack_no_causal_test
> 
> Change-Id: I40c08d432afeac839ce4f49bbf48c3707b23ef7f
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138804
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Commit-Queue: Samir Jindel <sjindel@google.com>

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

Change-Id: Ib77bdb5ba9927cf5a9a588570a5d70641e912aed
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138791
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2020-03-09 22:16:39 +00:00
Paul Berry 043af430c1 Migraiton: Add function names to trace output.
This makes them look a lot more like real stacktraces.

Change-Id: I0c060f72f8676ab6d5c0272532b90931b815fddf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138607
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2020-03-09 22:00:59 +00:00
Jaime Wren 005c5d7b52 Add an additional MMR "Max Rank 5" metric to the output of the completion_metrics.dart
Change-Id: I00ff65853eaef85bd33d76e930d7ba1d39783a14
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138882
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2020-03-09 21:54:20 +00:00
Brian Wilkerson 52ad8dc2d2 Gather metrics on super invocations
This only looks at method invocations and property accessors. It doesn't
look at operator invocations. While it might be interesting, I doubt it
would be significantly different.

Change-Id: I51ffd612fdbf5b60470bd40cbe90f3c2b82fe1e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138883
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-03-09 21:47:40 +00:00
Jaime Wren f5dae48fac Add an ArgParser to completion_metrics.dart in the same manner as relevance_metrics.dart (https://dart-review.googlesource.com/c/sdk/+/138700)
Change-Id: I7a1cc9b6f042cff42b267ceda20233e061d167f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2020-03-09 20:33:30 +00:00
Srujan Gaddam a61e012e93 Migrate html tests using async_minitest and minitest
Move them to async_minitest.

Change-Id: Ibe850b05a838dd64ae62b30c9a979de371b24db6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138741
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-03-09 20:32:49 +00:00
Srujan Gaddam e3070b6f02 Add predicate to async_minitest
Change-Id: Ife13e0f319519d083ff8116eb10756e8d8ec6ba2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138740
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-03-09 20:32:49 +00:00
Konstantin Shcheglov f8792406d8 Extract RemoveUnusedElement and RemoveUnusedField producers.
There is an exception that we see internally, and I'd like to try to
refactor the code a bit.

R=brianwilkerson@google.com

Change-Id: I276e009437fd3cac82391126bde95c73225bca0c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138784
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-03-09 20:06:10 +00:00
Jaime Wren 54e96f6ccf Add the dynamic keyword into additional missing portions of the AST (in method and constructor parameters) in the keyword_contributor.dart
Change-Id: Idd394dc19992fa6406783a53ad50ebf58cf8f60f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138785
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2020-03-09 19:36:34 +00:00
Keerti Parthasarathy 8329bd7ca8 Do not check for '.analysis_options' for default options file in builder.
Change-Id: I9decba4d0db318caedcfd3695f41c127b66f416f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138660
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
2020-03-09 19:31:24 +00:00
Jaime Wren 4f0fb8f9b0 Fix some syntax errors in the Dart code in the keyword_contributor_test.dart
Change-Id: I9ee3e22fd0afc21854f21d4701665cc24f3799df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138786
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2020-03-09 19:28:29 +00:00
Samir Jindel 4049ab54e4 Re-land "[vm] Add type to _AsyncAwaitCompleter.start."
We need to relax vm/dart/causal_stacks/async_throws_stack_no_causal_test

Change-Id: I40c08d432afeac839ce4f49bbf48c3707b23ef7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138804
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2020-03-09 19:23:20 +00:00
Mark Zhou 8fb4645cae [dartdevc] Adding nnbd semantics for static and late fields.
Fixes #40375

Change-Id: I53863291a8c6a3cc694d088311a9e09b9b00a790
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138723
Commit-Queue: Mark Zhou <markzipan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-03-09 19:15:49 +00:00
Sam Rawlins fa2df01895 Null Safety preview: Fix description for uninitialized field
Fixes #40773

Change-Id: I7639364820785f5a877917afbbb62ab9c09eff00
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138781
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2020-03-09 18:34:17 +00:00
Konstantin Shcheglov 24c8021f03 Replace initialize() with declare().
Fixes https://github.com/dart-lang/sdk/issues/38791

Change-Id: I954059160c75de91e1e32fe2f82ebfdc5569d947
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138666
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2020-03-09 18:24:51 +00:00
Brian Wilkerson 9a62df57fa Fix a test to get the analyzer nnbd bot to pass
Change-Id: I5892c245d4aa984c896471bf18cd71362958d0c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138782
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-03-09 17:47:47 +00:00
Alexander Markov f17919b559 [nnbd/corelib] Fix performance regression in _SyncIterator.moveNext
In Iteration.deeptree.syncstar benchmark _SyncIterator.moveNext takes
majority of time. If _moveNextFn is cached in a local variable,
then loading a function object out of _moveNextFn closure is hoisted
out of the loop and executed even if _moveNextFn is not called.
The function and cached moveNextFn are also saved to frame.
This extra code results in a slight slowdown of _SyncIterator.moveNext
when _yieldEachIterator != null.

Iteration.deeptree.syncstar(RunTime) 98877 -> 81541 us
(with NNBD core libraries)

Change-Id: Ieac94e106632f9c923eb72d9221bcdecb52fa652
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138609
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-03-09 16:59:37 +00:00