Commit graph

41757 commits

Author SHA1 Message Date
Zach Anderson 6f7696dfc9 [windows] fix ~VirtualMemory()
R=asiva@google.com

Review URL: https://codereview.chromium.org/2414133002 .
2016-10-13 12:41:26 -07:00
Siva Annamalai d8276c4ef9 Skip env_test for dartium as it uses command line options which are not supported for dartium.
R=terry@google.com

Review URL: https://codereview.chromium.org/2413093003 .
2016-10-13 12:40:40 -07:00
Paul Berry 524a7da141 Rewrite DeclarationResolver to match declarations to elements by order rather than offset.
Previously, DeclarationResolver matched declarations to elements using their offsets in the file.  This meant that it could not work with element models built from a summary, since those element models are not guaranteed to contain offsets.  Now, DeclarationResolver assumes that elements appear in the same order in the element model as they do in the file, so it can just match them up using their order.

DeclarationResolver continues to verify element names as it does its matching, so if the ordering of elements ever fails to match up with the ordering of declarations, an exception is almost certain to be thrown.  (The only time it wouldn't be is if the mismatch can't be detected due to multiple elements having the same name).

The new implementation is ~1.6x faster than the previous one.

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

Review URL: https://codereview.chromium.org/2419633002 .
2016-10-13 12:24:54 -07:00
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