Commit graph

21915 commits

Author SHA1 Message Date
Konstantin Shcheglov e7e8786670 Replace MockSDK in analyzer_plugin to fix its tests on Windows.
I copied it from analyzer.

R=brianwilkerson@google.com

Change-Id: I6f39e4fca67deea9e0d0947cad2ff945feef09cf
Reviewed-on: https://dart-review.googlesource.com/77262
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-09-30 17:07:51 +00:00
Konstantin Shcheglov 24208552ff Fix analyzer_cli tests on Windows.
Change-Id: I2fa5b38ed8cad00e198ec4b5ea7dbc44ec3288cb
Reviewed-on: https://dart-review.googlesource.com/77261
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-09-30 17:06:10 +00:00
Brian Wilkerson 5bcf91d973 Remove some dead code
Change-Id: Ida5c2ad29f943d676a6f16a51d66892b037ad099
Reviewed-on: https://dart-review.googlesource.com/77240
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-09-30 16:32:38 +00:00
Konstantin Shcheglov fc130a0477 Extract ConstantVerifier.
R=brianwilkerson@google.com

Change-Id: I592447f443c7961aef10fbde260897864d5f9ddd
Reviewed-on: https://dart-review.googlesource.com/77244
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-09-29 18:16:04 +00:00
Konstantin Shcheglov fc96edc1ce Don't use AstRewriteVisitor in resynthesizer, build InstanceCreationExpression as we build expressions.
This makes the benchmark I'm using now about 15% faster.

The benchmark keeps unlinked and linked summaries in ByteStore.
After computing errors, it removes *.resolved keys.
So, the next cycle only reads file contents, performs resolution,
and computes errors.
This helps to make profiling results more focused.

Before: Computed errors in 28202 ms.
After: Computed errors in 24025 ms.

/Users/scheglov/Source/flutter/examples/flutter_gallery

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

    files: 708
/Users/scheglov/Source/flutter/examples/hello_world
    files: 49
/Users/scheglov/Source/flutter/examples/stocks
    files: 69
/Users/scheglov/Source/flutter/packages/flutter
    files: 911
/Users/scheglov/Source/flutter/packages/flutter_test
    files: 34
/Users/scheglov/Source/flutter/packages/flutter_tools
    files: 416
Change-Id: Ibcc36d60d6ffbab064e96fad5e44ed0a9bfcb929
Reviewed-on: https://dart-review.googlesource.com/77242
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-09-29 18:05:45 +00:00
Konstantin Shcheglov 25c659934a Change ResourceUriResolver to accept any file URI.
We don't really need to check that the corresponding resource is
a file. Now it is a file, or a directory, the moment later it is not.
We will try to read it, if we can - fine, if not - it does not exist.

This makes my Flutter analysis benchmark about 3% faster.

R=brianwilkerson@google.com

Change-Id: I955be276c7a694a408c70f8f2d47dce75594ebc8
Reviewed-on: https://dart-review.googlesource.com/77243
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-09-29 17:23:00 +00:00
Brian Wilkerson 6c577f0620 Deprecate Element.isVirtual
Change-Id: I987ba5fbe847c961d698692e0e8b6c98cdbfb30c
Reviewed-on: https://dart-review.googlesource.com/77230
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-09-29 15:43:43 +00:00
Konstantin Shcheglov 5db21a7998 Tentatively re-enable PhysicalResourceProviderTest.
It still might be flaky and fail sometimes.
I will observe it, and if it is, I will extract file watching into
a separate suite, marked as flaky.

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

Bug: https://github.com/dart-lang/sdk/issues/25472
Change-Id: I82eadc7976f8f813cfaa1457735dee285a12aebd
Reviewed-on: https://dart-review.googlesource.com/77229
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-09-29 00:31:23 +00:00
Alexander Markov c78f67cc7e [vm/aot] Use TFA to detect dynamic, non-this and tear-off uses
TFA is improved to detect if a method was called using dynamic selector,
was ever called not via this, and whether the tear-off was taken.
This information is used to remove parameter type checks in AOT.

Less accurate selector-based analysis, which was used previously to get
this information, is now used only if TFA is disabled.

Also, precompiler is improved to omit method extractors and implicit
closure functions if analysis proved that tear-off is not taken.

