Commit graph

41754 commits

Author SHA1 Message Date
Konstantin Shcheglov
cbb898bca7 Add support for patching class methods.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2412453007 .
2016-10-13 11:55:53 -07:00
Florian Schneider
6d66f3dea8 VM: Make optimized try-catch work in DBC.
The catch entry block has all locals in fixed locations
(Rj) where j = kNumberOfRegisters - i for parameter i.

This means we reserve a range of DBC registers at the top-end of the frame.
Those registers are blocked for general allocation to avoid any overlap
with the rest of the registers that are allocated from the bottom.

Each optimized frame with a try-catch will be kNumberOfRegisters wide.

BUG=
R=vegorov@google.com

Review URL: https://codereview.chromium.org/2388093003 .
2016-10-13 11:36:23 -07:00
John McCutchan
d483b0d2af Mark reload_sources_test as slow
BUG=

Review URL: https://codereview.chromium.org/2416013002 .
2016-10-13 11:02:36 -07:00
Konstantin Shcheglov
0ae79f6f4b Patch token stream when replace/add nodes.
R=paulberry@google.com, brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2413293002 .
2016-10-13 10:37:18 -07:00
Zach Anderson
9c83c381ec [windows] Implements FreeSubSegment
fixes #27505

R=asiva@google.com

Review URL: https://codereview.chromium.org/2411253002 .
2016-10-13 09:56:36 -07:00
Konstantin Shcheglov
1f373db98e Test that IncrementalCompilationUnitElementBuilder keeps elements in the same order as nodes.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2413023003 .
2016-10-13 09:15:47 -07:00
Bob Nystrom
2305865365 Start cleaning up the HTML tests.
My initial goal was just to move some of the HTML tests off unittest,
but that ended up slurping in some other changes as well. I haven't
finished going through all of the tests, but this puts the
infrastructure in place and fixes a batch of them. I'll do more next.

Changes:

- Add a "minitest" package. This shims just enough of the unittest/test
  API to make it easy to swap it out for unittest without having to
  rework the entire test.

- Go through the HTML tests from A-J and change them to use minitest
  when possible. The ones that aren't possible use asynchrony.
  Minitest doesn't support async tests (yet, maybe).

- Triage those tests and enable ones that are passing. Mark them failing
  if failing. Filed a couple of tracking bugs for the common issues,
  but for other cases, I just left a comment.

- In the process of this, I went ahead and make some of the affected
  tests strong mode clean if they weren't already and it was easy.

- Synchronize changes between dev_compiler's fork of expect and
  pkg/expect. We'll want to unfork those at some point. D-:

This gets dev_compiler from 1985 tests to 2042.

R=jacobr@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/2413073002 .
2016-10-13 08:47:27 -07:00
Brian Wilkerson
1a893edb82 Add prefix to path import to work around breaking change
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2411423003 .
2016-10-13 08:29:09 -07:00
John McCutchan
54619795aa Fix product build
BUG=

Review URL: https://codereview.chromium.org/2416913002 .
2016-10-13 07:57:08 -07:00
John McCutchan
2d0a08baf9 Make reloadSources service RPC public
- [x] Make `reloadSources` RPC public.
- [x] Add an optional 'pause' parameter to `reloadSources`. When set to true, the isolate will enter the debug pause loop immediately after reloading sources and before resuming execution. This makes it possible for debugger clients to set breakpoints before resuming.
- [x] Add reload_sources_test which tests pausing after reload.
- [x] Fix a bug in `GetVarDescriptors` where a null code object could be used.

R=turnidge@google.com

Review URL: https://codereview.chromium.org/2411153002 .
2016-10-13 07:45:56 -07:00
Terry Lucas
21a554b280 Updated to latest WebKit changes and removed usage of obsolete environment variable
TBR=whesse@google.com

Review URL: https://codereview.chromium.org/2413253002 .
2016-10-13 06:33:04 -07:00
Florian Schneider
d9b1bc93af Fix product mode noSuchMethod with library prefix.
Update analyzer status of test that has a static warning expected.

BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2413033003 .
2016-10-12 19:10:27 -07:00
Siva Annamalai
aae051e4c3 Fix for issue 27567 (inconsistent handling of invalid -D options
BUG=#27567
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2409263004 .
2016-10-12 18:42:30 -07:00
Jacob Richman
72503ff98d Extend ignore_patch_signature_mismatch used by dartium to ignore type parameters with different bounds
BUG=https://github.com/dart-lang/sdk/issues/27568
R=asiva@google.com

Review URL: https://codereview.chromium.org/2405193004 .
2016-10-12 17:25:55 -07:00
Florian Schneider
d99229026e Fix issues with argument evaluation order and noSuchMethod errors.
Fix tests to conform to spec bahavior.

Update dart2js test status.

BUG=#27572
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2416513003 .
2016-10-12 17:04:55 -07:00
Nicholas Shahan
96f485b075 Fix file name handling on windows
Paths on windows were having the drive letter (ex: c:\) recognized as
a URI scheme.

Fixes #27450

R=vsm@google.com

Review URL: https://codereview.chromium.org/2413823002 .
2016-10-12 14:30:15 -07:00
Nicholas Shahan
d8505ee264 Fix library name insert and access inconsistency on windows
Make naming of libraries on windows consistent with the behaivor on
linux and mac.

Fixes #27576

R=vsm@google.com

Review URL: https://codereview.chromium.org/2415653002 .
2016-10-12 14:14:00 -07:00
Ryan Macnak
dc53ea46bc Additional asserts to debug issue #26927.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2413013002 .
2016-10-12 13:54:10 -07:00
Florian Schneider
ecb818a991 AOT: Add missing native entry points for secure sockets.
These are only accessed from native code on MacOS/iOS.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2419653002 .
2016-10-12 13:04:22 -07:00
Konstantin Shcheglov
33ecec5d4f Replace expect() with outOfTestExpect() in Analysis Server performance benchmark.
In package:test function expect() does not want to be used outside of
test() methods. So, we need a partial copy for using it in integration
tesitng code, and performance benchmarks.

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

Review URL: https://codereview.chromium.org/2413573003 .
2016-10-12 12:57:03 -07:00
Zachary Anderson
08d70cdca5 DBC: Fix CheckCids instruction
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2408423004 .
2016-10-12 12:45:38 -07:00
Nicholas Shahan
2a51e46153 Copy new JS Interop test from dev_compiler test suite.
The test was added in the issue #2394103002.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2402163002 .
2016-10-12 10:15:34 -07:00
Regis Crelier
ba2c6e397c Remove redundant code in parser.
R=zra@google.com

Review URL: https://codereview.chromium.org/2411303003 .
2016-10-12 10:10:21 -07:00
Zach Anderson
86060cb0fb GN: Fix gn_build.py for Windows
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2407413003 .
2016-10-12 10:08:23 -07:00
John McCutchan
7fd9df4d91 Improvements to NoSuchMethodError.toString
This makes the following improvements:

* Always show the call that was made, with arguments.
* ...and show the actual arguments in more cases.
* Be less confusing in the case of a call on the null receiver.
* Be less redundant in the output.
* Report when a constructor is called with the wrong number of arguments.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2405353002 .
2016-10-12 09:52:51 -07:00
Zachary Anderson
3066d28c0d GN: Add commands to bot scripts
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2412163002 .
2016-10-12 09:42:37 -07:00
Terry Lucas
6d946b88f3 Update to WebKit fix
TBR=asiva@google.com

Review URL: https://codereview.chromium.org/2412153002 .
2016-10-12 09:19:10 -07:00
William Hesse
41b82b99e6 Add buildbot scripts for GN builders and dartdevc testers
BUG=https://github.com/dart-lang/sdk/issues/27406
R=rnystrom@google.com, zra@google.com

Review URL: https://codereview.chromium.org/2412553002 .
2016-10-12 14:31:43 +02:00
Konstantin Shcheglov
377dd61e2f Move 'linter' to 0.1.28 tag.
TBR

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

Review URL: https://codereview.chromium.org/2417493002 .
2016-10-11 21:32:57 -07:00
Brian Wilkerson
5f5abd848c Fix exception in checked mode
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2409963004 .
2016-10-11 17:30:16 -07:00
Konstantin Shcheglov
2150f5d1d1 Patch imports and function type aliases. Report more errors.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2405383002 .
2016-10-11 17:08:53 -07:00
Zachary Anderson
da388d21c6 DBC: Use type cache for more checks
Flutter layout benchmark ~10.5k us -> ~8.5k us for a total 1.76x improvement on the day =)

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2410863004 .
2016-10-11 15:20:26 -07:00
Ryan Macnak
bb85b32d51 Fix --verify-on-transition for OSR and concurrent sweep.
Wait for concurrent sweep tasks before verifying points, as building the allocation set expects unmarked objects.

Make assertion okay with a missing stack map at entry, which transiently exists for OSR, as the frame looks the same as unoptimized code here.

