Commit graph

34649 commits

Author SHA1 Message Date
Jacob Richman 1e3fb098d5 TBR. Only the method test group fails. Updated the test expectations file to reflect that.
BUG=

Review URL: https://codereview.chromium.org/1405953006 .
2015-11-04 10:56:30 -08:00
Ryan Macnak f588c1b91b Short check for zero is tst not cmp...
R=fschneider@google.com

Review URL: https://codereview.chromium.org/1431003002 .
2015-11-04 10:54:17 -08:00
Konstantin Shcheglov dee2660831 Publish new analyzer version and use in analysis_server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1408943008 .
2015-11-04 10:33:38 -08:00
Paul Berry 9d550c4a0f Begin generating code for summary serialization/deserialization.
The generated code is not yet used.

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

Review URL: https://codereview.chromium.org/1414903005 .
2015-11-04 10:22:42 -08:00
Konstantin Shcheglov d49d0f7e06 Wait for InstrumentationService.shutdown() before exit(0).
Otherwise we don't get the last portion of instrumentation data in the
file at all.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1413403007 .
2015-11-04 10:08:20 -08:00
Jacob Richman 1ea74a407b TBR: fix status file for html.status. Only expect test to fail when it is actually run (which requires a browser).
BUG=

Review URL: https://codereview.chromium.org/1423623007 .
2015-11-04 09:40:40 -08:00
Ryan Macnak 830bfe61b7 Precompilation: Generate instance calls as IC calls that can switch to Megamoprhic calls.
dart2js ARM -10.3% size

R=fschneider@google.com

Review URL: https://codereview.chromium.org/1418863003 .
2015-11-04 09:31:19 -08:00
pq 9e9b7c0aaf Add Server PID to Server Status page.
BUG=
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1415573012 .
2015-11-04 09:25:42 -08:00
John McCutchan 8269e837e3 Fix simulator builds
BUG=

Review URL: https://codereview.chromium.org/1412903007 .
2015-11-04 08:50:20 -08:00
John McCutchan ceb12c4f69 Switch profiler from isolates to threads
- API breakage: Dart_IsolateBlocked, Dart_IsolateUnblocked -> Dart_ThreadDisableProfiling, Dart_ThreadEnableProfiling.
- Remove IsolateProfilerData.
- Move thread at blocking call count from isolate to thread.
- Always interrupt threads unless they are blocked.
- We can no longer count "idle" ticks.
- Only record sample if thread is the current mutator of an isolate.
- Refactor ThreadInterrupterCallback to ensure that Thread* is valid.

Threads are only ever sent signals if ThreadInterruptsEnabled is true. Which is controlled by two functions:

void DisableThreadInterrupts();
void EnableThreadInterrupts();

R=asiva@google.com, iposva@google.com

Review URL: https://codereview.chromium.org/1423473004 .
2015-11-04 07:59:16 -08:00
Johnni Winther b297a4ffb4 Mark inference_stats_test as slow
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1420803004.
2015-11-04 16:29:19 +01:00
John McCutchan 6f9a2f7cb9 Fix non-Windows builds
BUG=

Review URL: https://codereview.chromium.org/1410783005 .
2015-11-04 07:05:12 -08:00
John McCutchan 791941a170 Hack around TLS destructors firing after the process exits round 2
- When a process exits on Windows, Windows closes all handles
- Our mutexes use a handle to a semaphore for locking

- If our TLS destructors need to take a lock during thread exit (but after process has started to shutdown) we will deadlock waiting on a handle that's been closed.

This works around the problem by not running tls destructors when we are exiting the process.

R=zra@google.com

Review URL: https://codereview.chromium.org/1409723007 .
2015-11-04 06:55:14 -08:00
Johnni Winther 3837194311 Add TypeUse.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1422623014.
2015-11-04 14:29:17 +01:00
Lasse R.H. Nielsen 08efdd3f30 Remove junk code in ExpandIterator.
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/1406283014 .
2015-11-04 13:13:04 +01:00
Lasse R.H. Nielsen 98a5da5948 Mark stream_periodic6_test failing on jsshell.
Review URL: https://codereview.chromium.org/1434463002 .
2015-11-04 12:35:03 +01:00
Lasse R.H. Nielsen 5009e57524 If computation of Stream.periodic throws, forward the error to the stream.
Fixes issue #24766
BUG= http://dartbug.com/24766
R=floitsch@google.com