Flutter gallery snapshot size: -0.8%

Change-Id: Iec01257dfdc78104752104df14e2ce078d326a96
Reviewed-on: https://dart-review.googlesource.com/77005
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-09-28 23:49:09 +00:00
Johnni Winther 41a875f420 Fix (super)mixins issues
Change-Id: I5892f2fec7fc7b7449fb600c74e4d105dc0f4bbe
Reviewed-on: https://dart-review.googlesource.com/77180
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Auto-Submit: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-09-28 23:03:24 +00:00
Brian Wilkerson da3e844cac Fix potential cast exceptions
Change-Id: I38f5565495b30393e0e559fe7fcae4c8bc247162
Reviewed-on: https://dart-review.googlesource.com/77226
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-09-28 22:06:24 +00:00
Konstantin Shcheglov 1bceca91b0 Remove the 'name' constructor parameter from CompilationUnitElementImpl()
It costed us about 1.2% of total analysis time.
The whole information about a unit is available in its Source.

R=brianwilkerson@google.com

Change-Id: Iffa253d1eae1a466c10766f66c6c677e19be124a
Reviewed-on: https://dart-review.googlesource.com/77220
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-09-28 21:53:24 +00:00
Alexander Markov deb0645654 [vm/bytecode] Cleanup unused bytecode instructions
Change-Id: I956525dbeb3fdcb4b65a5530dbb59a96b4a02e81
Reviewed-on: https://dart-review.googlesource.com/77224
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-09-28 21:23:22 +00:00
Johnni Winther 085a63d2e7 Handle generic redirecting generative constructors
Closes #34479

Change-Id: I47f90891fa04d121ed2c3a10878b969b0f95729d
Reviewed-on: https://dart-review.googlesource.com/77062
Auto-Submit: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-09-28 20:33:10 +00:00
Konstantin Shcheglov 749cf15dcf Fix tests failing on Windows.
R=brianwilkerson@google.com

Change-Id: I72f01b89e03a3269cab9c8a33cbfb45c0bd13d72
Reviewed-on: https://dart-review.googlesource.com/77223
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-09-28 20:20:36 +00:00
Konstantin Shcheglov af3337fbec Expose byteStore/performanceLog and AnalysisDriver from implementation.
I'd like to use these non-APIs in my benchmarks.

R=brianwilkerson@google.com

Change-Id: Ia85081dd6ccdfed9478a34459aadc8e802ff1072
Reviewed-on: https://dart-review.googlesource.com/77161
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-09-28 20:12:55 +00:00
danrubel a73e0a840a Fix parsing partial named constructor
Fix https://github.com/dart-lang/sdk/issues/34614

Change-Id: I22d96780a32bc58f83e81c5c9d01c6c4992be581
Reviewed-on: https://dart-review.googlesource.com/77200
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-09-28 19:53:10 +00:00
Konstantin Shcheglov 7298790ca6 Remove an invalid test from PhysicalResourceProviderTest.
TBR

This does not fix Windows bot, but I think will help for the Mac one.

Change-Id: I13d7914e60492e4865827e6c06359440aeeff29a
Reviewed-on: https://dart-review.googlesource.com/77221
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-09-28 19:03:01 +00:00
danrubel 54f426c273 Auto-generate more analyzer error codes
Change-Id: Ib8e2b194bd101dcd17e2ceefd38aae03056afa5b
Reviewed-on: https://dart-review.googlesource.com/77141
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-09-28 17:26:29 +00:00
Konstantin Shcheglov 9c585bf5df Document that ResourceProvider requires absolute, normalized paths, and enforce this.
This allows us to avoid performing normalization, and work with paths
as is. So, this speeds up SourceFactoryImpl.restoreUri() from 7.5% to 3.7%

R=brianwilkerson@google.com

Change-Id: I085f3db40af6543fbb524a82fad48aa051e87937
Reviewed-on: https://dart-review.googlesource.com/77017
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-09-28 17:18:49 +00:00
danrubel 7c7417e170 Improve fasta parser mixin and class header recovery
This updates the parser to recover when
* 'extend' or 'extends' is used rather than 'on' in a mixin declaration
* 'extend' or 'on' is used rather then 'extends' in a class declaration

