Commit Graph

43463 Commits

Author SHA1 Message Date
Paul Berry e9915515e1 Disable processed_options_test for dart2js.
This test uses dart:io so it can't run on dart2js.

TBR=danrubel@google.com

Review-Url: https://codereview.chromium.org/2617833005 .
2017-01-06 13:37:45 -08:00
Ben Konyi 9ff7ee6132 Created placeholders for MallocHooks implementation and added define DART_USE_TCMALLOC to specifiy when tcmalloc is available.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2619443002 .
2017-01-06 12:38:11 -08:00
Konstantin Shcheglov d6fdc65220 Run 'Rename Library' refactoring tests with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2614903006 .
2017-01-06 12:33:23 -08:00
Konstantin Shcheglov 05963058d2 Implement search for LibraryElement in its parts.
It's not the most efficient implementation though.
Probably does not matter, search for libraries should be very rare.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2619013003 .
2017-01-06 12:11:41 -08:00
Paul Berry 3800a45ff0 Work around broken analyzer test front_end/test/src/base/processed_options_test
The test is broken due to bug #28236.

TBR=danrubel@google.com

Review-Url: https://codereview.chromium.org/2611123006 .
2017-01-06 11:50:29 -08:00
Paul Berry 1d57e1b096 Extract code from dependency_grapher.dart for easier re-use elsewhere in the front end.
In the process I've made the constructors for Graph, LibraryCycleNode,
and LibraryNode public.  I don't think this should be a problem, since
these are simple data structures, so there is no harm in allowing
clients to create them.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2617483007 .
2017-01-06 11:37:12 -08:00
Konstantin Shcheglov 429379045b Run rename-import tests with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2617213002 .
2017-01-06 11:35:29 -08:00
Emily Fortuna 745c2989f4 Reapply 0c78abd090
"Ensure we're looking at the correct resolved AST when initializing fields in constructors."

BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2614983004 .
2017-01-06 11:01:39 -08:00
Brian Wilkerson 07895169be Remove code duplication
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2618983003 .
2017-01-06 10:55:55 -08:00
Konstantin Shcheglov 31c7cce275 Run refactoring tests with the new analysis driver.
There are some failures because of missing potential search results.

These tests are not updated yet because they have too many problems now.

inline_method_test.dart
move_file_test.dart
rename_import_test.dart
rename_library_test.dart

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2618993003 .
2017-01-06 10:49:34 -08:00
Paul Berry ca271d003e Create a wrapper class to handle CompilerOptions in a uniform way.
R=danrubel@google.com

Review-Url: https://codereview.chromium.org/2618633006 .
2017-01-06 10:40:45 -08:00
Stephen Adams 5305e8685c dart2js-kernel: do not crash on missing const initializers
Compilation will fail, but only after compiling functions that might use the constants.

BUG=
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2612273003 .
2017-01-06 10:34:08 -08:00
Asger Feldthaus 6bae3151e2 Revert "reflectType() dynamic type arguments support (#26012)"
This reverts commit 8a8033a417.

There are a bunch of dart2js mirror tests that fail.

Issue https://github.com/dart-lang/sdk/pull/26012

BUG=

Review-Url: https://codereview.chromium.org/2617163002 .
2017-01-06 19:12:27 +01:00
Paul Berry 848d059581 Add a missing copyright notice.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2611183004 .
2017-01-06 10:03:35 -08:00
Stephen Adams d9b8a3018c dart2js-kernel: Associate irregular calls
BUG=
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2616843006 .
2017-01-06 09:33:21 -08:00
Konstantin Shcheglov c7380f5d14 Run Quick Fixes tests with the new analysis driver.
There is a handful of failing tests though.
I fill triage them in subsequent CLs.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2617833003 .
2017-01-06 09:27:04 -08:00
Konstantin Shcheglov 71fc176b9b Run class/member hierarchy tests with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2618033002 .
2017-01-06 09:24:31 -08:00
Paul Berry d061d39342 Reject patches that change parameter names/types or return types.
R=kmillikin@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2616993002 .
2017-01-06 09:01:26 -08:00
Asger Feldthaus 6d6df75271 Mark html/fileapi_test/entry as flaky on chrome.
Likely related issue: https://github.com/dart-lang/sdk/issues/20488