Review URL: https://codereview.chromium.org/1415533015.
2015-11-04 10:27:49 +01:00
Jacob Richman e0f8e96dae Fix status file given new js_typed_interop test that cannot pass in dart2js checked mode without risky changes.
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/1410923006 .
2015-11-03 20:08:19 -08:00
Jacob Richman 12e94fc1d9 Make function type checks for types returned by typed JS interop pass for functions with <=10 arguments.
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1428093005 .
2015-11-03 17:58:22 -08:00
Florian Loitsch be025b8412 Revert "Remove deprecated dart:profiler library"
This reverts commit 535a9715ac.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1415843008 .
2015-11-04 01:59:53 +01:00
Srdjan Mitrovic 181e8cc2a9 Move resolving of natives to a late stage (during code emission). That eliminates unnecessary native resolution (e.g., when native gets recognized or rejected in the inliner). Removed tests that are now impossible to implement with AST (fake native functions).
BUG=
R=hausner@google.com

Review URL: https://codereview.chromium.org/1420173006 .
2015-11-03 16:18:24 -08:00
Brian Wilkerson aaaf7c2de8 Fix glob patterns to work on Windows
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1426353002 .
2015-11-03 15:35:26 -08:00
John McCutchan 200008bd0d Revert "Hack around TLS destructors firing after the process exits"
This reverts commit 237702c6b5.

BUG=

Review URL: https://codereview.chromium.org/1429173003 .
2015-11-03 15:28:38 -08:00
John McCutchan 237702c6b5 Hack around TLS destructors firing after the process exits
- When a process exits on Windows, Windows closes all handles
- Our mutexes use a handle to a semaphore for locking

- If our TLS destructors need to take a lock during thread exit (but after process has started to shutdown) we will deadlock waiting on a handle that's been closed.

This works around the problem by not running tls destructors when we are exiting the process.

R=zra@google.com

Review URL: https://codereview.chromium.org/1416063005 .
2015-11-03 15:02:38 -08:00
Florian Schneider eb3186b7bd Fix flaky async test.
Replacing > with >= since finishing in 10 to 11 ms is to be expected.

BUG=dartbug.com/24788
R=floitsch@google.com

Review URL: https://codereview.chromium.org/1415413012 .
2015-11-03 23:30:00 +01:00
Stephen Adams 6ddbaa55a4 Short-circuit Uri._uriEncode for components that don't need encoding.
For dart2js:
Uri.pathSegments.easy: +792%
Uri.pathSegments.hard.escaped: +8%
Uri.pathSegments.hard.normalized: +152%

For VM:
Uri.pathSegments.easy: +117%
Uri.pathSegments.hard.escaped: -8%
Uri.pathSegments.hard.normalized: +35%

We could probably get a little more in the browser if we make the check a patched '_platformUriEncode' method, but the 'encoding' parameter makes it impossible to remove _uriEncode completely.

R=lrn@google.com

Review URL: https://codereview.chromium.org/1411413008 .
2015-11-03 14:16:16 -08:00
Zachary Anderson 2c5044b671 Don't do clean shutdown on Process.exit()
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1428923003 .
2015-11-03 14:10:42 -08:00
Chinmay Garde 1fc938ac92 Return correct ActivationFrameAlignment for iOS simulator variants
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1432603002 .
2015-11-03 13:24:58 -08:00
pq 7a6bf51504 Doc generator tweak to skip experimental domains.
Prevents domains flagged as experimental from having server apidocs generated.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1419793004 .
2015-11-03 13:12:00 -08:00
Florian Schneider 598018bd21 VM: Fix bug with ??= expressions using await.
Moving the construction of ?? into the parser using LetNode, so that the await-transformations are properly applied.

a ?? b becomes { temp = a; temp !== null ? temp : b; }

a ??= b becomes { temp = a; temp != null ? temp : a = b; }

BUG=issue #24392
R=hausner@google.com

Review URL: https://codereview.chromium.org/1417733007 .
2015-11-03 21:47:06 +01:00
Siva Annamalai 9731bac3f6 Fix build break, ensure the simulator is created and setup before accessing it in LongJumpScope::IsSafeToJump
Review URL: https://codereview.chromium.org/1415753004 .
2015-11-03 12:41:48 -08:00
John Messerly 4c44096bf6 move TypeSystem classes to their own file
also sorted members per analyzer style (?)

figured it would be easier to work on as a 0.5k file vs ~15k resolver.dart :)

For now I left TypeProvider where it was. Not sure if it should move here or into its own file as well.

For backwards compat, all of the types are re-exported from resolver.dart.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1407923009 .
2015-11-03 11:38:34 -08:00
Alan Knight a98388886a Wrap DomStringList, but don't wrap DomString[] as return types
BUG=

Review URL: https://codereview.chromium.org/1410853005 .
2015-11-03 11:22:37 -08:00
Konstantin Shcheglov f49612ba51 Covering expression offsets/lengths integration.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1411973006 .
2015-11-03 10:45:17 -08:00
pq 67dc108f39 Map merging.
Basic YAML map merging suitable for merging a default map with an overriding one.