This also introduces a new ExpectedInstead error message to better
communicate to the developer the keyword that should be used.

Fix https://github.com/dart-lang/sdk/issues/34563

Change-Id: Iafcb3d18db8ca3898c1e4dae74e5124c108ead48
Reviewed-on: https://dart-review.googlesource.com/77140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-09-28 17:11:49 +00:00
Alexander Markov 2aac05fe10 [vm/bytecode] Add specialized JumpIf* instructions
This change adds JumpIfEqStrict, JumpIfNeStrict, JumpIfTrue, JumpIfFalse,
JumpIfNull, JumpIfNotNull bytecode instructions. These instructions
supercede If*/Jump instruction patterns.

Change-Id: Icf9dc624001ce64d4b21409864591d693ead51d3
Reviewed-on: https://dart-review.googlesource.com/77011
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-09-28 16:29:23 +00:00
Peter von der Ahé 3f1955a97b Improve diagnostics about duplication in enums
Change-Id: I20f8ab79a8dbe6f2604f64cc26c2a91f46fcd2c2
Reviewed-on: https://dart-review.googlesource.com/76600
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Auto-Submit: Peter von der Ahé <ahe@google.com>
2018-09-28 12:36:55 +00:00
Peter von der Ahé 8bf0e8e434 Document distance calculation in diet listener.
Change-Id: I6f9741c545c554ecdb62a19aeb85562213b86b13
Reviewed-on: https://dart-review.googlesource.com/76601
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-09-28 12:02:20 +00:00
Kevin Millikin dc2787a471 Remove parameterization of type inference
This is currently unused.  We might eventually resurrect it in some
form, but for now it is not doing anything for us.

Change-Id: Ib029fa8589b345bcf44a048a8c492fce9717e034
Reviewed-on: https://dart-review.googlesource.com/77061
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-09-28 09:48:31 +00:00
Peter von der Ahé 8ef3258e59 Remove _ConstantExpressionError
Change-Id: I0f7c590e826d9516d7b916cb6e39fd67eab97997
Reviewed-on: https://dart-review.googlesource.com/76662
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-09-28 08:41:53 +00:00
Peter von der Ahé 08a549d0ec Update messages_tests wrt multiple analyzer codes
Change-Id: Ie89b41be2d07bc7ca1a53dc691d0fcf71a7ee0dc
Reviewed-on: https://dart-review.googlesource.com/77040
Auto-Submit: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-09-28 07:18:27 +00:00
Jenny Messerly cfe9202393 [dartdevc] fix dart:mirrors type information for generic functions
This regressed in https://dart-review.googlesource.com/c/74664/.
In Analyzer FunctionType.typeFormals returns TypeParameterElements
instead of TypeParameterTypes; it is not safe to assume non-null bound
for elements.

Also fixes & clarifies the intent of _canEmitTypeAtTopLevel (formerly
_typeIsLoaded). There was no reason to visit the typeFormals, as generic
function types can always be emitted into the module.

Change-Id: Ia8b9271c2d1b66dca934d032dcbbe4fe89146f1b
Reviewed-on: https://dart-review.googlesource.com/76746
Reviewed-by: Alan Knight <alanknight@google.com>
2018-09-27 22:56:51 +00:00
Konstantin Shcheglov fa3d8fa567 Don't check for the file presence in transitive sets when we are just creating it.
Profiler showed that it was about 5% of total Flutter repo analysis time.

R=brianwilkerson@google.com

Change-Id: I172b93aaf4c25dec2de7798249984f2ef493807c
Reviewed-on: https://dart-review.googlesource.com/77008
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-09-27 22:01:30 +00:00
Dan Rubel 0518b334ba Address comments
Address comments in https://dart-review.googlesource.com/c/sdk/+/77021

Change-Id: I2a603d77002933692e6b14deba68b227cf4981e3
Reviewed-on: https://dart-review.googlesource.com/77023
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-09-27 21:24:53 +00:00
Dan Rubel 7c46a28505 Update convert class to mixin assist to remove "abstract"
Change-Id: I27ff36228b6c93d13a2f6d5f0a4c15414c130687
Reviewed-on: https://dart-review.googlesource.com/77022
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-09-27 21:07:03 +00:00
Konstantin Shcheglov 06744c68b2 Pull reporting for unimplemented inherited members, and declared abstract members from ErrorVerifier.
When we need to check that the concrete implementation is valid for
the class interface, we already know whether we have the required
concrete implementation, or if it is left abstract. So, we can report
corresponding errors without additional computation.