Fixes #13608
Fixes #23683
Reproduces issue #26927

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2411453003 .
2016-10-11 15:03:09 -07:00
Zachary Anderson
775fce18d5 DBC: Add Smi fastpath to AssertAssignable
Flutter layout benchmark 14k us -> 10k us. ~30%
improvement in checked mode. There still appear
to be a lot of checks that should be hitting the
cache, so there may be other fast-paths needed
as well.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2404163004 .
2016-10-11 14:25:14 -07:00
Konstantin Shcheglov
56bde6da28 Issue 27542. Guard against CompilationUnitElement is null in SearchMatch.element getter.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27542

Review URL: https://codereview.chromium.org/2409403002 .
2016-10-11 14:09:09 -07:00
Konstantin Shcheglov
9b2c5ce5b0 Add SdkPatcher and implement top-level function / getter / setter patching.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2411883003 .
2016-10-11 14:06:17 -07:00
Ryan Macnak
12b18466bb Reduce size of monomorphic checked entry.
Flutter gallery
VMIsolate(CodeSize): 112293
Isolate(CodeSize): 2065968
ReadOnlyData(CodeSize): 1721336
Instructions(CodeSize): 5625616
Total(CodeSize): 9525213
->
VMIsolate(CodeSize): 112292
Isolate(CodeSize): 2065966
ReadOnlyData(CodeSize): 1721336
Instructions(CodeSize): 5592336 -0.35%
Total(CodeSize): 9491930 -0.59%

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2403613002 .
2016-10-11 13:58:49 -07:00
Konstantin Shcheglov
2a000e1587 Issue 27539. Check that the source is not modified between constructor and correction computing.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27539

Review URL: https://codereview.chromium.org/2411063002 .
2016-10-11 13:41:44 -07:00
Florian Schneider
e25461c151 VM Propagate receiver type from calls to unique selectors in AOT compilation.
If there is no override of noSuchMethod in any class, we can
propagate the receiver type downwards from calls that call a unique
selector.

This speeds up dart2js by around 3%, a particle simulation benchmark by around 10%.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2412653002 .
2016-10-11 13:17:47 -07:00
Adam Barth
34f1501149 Updated build files for Fuchsia.
BUG=
R=pquitslund@google.com

Review URL: https://codereview.chromium.org/2408713004 .
2016-10-11 12:17:15 -07:00
Sigmund Cherem
c3e3a23d71 skip comments in benchmark code
R=paulberry@google.com

Review URL: https://codereview.chromium.org/2410283002 .
2016-10-11 11:17:23 -07:00
Zachary Anderson
f713658b71 DBC: Pull BadTypeError out of AssertAssignable
This was allocating a handle which is not allowed in the simulator loop.

Small improvement in Flutter's layout_bench in checked
mode. 15k us -> 14k us. 7% improvement.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2406383002 .
2016-10-11 11:04:17 -07:00
Konstantin Shcheglov
f233d759a2 Validate patch file paths.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2406353002 .
2016-10-11 10:07:35 -07:00
Konstantin Shcheglov
1a70ff791a Parse the 'patches' argument in SDK libraries declarations.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2408863002 .
2016-10-11 09:19:27 -07:00
Vijay Menon
2495f6a060 Handle private members in dart:mirrors
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/2410453002 .
2016-10-10 15:55:20 -07:00
William Hesse
980e2097e8 Update status of LibTest/isolate/Isolate/spawn_A04_t04
BUG=https://github.com/dart-lang/sdk/issues/27558
R=floitsch@google.com

Review URL: https://codereview.chromium.org/2402393002 .
2016-10-11 00:34:27 +02:00
Sigmund Cherem
484c3b7da5 suppress perf_test where it is not meant to run (forgot to include this in the
previous CL).

TBR=het@google.com

Review URL: https://codereview.chromium.org/2406003002 .
2016-10-10 15:26:41 -07:00
Konstantin Shcheglov
ee28ff0fe8 Fix context/builder_test.dart on Windows.
TBR

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2411513002 .
2016-10-10 15:24:36 -07:00
Sigmund Cherem
e79c120827 Minor updates to frontend perf tool: warm up & derive .packages directly.
BUG=
R=paulberry@google.com

Review URL: https://codereview.chromium.org/2405943002 .
2016-10-10 14:54:21 -07:00
Sigmund Cherem
1324220ede Create entrypoint to measure performance of the dart2js frontend
BUG=
R=het@google.com

Review URL: https://codereview.chromium.org/2385893002 .
2016-10-10 14:47:29 -07:00