Commit graph

34662 commits

Author SHA1 Message Date
Stephan Herhut 6ba13e2570 Use better names for captured variables in closures.
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/1428853004 .
2015-11-05 11:57:50 +01:00
Johnni Winther c1b102a94d Revert "Normalize type masks to use the least upper instantiated subclass/type."
This reverts commit d3c68df853.

BUG=

Review URL: https://codereview.chromium.org/1431513010.
2015-11-05 11:14:47 +01:00
Johnni Winther d3c68df853 Normalize type masks to use the least upper instantiated subclass/type.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1413613010.
2015-11-05 10:54:21 +01:00
Jacob Richman 2c6989df5f TBR: bug fixes for switch from [] to JsNative.SetProperty Make calls to .isExternal property more robust
BUG=

Review URL: https://codereview.chromium.org/1419503008 .
2015-11-04 17:47:03 -08:00
Jacob Richman 6bfbb93d72 Make Dartium JS interop implementation more robust in the presence of JS paths that touch dart:html types. Note that the dart2js implementation was already robust in the presence of dart:html types.
BUG=
R=alanknight@google.com

Review URL: https://codereview.chromium.org/1415463019 .
2015-11-04 15:47:46 -08:00
Ryan Macnak 862307ccac Output precompiled snapshot size.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/1414083004 .
2015-11-04 15:13:16 -08:00
Florian Schneider f6b96b3d07 Start remove dependencies on compiler-related files.
Minimize the number of dependencies of compiler-related files.

This is needed to remove whole .cc/.h files from a compiler-less VM binary which
can be used for running precompiled code.

* removed dependencies of object.cc on flow_graph_compiler.h and flow_graph_builder.h

* removed unnecessary includes from object.h

BUG=
R=srdjan@google.com

Review URL: https://codereview.chromium.org/1411873005 .
2015-11-05 00:08:35 +01:00
Kevin Moore 928e30586e update pkg/js for changes is 1.13-dev.7.7
R=jacobr@google.com

Review URL: https://codereview.chromium.org/1421513006 .
2015-11-04 14:39:24 -08:00
Stephen Adams f51f25034e Uri: use List.unmodifiable
BUG=
R=lrn@google.com

Review URL: https://codereview.chromium.org/1406023018 .
2015-11-04 14:30:10 -08:00
pq dbbcedf231 DEPS bump to pull in linter 0.1.4.
BUG=
R=keertip@google.com

Review URL: https://codereview.chromium.org/1418513022 .
2015-11-04 13:13:18 -08:00
Paul Berry ca2721b5b4 Disable codegen test on browsers, since it uses dart:io
TBR=scheglov@google.com

Review URL: https://codereview.chromium.org/1414073006 .
2015-11-04 13:12:02 -08:00
Zachary Anderson ca7c39d8d2 Turn off shutdown
BUG=

Review URL: https://codereview.chromium.org/1403293007 .
2015-11-04 12:56:02 -08:00
Zachary Anderson a0c51df0ce Turn on shutdown
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1419333008 .
2015-11-04 12:19:11 -08:00
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