R=brianwilkerson@google.com

Change-Id: Ib6d19bab024572c26853c16f22adb8a545a2e304
Reviewed-on: https://dart-review.googlesource.com/77006
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-09-27 21:01:12 +00:00
Dan Rubel 45c7e4365c Update dartfix to apply changes to file rather than displaying them
This CL updates dartfix to make the recommended changes after
prompting the user to confirm that these changes should be made.
If the source contains errors that might affect the correctness
of the automatically applied fixes, then a warning is issued
before prompting the user.

This CL also addresses comments in
https://dart-review.googlesource.com/c/sdk/+/77020

Change-Id: Ie609247616dd033aa16af8d7e6e38a9eb4cbf0d0
Reviewed-on: https://dart-review.googlesource.com/77021
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-09-27 20:59:02 +00:00
Jenny Messerly 9ad59bada2 [dartdevc] fix #34358, int to double conversion for literals
Also fix #34360 by addressing a few remaining Analyzer issues.

Change-Id: Iac3d9ba72aa370846fced3654a376899b5938152
Reviewed-on: https://dart-review.googlesource.com/76343
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2018-09-27 20:15:20 +00:00
Dan Rubel edddc0ba58 Generate source changes for converting class to mixin
This uses the AssistProcessor to generate the source changes
and pass them to the client. In a subsequent CL, the client
will apply those changes instead of displaying them.

Additionally, this CL addresses comments in
* https://dart-review.googlesource.com/c/sdk/+/76760
* https://dart-review.googlesource.com/c/sdk/+/76520

Change-Id: I1e9cb4e079ec79a06db4c4d04a062c71107c0f21
Reviewed-on: https://dart-review.googlesource.com/77020
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-09-27 19:32:20 +00:00
Alexandre Ardhuin 51b8fc7bb0 AwaitExpression.precedence => 14
Fixes #34597

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

GitOrigin-RevId: d691e0b7733034a22d2d22e436d69f32d04e7df1
Change-Id: I63985683ee492f6a2dd60f0b4cc41437c6a65d65
Reviewed-on: https://dart-review.googlesource.com/76880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-09-27 16:24:05 +00:00
Brian Wilkerson 2390b3605f Create a package for shared diagnostics
Change-Id: I7e43d4c738a187a608f98f008770b169839de1ce
Reviewed-on: https://dart-review.googlesource.com/76722
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-09-27 16:23:20 +00:00
danrubel 629d76eb46 Simple dartfix that suggests class to be converted to mixins
... and update protocol spec errors generated by edit.dartfix

Change-Id: I3708eb9ffa40f91ff9bf172d20d75346f481e4d8
Reviewed-on: https://dart-review.googlesource.com/76760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-09-27 15:44:45 +00:00
Konstantin Shcheglov 8a2cfd8613 Implement InheritanceManager2.getMember() and use it in some places.
R=brianwilkerson@google.com

Change-Id: I3a778291587a1749e127c4e6cb8b2c8ae3fe00e9
Reviewed-on: https://dart-review.googlesource.com/76801
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-09-27 15:34:49 +00:00
Daniel Hillerström 71eaf3209b Fix broken 'fasta testing sdk'.
This CL fixes some bugs and regressions in the 'fasta testing sdk' tool:

  * Plugs the excessive memory leak in suite.dart (thanks to jensj
    for helping tracking it down)
  * Fixes the signature of MultitestTransformer.bind such that it no
    longer causes a type error to happen at runtime.
  * Removes the code that disallows test name "none".
  * Updates the exclude list in testing.json