BUG=
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2615153003 .
2017-01-06 16:51:46 +01:00
William Hesse cfcaf39538 Add to FAKE_COMMITS to trigger github mirror 2017-01-06 15:31:51 +01:00
Anatoly Pulyaevskiy 8a8033a417 reflectType() dynamic type arguments support (#26012)
* Basic implementation of reflecting generic types using dynamic list of type arguments

* Removed redundant expectation in test

* Added basic support for dynamic type arguments in reflectType of js_mirrors

* Fixes according to code review comments: major cleanup, added more test cases and updated docs

* Updated JS mirrors reflectType() to match behavior of VM implementation

* Terminate exception messages with a dot; Improved error handling for empty argument list and type checks;

* Use NumTypeParameters when checking provided argument list size

* Check if type arguments are malbounded; added test cases for typedefs and mixins

* Uncommented a test case

* Updated lib.status to mark some tests as failing in dart2js due to limitations in JS mirrors

* Fixed mixin test mock definition; updated configuration for tests requiring checked mode

* Handle nested generic types in type argument parsing (JS)
2017-01-06 06:05:14 -08:00
Erik Ernst c63f8010df Performed some keyword related clean-ups.
R=lrn@google.com

Review-Url: https://codereview.chromium.org/2609413006 .
2017-01-06 13:53:28 +01:00
Florian Loitsch e0abc45287 Add test that crashes dart2js.
When a typedef compilation fails, it seems to replace itself with a dynamic type. However, that type leads to a crash later in the pipeline.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2607133002 .
2017-01-06 13:27:35 +01:00
Asger Feldthaus 492c6c5b13 Skip language_strong/generic_tearoff_test.
The test passes a generic function value of type <T>(T,T)=>T as argument
to a parameter that expects (int,int)=>int.

DDC implicitly instantiates the function, but this is not seen as the
correct behavior by the language team, so we will not try to reproduce
it.

BUG=
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2610923008 .
2017-01-06 13:11:19 +01:00
Johnni Winther e43c9e732b Disable test for fast-startup.
Review-Url: https://codereview.chromium.org/2618753005 .
2017-01-06 09:41:51 +01:00
Florian Schneider 97acc859cc Make test work with Dartium.
Dartium requires main() to have zero arguments. Standalone VM accepts both.

TBR=asiva@google.com,

Review-Url: https://codereview.chromium.org/2613203002 .
2017-01-05 21:37:10 -08:00
Florian Schneider 86e902ce5a Fix test status of new test for dartk.
TBR=vegorov@google.com

BUG=

Review-Url: https://codereview.chromium.org/2617903003 .
2017-01-05 19:08:09 -08:00
Florian Schneider 4347f9f0a2 Fix test status for hot-reload for a new test
The test uses deferred libraries which are not supported with hot reload.

TBR=johnmccutchan@google.com,

Review-Url: https://codereview.chromium.org/2616053002 .
2017-01-05 18:41:02 -08:00
Florian Schneider 9c82d88d67 VM: Fix bug in deferred loading.
In some cases when loading a deferred library twice, the VM would crash/throw.

Make sure we generate the correct static NoSuchMethod error when referring to
a deferred library that is not loaded yet.

Fixes #28278.

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2618823002 .
2017-01-05 18:20:51 -08:00
Emily Fortuna 5f60d0c3c4 Revert "Ensure we're looking at the correct resolved AST when initializing fields in constructors."
This reverts commit 0c78abd090.

The change to in-memory tests requires a little more finesse than what is written. Backing out to redo.

BUG=

Review-Url: https://codereview.chromium.org/2615173002 .
2017-01-05 17:53:04 -08:00
Konstantin Shcheglov 4e49205c61 Run AssistProcessor tests with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2617833002 .
2017-01-05 16:59:35 -08:00
Bob Nystrom d1030e9be0 Don't hardcode 'dart' as the executable name to spawn.
I don't think it's on the PATH on the buildbots.

R=vsm@google.com

Review-Url: https://codereview.chromium.org/2617013003 .
2017-01-05 16:44:09 -08:00
Emily Fortuna 0c78abd090 Ensure we're looking at the correct resolved AST when initializing fields in constructors.
Step 30 of bagilliondy.

BUG=https://github.com/dart-lang/sdk/issues/27394
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2616933003 .
2017-01-05 16:19:57 -08:00
Stephen Adams 1fc6d58699 dart2js-kernel: map rasta 'read' node in 'field ??= e'
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2610413002 .
2017-01-05 15:58:36 -08:00
pq 69f1cb0ecb Bump DEPS to pull in latest linter ( 0.1.30-alpha.1).
* corresponds to ` 0.1.30-alpha.1`.
* includes invariant_boolean, invariant_booleans mismatch fix.

BUG=
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2619463002 .
2017-01-05 15:44:47 -08:00
Ryan Macnak 9c1702d38a Fix duplication of the megamorphic miss function when running a JIT app snapshot.
1a41627ecc caused isolate start up to incorrectly create a second megamorphic miss function when running from a JIT app snapshot. These caused the code for the one from the snapshot to be collected, and the parser to fail attempting to recompile it.

Fixes #28200

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2616763003 .
2017-01-05 15:34:03 -08:00
Siva Annamalai b583d74608 Add flutter_engine runtime to the test script so we can run standard dart tests from the test suite against the flutter engine on linux/x64
The test suite can be invoked as :
tools/test.py -rflutter --packages=<path_to_packages_dir>/.packages --flutter=<path_to_flutter_engine_workspace>/sky-shell --exclude-suite=pkg

Currently the sky_shell executable does not yet support the proper return
codes:
Success - 0
API error - 253
Compilation error - 254
Unhandled error - 255
Once this is fixed we can start running the tests against our
dart/flutter engine bleeding edge build bot.

R=zra@google.com

Review-Url: https://codereview.chromium.org/2602783002 .
2017-01-05 14:41:27 -08:00
Ben Konyi 4024151adb Added isolate + thread high watermark tracking to Observatory
This is a fixed version of c84f30741c90d040254767ff769a40d2cba3fb1a that
resolves issues with comparing uint and intptr_t.

Original Commit Message:
Added tracking of memory usage inside of threads. In addition, the max memory usage is kept track of using a high watermark for both the threads and the isolates. Isolate high watermark information is updated when a thread exits the isolate. The isolate high watermark consists of the sum of all thread high watermarks (including the high watermark of the exiting thread). High watermark information for both threads and isolates is now visible in the isolate view in the Observatory.

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2610253002 .
2017-01-05 14:24:53 -08:00
Konstantin Shcheglov d2f48ccf58 Make subclasses of AbstractContextTest asynchronous.
As a preliminary step before duplicating them for the new analysis driver.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2614033003 .
2017-01-05 14:21:29 -08:00
Regis Crelier e8d1c09d34 Add mirrors tests for Null type.
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2617743002 .
2017-01-05 13:27:14 -08:00
Konstantin Shcheglov e870bc9872 Fix for summarizing triple slash documentation comments.
R=paulberry@google.com, brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2615013003 .
2017-01-05 12:30:44 -08:00
Konstantin Shcheglov d8c426bb85 Fix for resynthesizing libraries with invalid part URIs.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2615903003 .
2017-01-05 12:26:47 -08:00
Sigmund Cherem 313190029a Fix perf.dart test.
These tests didn't cover much, but I still managed to break them...
TBR=paulberry@google.com

Review-Url: https://codereview.chromium.org/2613113002 .
2017-01-05 12:17:06 -08:00
Sigmund Cherem cc3682f134 fe: minor change to benchmarks to match what the runners expect and some minor refactoring.
I'm happy to split the style/refactorings as separate CLs if you prefer. Here is a summary of the changes:
  - update the reported strings to match the names expected by our benchmark runners ("unlinked summaize + parse" => "unlinked_summarize")
  - invert the benchmark results (like Paul did in 2551533003)
  - stop counting input-size while scanning, count that separately once
  - combine the multiple summarization steps into a single function
  - clean up the logic that dispatches into each benchmark

R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2602003002 .
2017-01-05 11:31:35 -08:00
Siva Annamalai 90750551f2 1. Avoid potential dead lock due to lock-order-inversion
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=3448)
  Cycle in lock order graph: M206 (0x7b18000006c0) => M202 (0x7b0c00000ff0) => M206

  Mutex M202 acquired here while holding mutex M206 in thread T5:
    #0 pthread_mutex_lock <null> (dart+0x00000058e8ee)
    #1 dart::Mutex::Lock() /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/os_thread_linux.cc:274 (dart+0x0000009bd79b)
    #2 MutexLocker /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/lockers.h:61 (dart+0x00000074a007)
    #3 dart::FreeList::TryAllocate(long, bool) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/freelist.cc:65 (dart+0x000000872d2c)
    #4 dart::PageSpace::TryAllocateInternal(long, dart::HeapPage::PageType, dart::PageSpace::GrowthPolicy, bool, bool) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.cc:392 (dart+0x0000009c0180)
    #5 dart::PageSpace::TryAllocate(long, dart::HeapPage::PageType, dart::PageSpace::GrowthPolicy) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.h:195 (dart+0x000000877158)
    #6 dart::Heap::AllocateOld(long, dart::HeapPage::PageType) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.cc:92 (dart+0x000000876f45)
    #7 dart::Heap::Allocate(long, dart::Heap::Space) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.h:67 (dart+0x00000092ab33)

  Mutex M206 acquired here while holding mutex M202 in thread T5:
    #0 pthread_mutex_lock <null> (dart+0x00000058e8ee)
    #1 dart::Monitor::Enter() /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/os_thread_linux.cc:380 (dart+0x0000009be02b)
    #2 MonitorLocker /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/lockers.h:139 (dart+0x000000722f17)
    #3 SweeperTask /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/gc_sweeper.cc:112 (dart+0x000000b3391f)
    #4 dart::GCSweeper::SweepConcurrent(dart::Isolate*, dart::HeapPage*, dart::HeapPage*, dart::FreeList*) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/gc_sweeper.cc:171 (dart+0x000000b336e6)
    #5 dart::PageSpace::MarkSweep(bool) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.cc:952 (dart+0x0000009c1f6b)
    #6 dart::Heap::CollectOldSpaceGarbage(dart::Thread*, dart::Heap::ApiCallbacks, dart::Heap::GCReason) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.cc:401 (dart+0x000000878e11)
    #7 dart::Heap::CollectAllGarbage() /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.cc:444 (dart+0x000000877244)
    #8 dart::Heap::AllocateOld(long, dart::HeapPage::PageType) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.cc:102 (dart+0x000000876fac)
    #9 dart::Heap::Allocate(long, dart::Heap::Space) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.h:67 (dart+0x00000092ab33)