The semantics favor the overrider with a twist to support a short-hand for lists that stand-in for maps of scalars to booleans.  Specifically, lint rules can be enumerated as a list or as a map.  To make this work, lists can be "promoted" to maps.  In particular, if

linter:
  rules:
    - camel_case_types
    - one_member_abstracts

is merged with

linter:
  rules:
    one_member_abstracts: false
    always_specify_return_types: true

the right thing is done to get us to:

linter:
  rules:
    camel_case_types: true
    one_member_abstracts: false
    always_specify_return_types: true

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

Review URL: https://codereview.chromium.org/1425393002 .
2015-11-03 10:42:18 -08:00
Srdjan Mitrovic 45650219b1 Allow inlining of native functions. Fix performance degradation (more investigation to follow).
BUG=

Review URL: https://codereview.chromium.org/1413753004 .
2015-11-03 10:30:32 -08:00
Konstantin Shcheglov 069ba985de Fix protocol for EXTRACT_LOCAL_VARIABLE and coveringExpressionOffsets/lengths.
Unfortunately we have to make coveringExpressionOffsets and coveringExpressionLengths optional.
Otherwise new clients cannot correctly parse responses from old servers.

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

Review URL: https://codereview.chromium.org/1407333006 .
2015-11-03 10:19:41 -08:00
Alan Knight 53b506b1bf Fix indexed access for DataTransferItemList
BUG=

Review URL: https://codereview.chromium.org/1431543004 .
2015-11-03 09:35:22 -08:00
William Hesse 8ef142ef72 Update co19 status for Firefox 41 on linux.
BUG=

Review URL: https://codereview.chromium.org/1418603003 .
2015-11-03 18:21:50 +01:00
Siva Annamalai d951f5bca8 1. Do not initialize the stack limit during isolate initialization and in StartIsolateScope, it is done during DartEntry::InvokeFunction which is the central point for all entry into dart code.
2. Do not initialize the stack limit in the vm isolate, get rid of InitializeStackLimit function.

3. Assert in StartIsolateScope that the thread enters an isolate without any nested scopes and the thread exits an isolate without any pending scopes.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1417523006 .
2015-11-03 08:26:54 -08:00
Brian Wilkerson 879cf82b6b Rework analyzed files support to use globs
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1413643006 .
2015-11-03 07:11:29 -08:00
John McCutchan c34b23ccfe Update CHANGELOG.md
Added note about dart:developer VM service protocol extensions
2015-11-03 06:04:57 -08:00
Asger Feldthaus dff4cc11d7 dart2js: Set inferred return types for async, async*, and sync* methods.
Previously these were assumed to return dynamic. Now the return type is
the concrete class being returned:
  async -> _Future
  async* -> _ControllerStream
  sync* -> _SyncStarIterable

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1418043005 .
2015-11-03 15:02:46 +01:00
John McCutchan 7ea2b300f1 Update CHANGELOG.md
Add dart:developer TImeline
2015-11-03 06:02:23 -08:00
Kevin Millikin 73894d4d30 dart2js CPS: Fix a bug in scalar replacement.
Scalar replacement should compute initial values for all fields (including
those in superclasses) because it will try to replace them.

R=asgerf@google.com
BUG=

Review URL: https://codereview.chromium.org/1429513006 .
2015-11-03 14:28:06 +01:00
Asger Feldthaus f4429324eb dart2js cps: Fix codegen for yield.
BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/1415843006 .
2015-11-03 14:21:52 +01:00
William Hesse 03bfdf5f24 Add information about BoringSSL change to CHANGELOG.md.
BUG=https://github.com/dart-lang/sdk/issues/24671
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1426653007 .
2015-11-03 13:32:10 +01:00
William Hesse b1ee818ba8 Update status for slow analyzer tests.
Alphabetize and combine status file sections.

BUG=dartbug.com/21628
R=wibling@google.com

Review URL: https://codereview.chromium.org/1424483003 .
2015-11-03 11:39:15 +01:00
William Hesse cc4a5d2e7c Revert "Switch profiler from isolates to threads"
Reverts commit 6365c27f81 and
commit 8b9ed6cfb3.

They are causing flaky timeouts (hangs) on all vm cc tests on all Windows vm bots.

R=mit@google.com

Review URL: https://codereview.chromium.org/1425093006 .
2015-11-03 10:42:55 +01:00
Johnni Winther 419cce7178 Rename UniverseSelector to DynamicUse and move it to use.dart
BUG=
R=sigmund@google.com, sigurdm@google.com

Review URL: https://codereview.chromium.org/1408383006.
2015-11-03 10:13:55 +01:00