Change-Id: Ie850139c2228550c9847883d4fdaed839a052200
Reviewed-on: https://dart-review.googlesource.com/76840
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
2018-09-27 13:08:47 +00:00
Peter von der Ahé b36f4fffc4 Allow multiple analyzer codes
Change-Id: I0f942389f52b8302bac8b1bd0cedee1e35811056
Reviewed-on: https://dart-review.googlesource.com/76940
Auto-Submit: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-09-27 11:52:37 +00:00
Johnni Winther 82b3501c3c Fix supermixin handling in dart2js
Change-Id: I77251a1b90f62e1c103f018bdd15a7ae385008ee
Reviewed-on: https://dart-review.googlesource.com/76941
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Auto-Submit: Johnni Winther <johnniwinther@google.com>
2018-09-27 11:44:53 +00:00
Kevin Millikin c9b05d3f1f Allow super calls in mixin declarations
Allow super calls to occur in mixin declarations if they target a
method from any of the superclass constraint interfaces.

Instead of compiling the Dart mixin declaration
    mixin M on S0, S1 {...}
to Kernel:
    abstract class _M&S0&S1 = S0 with S1;
    abstract class M extends _M&S0&S1 { ... }
we compile it to Kernel:
    abstract class _M&S0&S1 implements S0, S1 {}
    abstract class M extends _M&S0&S1 { ... }
because the former is not symmetrical with respect to S0 and S1.  It
will prefer a method from the 'mixin' S1 over one from S0 which can
give a compile-time error if the method from S0 is more general.

Modify mixin inference to support the new compilation of mixin
declarations.  It still has to support old-style VM super mixins until
support for those is removed from the VM.

Change-Id: Ib945aa11cc19c457b07bc802beae10d1663ff6b7
Reviewed-on: https://dart-review.googlesource.com/76141
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-09-27 10:19:30 +00:00
Johnni Winther 225b8d5075 Specialize Object properties in static type computation
This normalizes all accesses of Object properties on dynamic receivers
to target the corresponding Object members.

CFE already set the interface target on for instance `a == b` where `a`
has static type `dynamic` but didn't for the implicit call to `==` in
for instance `a?.b`.

Change-Id: I4f714766ac33a431f5ef645df7ee1bbb254c06ce
Reviewed-on: https://dart-review.googlesource.com/76123
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-09-27 09:51:01 +00:00
Johnni Winther 4a58112a7c Move kernel_impact.dart from ssa/ to kernel/
Change-Id: I284aaea0f2743017ec2d0042de7453f479586f03
Reviewed-on: https://dart-review.googlesource.com/76666
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-09-27 09:00:56 +00:00
Johnni Winther e9c949372e Remove unused parts of J/K*Env classes
Change-Id: I5aa5f5cb5504f5479ab9b18960246fb68b56d02c
Reviewed-on: https://dart-review.googlesource.com/76665
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-09-27 08:17:56 +00:00
Johnni Winther 4659cb9480 Fully split JsToElementMap and KernelToElementMap
- including the first benefit: Removing Class/Member definitions from the K-world.

Change-Id: I440dce2e37758dd276a417851f67a1403f6535a0
Reviewed-on: https://dart-review.googlesource.com/76641
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-09-27 08:17:56 +00:00
Daniel Hillerström a617700b17 Removes code that has become redundant since 98a9adf.
98a9adf696

Change-Id: I7c387e63aa1bbb2c1583952f6e1ada03d8070378
Reviewed-on: https://dart-review.googlesource.com/76663
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
2018-09-27 07:56:30 +00:00
Alexander Markov 5d10974a89 [vm/bytecode] Use _simpleInstanceOf for certain 'is' checks in bytecode
DeltaBlue benchmark, platform with bytecode, pure interpreter mode
(--enable-interpreter --compilation-counter-threshold=-1), best of 5 runs:
Before: DeltaBlue(RunTime): 391061.47400000005 us.
After: DeltaBlue(RunTime): 285747.36557142856 us.

Change-Id: I875f227cf19e0f75687c13910b1d957ee595652b
Reviewed-on: https://dart-review.googlesource.com/76708
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-09-26 21:50:41 +00:00
Alexander Markov 0f5968945c [vm/aot] Do not tree shake type arguments used in constant instances
Change-Id: I2a3c6f8ed8e31ebcbd1329fbf5997d1cad558daf
Reviewed-on: https://dart-review.googlesource.com/76744
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-09-26 21:42:36 +00:00