Commit graph

34671 commits

Author SHA1 Message Date
Asger Feldthaus c861e4d28a dart2js cps: Better side-effect tracking in loops.
This fixes an issue in the bounds checker that made it think a nested
loop had side effects.

In the first pass, the bounds checker would conservatively assume
each loop had side effects, but then mark it as effect-free for the
next pass if it did not see any effects in the loop. For nested loops
however, the "conservative" side effect of the inner loop would prevent
the outer loop from being marked as effect-free.

A separate pass now analysis loops for side effects.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/1426633005 .
2015-11-05 19:03:26 +01:00
Ryan Macnak 7e2e9cb949 ARM: Fix double use of IP when storing object fields with large offsets.
TEST=language/large_class_declaration --noopt
R=fschneider@google.com

Review URL: https://codereview.chromium.org/1409733009 .
2015-11-05 09:54:50 -08:00
Srdjan Mitrovic 9dcd1fd076 Background compilation fixes
BUG=
R=hausner@google.com

Review URL: https://codereview.chromium.org/1426513006 .
2015-11-05 09:53:13 -08:00
Konstantin Shcheglov 61ee6dff5f Roll instrumentation log files.
Keep up to 5 old log files.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1418143006 .
2015-11-05 08:40:43 -08:00
William Hesse abcb3a4d4d Update status for Firefox 42.
BUG=https://github.com/dart-lang/sdk/issues/24838
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1415473006 .
2015-11-05 16:14:46 +01:00
Terry Lucas 839ed4fbdd Updated DEPS to point to change in WebKit
TBR=whesse@google.com

Review URL: https://codereview.chromium.org/1432753002 .
2015-11-05 07:04:36 -08:00
Asger Feldthaus b466453025 dart2js cps: Fix bug in trampoline visitor.
If a continuation was visited directly (as the root of the
trampoline) the actions pushed in traverseContinuation would
not get processed.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/1427643009 .
2015-11-05 13:14:55 +01:00
Lasse R.H. Nielsen b13607d247 Split _uriEncode into JS and VM versions.
R=iposva@google.com, sra@google.com

Review URL: https://codereview.chromium.org/1416373007.
2015-11-05 13:00:37 +01:00
Stephan Herhut 2cecb9ec9c Resolve some static warnings.
R=karlklose@google.com
BUG=

Review URL: https://codereview.chromium.org/1433543004 .
2015-11-05 12:49:45 +01:00
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