2. Remove unsafe access to usage data for an insignificant ASSERT.
WARNING: ThreadSanitizer: data race (pid=7617)
  Atomic write of size 8 at 0x7b840000fdf0 by thread T4:
    #0 __tsan_atomic64_fetch_add <null> (dart+0x0000005b59e7)
    #1 dart::AtomicOperations::IncrementBy(long*, long) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/atomic_linux.h:30 (dart+0x00000076a235)
    #2 dart::PageSpace::TryAllocateInternal(long, dart::HeapPage::PageType, dart::PageSpace::GrowthPolicy, bool, bool) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.cc:398 (dart+0x0000009c0233)
    #3 dart::PageSpace::TryAllocate(long, dart::HeapPage::PageType, dart::PageSpace::GrowthPolicy) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.h:195 (dart+0x000000877158)
    #4 dart::Heap::AllocateOld(long, dart::HeapPage::PageType) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.cc:82 (dart+0x000000876eec)
    #5 dart::Heap::Allocate(long, dart::Heap::Space) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.h:67 (dart+0x00000092ab33)
    #6 dart::Object::Allocate(long, long, dart::Heap::Space) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/object.cc:1866 (dart+0x00000092dd92)

  Previous read of size 8 at 0x7b840000fdf0 by thread T3:
    #0 dart::PageSpace::TryAllocateInternal(long, dart::HeapPage::PageType, dart::PageSpace::GrowthPolicy, bool, bool) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.cc:426 (dart+0x0000009c026b)
    #1 dart::PageSpace::TryAllocate(long, dart::HeapPage::PageType, dart::PageSpace::GrowthPolicy) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.h:195 (dart+0x000000877158)
    #2 dart::Heap::AllocateOld(long, dart::HeapPage::PageType) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.cc:82 (dart+0x000000876eec)
    #3 dart::Heap::Allocate(long, dart::Heap::Space) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.h:67 (dart+0x00000092ab33)
    #4 dart::Object::Allocate(long, long, dart::Heap::Space) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/object.cc:1866 (dart+0x00000092dd92)
    #5 dart::StackMap::New(long, dart::BitmapBuilder*, long) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/object.cc:12164 (dart+0x00000096796a)

