Commit Graph

64479 Commits

Author SHA1 Message Date
Brian Wilkerson a9f8248bfb Add support for computing fixes in pubspec and manifest files
Change-Id: Ib13f7a529a441cf02d91452ac7507fffdee06161
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99091
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-04-11 13:23:54 +00:00
Jens Johansen 1555594ddb Include a per-library index of owned sources in kernel
This for instance allows the VM to include all patches
(e.g. the previously missing `runtime/lib/date_patch.dart`)
in what's returned from `LoadedScripts()`.

Over time this also allows for `LoadedScripts()` to be simplified and
become faster (it's currently something like O(m + m*n) where m is the
number of results in DictionaryIterator(*this) and n is the number of
returned scripts).

Change-Id: I4b5a6a0fe666b774fc0987d099ed02e81ac97b43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98660
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2019-04-11 12:40:49 +00:00
Jens Johansen 88068ebfe3 Add missing _getLocationInEnclosingFile on Typedef
Change-Id: I81fbef620fd1742fe9a6e6428596718b038b0925
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98462
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-04-11 12:34:04 +00:00
Jens Johansen f919c3985b Proper offstes on mixin classes
Change-Id: I1e7fcdae5713e8017aaf81e87afba20e59b9f789
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98338
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-04-11 12:32:44 +00:00
Jens Johansen 7f3ced4333 Set proper startCharOffset on enum classes
Change-Id: I2edf7b5484e4c0fc9728644c5e1166fb3adcd909
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98353
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-04-11 12:20:44 +00:00
Jens Johansen 6609ea21e2 Proper endoffset on enum classes
Change-Id: Ia6e04b8f84dbe9600d7d9a7fab17cb25e8c5a170
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98345
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-04-11 12:19:44 +00:00
Samir Jindel a7a87df513 [vm/ffi] Replicate transition to/from native code around FFI calls.
Change-Id: I49be874b47b63a0863ed58d26f417cb957b89380
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98463
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-04-11 11:59:54 +00:00
Jens Johansen 460d00616c Better printing of imports
Before a import of, say "hello.dart" was printed as
"import './hello.dart'".
Now instead it is printed as "import 'hello.dart'".

At the same time we get rid of a dependency.

Change-Id: I352f0f507168fde75358704ec9bf0e248bb8179d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98480
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-04-11 11:43:23 +00:00
Jens Johansen fe535ac27c Add missing offset to yield produced by await for
Fixes #36069.
Fixes #28916.

Change-Id: I1acc6b9f0aaba100827749a1f3653f5cc9e4fd2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98665
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-04-11 11:16:13 +00:00
Jens Johansen a190a2762b Allow debugger to stop on comparison to null
E.g. trying to set a breakpoint on the if in this code

```
  if (args == null) {
    print("was null");
  }
  // more code below
```

would actually set a breakpoint on the print, and the breakpoint - unless
the argument is null - would never be hit.

Change-Id: I072abb3bf2783e9f36c8d3ac6be4885ca454db94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98663
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-04-11 10:32:05 +00:00
Daco Harkes 462e03d01e Reland "[vm] Refactor Location to use either dart::Register or dart::host::Register"
Refactoring motivation: go/dart-simulated-ffi

* template Location and PairLocation with <dart::Register, dart::FpuRegister> or <dart::host::Register, dart::host::FpuRegister>
* move RegisterName and FpuRegisterName from assembler to constants
* move methods that are only implemented by Location and not HostLocation out of Location

Change-Id: Ie9aa2dae63380da0cbfb15eacc440537fbed48f8
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-bare-linux-release-simarm-try, vm-kernel-precomp-bare-linux-release-simarm64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try, vm-kernel-precomp-win-release-simarm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98845
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
2019-04-11 10:09:23 +00:00
Martin Kustermann aa9ce0f122 Revert "[vm] Repair the resolver abstraction, take 2."
This reverts commit d79787771e.

Reason for revert:

This caused significant performance regressions on our protobuf_decode* benchmarks (probably on more benchmarks, but we don't yet have results due to some perf infra issue).

To avoid letting the regressions land for downstream users we'll revert it.

We should measure performance impact before landing this again.

Original change's description:
> [vm] Repair the resolver abstraction, take 2.
> 
>  - Move resolution logic that accumulated in the runtime entries into Resolver.
>  - Improve NoSuchMethodError for closures when --no-lazy-dispatchers
>  - Fix concurrent modification of Null class by nullability propagation.
> 
> Change-Id: Ib05b431a289d847785032dda46e1bbcb524b7343
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98428
> Commit-Queue: Ryan Macnak <rmacnak@google.com>
> Reviewed-by: Régis Crelier <regis@google.com>

TBR=rmacnak@google.com,alexmarkov@google.com,regis@google.com

Change-Id: I4f0f0a0d7c6018fc5968aafdce30f6d2e7495059
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99140
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-04-11 09:57:25 +00:00
Martin Kustermann 7cdba2e711 Revert "[vm] Cache method resolution."
This reverts commit 2f0dfd6124.

Reason for revert:
Need to revert this CL in order to revert [0] which had performance regressions.

[0] https://dart-review.googlesource.com/c/sdk/+/98428

Original change's description:
> [vm] Cache method resolution.
> 
> Change-Id: I5b3a9764b6932548ee25823b7dc42011ac292427
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98640
> Commit-Queue: Ryan Macnak <rmacnak@google.com>
> Reviewed-by: Régis Crelier <regis@google.com>

TBR=rmacnak@google.com,alexmarkov@google.com,regis@google.com

Change-Id: I2b3367e38103437a74124d129ff0b357058a5a57
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99160
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-04-11 09:53:04 +00:00
Jens Johansen 51433e65cc Compile flutter tests via the sdk
This CL includes:
* A dart script that - given a flutter checkout - finds and compiles
  tests to ensure we actually can.
* A shell script that checks out flutter, compiles the platform
  (to cope with any changes to the kernel format) and runs the above
  script.

Change-Id: I02806a375943361c3c111d9aa12a76d745391ca3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98140
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-04-11 08:38:53 +00:00
Konstantin Shcheglov 318967456c Resolve constructor initializers.
R=brianwilkerson@google.com

Change-Id: I55101108af0e63f23d3af89a3cb23dc5e46e6392
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98877
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-11 06:07:43 +00:00
Régis Crelier bed1bab2cd [vm/interpreter] remove assumptions about alignment of bytecode instructions.
A pc value of -1 marks an interpreter entry frame.
Preserving the argument count is not necessary.
VisitPointers now skips pc marker and fp in interpreted frames.
This fixes #36542.

Change-Id: Id752f16ecf08d5a882e44dd2b2aa9d86534b7b4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98986
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-04-11 02:01:03 +00:00
Ryan Macnak 2f0dfd6124 [vm] Cache method resolution.
Change-Id: I5b3a9764b6932548ee25823b7dc42011ac292427
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98640
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2019-04-11 00:58:43 +00:00
Ryan Macnak 1685ac3683 [vm] Reimplement COMPILE_ASSERT with static_assert for nicer error messages from the C++ compiler.
Since COMPILE_ASSERT was originally authored, we have moved to requiring C++11 support.

Change-Id: I8cd5f720d2350cb28d0363fbd9399c4f864d66d7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99104
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-04-11 00:47:13 +00:00
pq b6f8c717f0 update lint error code associations
Change-Id: I2918958494c3ffebced64de7a398544f72f78b08
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99103
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-04-11 00:26:33 +00:00
Sigmund Cherem 5cc9455b65 scanner-tool: add explicit command-line arguments to enable printing tokens
This will be used instead of -DprintTokens=true.

Context: we use this tool in bazel where we use a modular pipeline. That
pipeline will no longer support dart environment variables due to
https://github.com/dart-lang/sdk/issues/36513.

In this specific file the intent was anyways to pass an option when
launching the program, so a command-line option is appropriate IMO.

Change-Id: I5187190a01afe59aef57ec6a7311b1e380313a81
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99102
Reviewed-by: Ari Aye <ariaye@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-04-10 22:57:04 +00:00
Ryan Macnak 9e279a5054 [vm] Dart_Cleanup: wait for outstanding vm-service and kernel isolate spawns.
Also make the ServiceIsolate and KernelIsolate implementations more similar.

Bug: https://github.com/dart-lang/sdk/issues/36502
Change-Id: Ief494600e938d9edb9d316bd6708c445694290a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98867
Reviewed-by: Chinmay Garde <chinmaygarde@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2019-04-10 22:55:20 +00:00
pq 385129e2fa bump to linter 0.1.86
Change-Id: I7b0fffbc8b7df0e43dac6be91430df9ffebd01ae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99086
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-04-10 22:09:03 +00:00
Ryan Macnak d79787771e [vm] Repair the resolver abstraction, take 2.
- Move resolution logic that accumulated in the runtime entries into Resolver.
 - Improve NoSuchMethodError for closures when --no-lazy-dispatchers
 - Fix concurrent modification of Null class by nullability propagation.

Change-Id: Ib05b431a289d847785032dda46e1bbcb524b7343
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98428
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2019-04-10 21:57:43 +00:00
Alexander Markov ebd13e891f [vm/bytecode] Add UncheckedInterfaceCall instruction
dart --use-bytecode-compiler NavierStokes.dart
Before: NavierStokes(RunTime): 8909.053017777778 us.
After: NavierStokes(RunTime): 7221.510314079423 us.

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

Change-Id: Ib1be4dd20cdc25e3b979a91a098f67a7bc00df8a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98945
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2019-04-10 21:49:23 +00:00
Alexander Markov 1dd820158b [vm/bytecode] Avoid crashes when trying to collect token positions without AST
This is a temporary workaround for VM crashes when using observatory
in bytecode modes. Crashes heppen when CollectTokenPositionsFor
tries to access kernel AST (via kernel_offset()) but there isn't one.

Change-Id: I4c4dbb84653957c2f276f62216c12b58d2d666c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99084
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-04-10 21:20:43 +00:00
Mayank Patke ab66a3808b Add more JS subtyping semantics to CFE constant evaluator.
If we're targeting a JS backend, `isSubtype` considers every int to be a
double. We need to additionally allow any integer-valued double to be an
int. This mainly allows us to handle signed zeroes correctly.

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

Change-Id: I00d1e693bb3f1268ac100a76c9bec8fcc612b182
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99101
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-04-10 21:09:03 +00:00
Aart Bik 585debbb2e [dart/fuzzer] Exclude process info from API table
Rationale:
Yields false divergences only.

https://github.com/dart-lang/sdk/issues/36560

Change-Id: I48e32e06b453bab0aeba22ee214ec201ebd34229
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99083
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-10 21:05:12 +00:00
asiva 2cde9c05ee [VM] Better error messages when unexpected constant tags are seen in the kernel reader.
This should fix https://github.com/dart-lang/sdk/issues/36490

Change-Id: I07491dfdb9ed55ebb1e09345c2ea4e051298f307
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99082
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-04-10 20:49:43 +00:00
Brian Wilkerson 17f5d2d757 Add assists to inline add and addAll
Change-Id: Ie085fd10ffe533fae8a0c5f6325d081a118adc39
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99040
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-04-10 20:40:33 +00:00
Alexander Thomas 8bffea0fa4 [infra] Ensure all message are written before exiting test.py
Closing the DebugLogger ensures that any buffered messages are flushed
before mulittest.dart calls exit().

Change-Id: If55629bae2fcc518c566c60ba4bd9aa9fddae65e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98678
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2019-04-10 20:39:03 +00:00
Alexander Aprelev 72b7e95c74 [vm/service] Give service isolate name.
This is follow-up to https://dart-review.googlesource.com/c/sdk/+/97845.

Change-Id: I8cfdb047eb68ae24315763ea05252db5f98a654d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99100
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2019-04-10 19:50:29 +00:00
Ben Konyi 92c9f124c3 [ VM / Service ] Fixed HTTP requests to the VM service not working correctly with authentication codes
Change-Id: Ibbf9edb58b9e1f83b31ff876d2da4ef327ea1dab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99081
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2019-04-10 19:41:59 +00:00
Aart Bik 9876e92c7d [dart/vm] Support OSR on non-empty expression stack
Rationale:
This enables OSR even in the presence of block expressions,
which are introduced by the new CFE control-flow collections
and spread operations. Faster is better!

https://github.com/dart-lang/sdk/issues/36421
https://github.com/dart-lang/sdk/issues/36218
https://github.com/dart-lang/sdk/issues/36214

Change-Id: I363a0b0a5becbbd5743f8fb47ff24dcebc0e4d64
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98744
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-04-10 19:40:49 +00:00
Aart Bik dc606ef02f [dart/fuzzer] Exclude 'pid' from API table
Rationale:
Yields false divergences only.

https://github.com/dart-lang/sdk/issues/36560

Change-Id: I68133e2b076e1da1b094d79512a281093b093a91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99080
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-10 19:04:59 +00:00
Ryan Macnak f819c866e7 [vm, interpreter] Handle method extractors as a bytecode.
Bug: https://github.com/dart-lang/sdk/issues/36410
Change-Id: Ifb803d88456227ce03f43b285b4d950c75ae379e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98947
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-04-10 18:24:36 +00:00
Brian Wilkerson 5735bde143 Fix a test to fix the windows bot
Change-Id: Ifcf60eda337a8dea149fb9c9eeec9efca477e885
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99041
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-04-10 17:16:16 +00:00
Alexander Markov 75a529f115 [vm/tests] Improve usability of pkg/vm tests
Fixes https://github.com/dart-lang/sdk/issues/36468

Change-Id: I7deecb1a4ef5cb337056049cdcf4781020a07a5d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98946
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-04-10 15:24:36 +00:00
Kevin Millikin ac02811081 [cfe] Allow expression compilation with constant-update-2018
Allow expressions to be compiled by the VM but without evaluating
constants.  This will use the VM's C++ constant evaluator.

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

Change-Id: Icd6e769e53db5d211a083d1f5cff7ddf88cc4da2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98675
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-04-10 14:13:56 +00:00
Paul Berry 5ed4cdac5d Remove unused import
Change-Id: I295192ea5885a283210e3530be77cf68bc202945
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98950
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-10 13:23:56 +00:00
Samir Jindel f4e63990cb [vm/ffi] Support FFI on ARM32.
Fixes dartbug.com/36311.
Addresses dartbug.com/35760.

Change-Id: Ib6c4db69f31dfb5317e4162b80d3e30a996e3a2e
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-ffi-android-release-arm-try,vm-ffi-android-product-arm-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97631
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2019-04-10 13:15:16 +00:00
Samir Jindel 409b68a4ce [vm] Mark type_feedback_test as Slow.
Even when it passes, it often reaches close to the timeout threshold.

Change-Id: Ifab28dc013e628e78c54c0fd65a8feb4079c83a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99024
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2019-04-10 12:49:56 +00:00
Samir Jindel 773bea1774 [vm] Mark compilation_trace_test as Slow.
Even when it passes, it often reaches close to the timeout threshold.

Change-Id: I7bd668fe41c287c39554a8bece43c2061884131c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99023
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2019-04-10 12:48:36 +00:00
Daco Harkes 741b1f501f [vm/dbc] Implement CheckNull for DBC and enable optimizations
Closes: https://github.com/dart-lang/sdk/issues/36457

Change-Id: I20277a192456c91ff5d22929e4f4d9856ac6c176
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-simdbc64-try, vm-kernel-linux-release-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-mac-release-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-reload-mac-release-simdbc64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98673
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2019-04-10 11:40:16 +00:00
Dmitry Stefantsov 4ab4545ff7 [cfe] Add type and file offset to constant expressions
Closes #36471.

Bug: http://dartbug.com/36471
Change-Id: I5ac294057f2f69f1a8edfdf1106f65908fc257ff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98677
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-04-10 09:55:36 +00:00
Sergey G. Grekhov 66477b9fcf [co19] DEPS file updated
Change-Id: Iba9bb0fcffa27730cbceb0970177323503151ab7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98851
Reviewed-by: Alexander Thomas <athom@google.com>
2019-04-10 08:22:32 +00:00
Jacob MacDonald edc6f88168 Use compiler context when serializing components and performing transformations.
Without this, if an error occurs during serialization you get this message:

```
Internal problem: Compiler cannot run without a compiler context.

```

Instead of the real error.

Change-Id: I016ec0923a2e01b68f850988724be9d30179f78d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98740
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Auto-Submit: Jake Macdonald <jakemac@google.com>
2019-04-10 06:26:33 +00:00
Brian Wilkerson 523e3789e0 Add support for providing fixes in analysis options files
Change-Id: I6c9a0a0624201538a90608c2eff9cff7b6cdb4b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98870
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-04-10 03:39:40 +00:00
Aart Bik b76694386a [dart/fuzzer] Exclude Platform from API table
Rationale:
Using Platform strings and other features is
too subject to divergences between the different
execution modes. Nothing useful is tested here.
Change-Id: Icb96b0a6891d1b45b831fb17fa1d9d2cd7b77b6f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98948
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-10 01:07:51 +00:00
Mayank Patke 919461badd Ensure boolified SSA nodes are non-null first.
Fixes https://github.com/dart-lang/sdk/issues/34147.

The Dart language specification says we should ensure booleans are
non-null in the following (non-exhaustive) situations:
* (ternary) conditional expressions - this includes the `!` operator
since `!x` is equivalent to `x ? false : true`
* arguments to logical boolean expressions (`||` and `&&`), modulo
short-circuiting
* `if` conditions
* `for` loop conditions
* `while` conditions
* `do`/`while` conditions

With control-flow-collections enabled, this CL will also cover
conditions in `if` elements and `for` elements. Tests for these already
exist in
language_2/control_flow_collections/{if,for}_null_condition_test.dart.

Change-Id: I2ce9a30adeb16a0a68411f358f69aeca08656dab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98780
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-04-10 00:28:10 +00:00
Devon Carew 1bc1e483e0 Fix a typo in the service protocol docs.
Change-Id: Ib2299023c8284e39976cbf8bae8d0edf2a13d330
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98800
Reviewed-by: Ben Konyi <bkonyi@google.com>
2019-04-09 23:31:21 +00:00