R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2609643002 .
2017-01-05 11:27:10 -08:00
Zach Anderson cf1a432ac7 Gardening: Update status file for kernel crash
I believe this is by design as there are no mirrors in precompiled
mode.

Review-Url: https://codereview.chromium.org/2616793003 .
2017-01-05 11:19:49 -08:00
Konstantin Shcheglov e9794e37b5 Call processOptionsForDriver() before creating the driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2615903002 .
2017-01-05 11:10:01 -08:00
Konstantin Shcheglov e6634d67f4 Issue 28149. Don't include non-Dart file into FileState.
So, these non-Dart files are not include into 'knownFiles', and we
don't attempt to request CompilationUnitElement(s) for them in search.

R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/28149

Review-Url: https://codereview.chromium.org/2613683005 .
2017-01-05 10:55:35 -08:00
Jennifer Messerly 95d5bf471c fix analyzer failing resolve loop variable nodes
for example: `var item; for (item in list) { ... }`

this happens anytime ResolutionCopier is used on these, because it drops the staticElement reference for `item` in the above example.

R=vsm@google.com

Review-Url: https://codereview.chromium.org/2612983002 .
2017-01-05 10:47:43 -08:00
Regis Crelier 4e7ab97a20 Update dartk status file.
Review-Url: https://codereview.chromium.org/2614743005 .
2017-01-05 10:34:33 -08:00