Commit graph

41596 commits

Author SHA1 Message Date
Zach Anderson 9a6797e6ba GN build on windows
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2385643004 .
2016-10-04 09:19:07 -07:00
Konstantin Shcheglov 0c603e1bb9 Don't use Source to compute absolute URI in _getLibraryByRelativeUri().
It does not matter usually, unless we live in the environment where
actual Source resolution is very expensive. This makes resynthsis
about 10% faster in this case.

R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2386363002 .
2016-10-04 08:23:25 -07:00
Brian Wilkerson 154bd389db Fix some failures on the windows bots
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2392793003 .
2016-10-04 08:21:28 -07:00
Brian Wilkerson 29c5c9985e Remove JavaFile.pathContext
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2386123004 .
2016-10-03 19:28:49 -07:00
Brian Wilkerson ef2a3b982c MemoryResourceProvider always uses the current platform
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2391883002 .
2016-10-03 19:24:21 -07:00
Ryan Macnak 9dda00c8b0 Don't remove any entries from the pending deopts table before a throw.
The profiler may attempt a stack walk between removing these entries and the stack being unwound. These entries will instead be removed during DeoptimizeCopyFrame.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2388343002 .
2016-10-03 16:52:02 -07:00
Ryan Macnak 2fddd90a22 VM+RISC: Share object pool entries for allocation stubs.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2391723002 .
2016-10-03 15:50:03 -07:00
Paul Berry 5b667a8c9f Clean up unnecessary absolute URIs in summary tests.
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2389003004 .
2016-10-03 15:31:48 -07:00
Paul Berry 7c666425a1 Further cleanups to annotation elements now that #25706 is fixed.
This CL fixes the following issues:

- In an annotation like @prefix.ClassName.foo or
  @prefix.ClassName.foo(), if "foo" couldn't be resolved, the class
  element would be returned as the annotation element.

- ConstantAstCloner wasn't properly cloning annotation elements,
  leading to weird issues in summary resynthesis tests.

- The summary resynthesizer wasn't setting AnnotationImpl.element.

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

Review URL: https://codereview.chromium.org/2391783002 .
2016-10-03 15:00:34 -07:00
Siva Annamalai e9bd78fa8e Fix build break, set initial value for msan variable.
R=zra@google.com

Review URL: https://codereview.chromium.org/2388813003 .
2016-10-03 12:45:45 -07:00
Ryan Macnak 763daa9d06 Reapply "Lazy deopt without code patching."
When throwing to a frame scheduled for lazy deopt, update the continuation pc for that frame to be the catch handler.

Weaken new assert that the deopt pc belongs to the frame's code as the deopt pc for the last eager deopt in a function lies outside the code, after the call to the deopt stub.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2392613002 .
2016-10-03 11:31:48 -07:00
Siva Annamalai d30d056951 disable use of tcmalloc if msan is enabled during the build.
R=zra@google.com

Review URL: https://codereview.chromium.org/2384903002 .
2016-10-03 11:28:52 -07:00
Konstantin Shcheglov b0d8f47563 Instantiate parameterized types of type parameters with 'dynamic' type arguments.
There is internal code like the added test, which caused us to use
out of scope type parameter during inferred type computation.

Possibly related issues.
https://github.com/dart-lang/sdk/issues/26990
https://github.com/dart-lang/sdk/issues/27072

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

Review URL: https://codereview.chromium.org/2376213003 .
2016-10-03 11:06:57 -07:00
Matthias Hausner 43e338d437 Treat generic method parameters as dynamic in all contexts in the VM (fixes #27460)
Review URL: https://codereview.chromium.org/2383993002 .
2016-10-03 09:11:34 -07:00
Brian Wilkerson 70803e7d16 Fix for running tests under windows
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2385223002 .
2016-10-03 08:38:44 -07:00
Brian Wilkerson 852a479b73 Handle session logs and add event subset selection
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2390693002 .
2016-10-03 08:32:09 -07:00
Paul Berry 4b2bf4d6a0 Add an analysis option to disable cache flushing.
This improves the analysis speed of large projects by as much as 20%.
It also can be used to work around cache flushing bugs.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2383203003 .
2016-10-01 06:41:20 -07:00
Ryan Macnak 4e9a473746 Revert "Lazy deopt without code patching."
This reverts commit 6cff17c59a.

Review URL: https://codereview.chromium.org/2382953004 .
2016-09-30 18:04:58 -07:00
Ryan Macnak 271483911f Emit switchable instance calls when we don't know the complete set of receiver classes for a call site.
A switchable call in the monomorphic state is now basically the same cost as a test and call, so this is as performant without ht code size cost of the slow path megemorphic call.

Flutter gallery before:
VMIsolate(CodeSize): 114052
Isolate(CodeSize): 2250283
ReadOnlyData(CodeSize): 1744760
Instructions(CodeSize): 5679488
Total(CodeSize): 9788583

After:
VMIsolate(CodeSize): 114085
Isolate(CodeSize): 2047224
ReadOnlyData(CodeSize): 1666808
Instructions(CodeSize): 5405424 -4.8%
Total(CodeSize): 9233541  -5.6%

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2376893003 .
2016-09-30 17:34:39 -07:00
Ryan Macnak 6cff17c59a Lazy deopt without code patching.
Keep a side table that maps a fp back to a deopt pc.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2380403003 .
2016-09-30 16:53:29 -07:00
Harry Terkelsen 90b54ed78b roll dart2js_info to 0.3.0
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2379573010 .
2016-09-30 16:02:55 -07:00
Brian Wilkerson 25374847ab Handle null element in completion (issue 27461)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2383533005 .
2016-09-30 15:16:21 -07:00
Konstantin Shcheglov 6dd7744584 Cache linked bundles for Bazel packages in files..
Also verify unlinked bundles consistency with the majorVersion.

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

Review URL: https://codereview.chromium.org/2386743002 .
2016-09-30 13:40:41 -07:00
Stephen Adams 74deaad759 Revert "Add native_testing library to mock @Native classes"
Investigating failures.

BUG=

Review URL: https://codereview.chromium.org/2383273002 .
2016-09-30 13:27:09 -07:00
Konstantin Shcheglov 42f17323a0 Cache Uri to Package and Package to node mappings.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2383233002 .
2016-09-30 13:25:42 -07:00
Bob Nystrom 20e402c43d Fix type errors in math.min() and math.max().
Really, this works around them, but the workaround is all round better
code.

Remove the Dart implementations of min() and max() and just forward to
the JS ones. In DDC, all numbers are double, so the type checks to
handle them specifically aren't meaningful. Also, we don't need the
other special case checks in there to help dart2js optimize them.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2386493003 .
2016-09-30 13:18:07 -07:00
Bob Nystrom 2c313a43ac Fix some errors around []= in core types.
- Get rid of JSMutableIndexable since it isn't useful.
- Make JSIndexable generic. (I think dart2js already did.)
- Add .length to NativeTypedArray since it no longer inherits it from
  JavaScriptIndexingBehavior.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2378423003 .
2016-09-30 13:03:10 -07:00
William Hesse 778a47477e Update markdown and dartdoc in DEPS, remove petitparser
BUG=
R=devoncarew@google.com

Review URL: https://codereview.chromium.org/2380303002 .
2016-09-30 21:48:54 +02:00
Stephen Adams ddfc70f164 Add native_testing library to mock @Native classes
Convert 114 tests to use native_testing.dart library.

Review URL: https://codereview.chromium.org/2379173002 .
2016-09-30 12:13:52 -07:00
Matthias Hausner 1a802d3517 Fix random test failures for issue_27238_test
BUG=27238
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2378923006 .
2016-09-30 11:14:03 -07:00
Brian Wilkerson 3a610fc9f4 Fix test failures under windows
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2383133002 .
2016-09-30 10:53:53 -07:00
Ryan Macnak 76b2f18dd8 Further fix a throw returning to a frame marked for lazy deopt.
Cf. e1a252a017

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2371323006 .
2016-09-30 10:49:56 -07:00
Brian Wilkerson 685e4ff9e1 Revert "Remove unused option in server API"
Review URL: https://codereview.chromium.org/2382033003 .
2016-09-30 10:14:12 -07:00
Brian Wilkerson 2972bd0d6b Remove unused option in server API
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2382053002 .
2016-09-30 09:04:38 -07:00
Konstantin Shcheglov 33ffb7a6ae Add BazelResultProvider for on-demand packages loading.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2386463002 .
2016-09-30 08:55:59 -07:00
William Hesse 8c4db65326 Start working on version 1.21
BUG=
R=kustermann@google.com

Review URL: https://codereview.chromium.org/2385633002 .
2016-09-30 11:49:21 +02:00
Johnni Winther c3421b5586 Rename Universe to WorldBuilder.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2381793003 .
2016-09-30 10:34:07 +02:00
Johnni Winther ead7f7030a Remove Enqueuer argument from Backend.registerStaticUse
- and from CustomElementsAnalysis, TypeVariableHandler, and LookupMapAnalysis methods

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2378063002 .
2016-09-30 10:26:03 +02:00
Johnni Winther 3fb04e3495 Handle getters/setters and try in kernel_impact.
R=het@google.com

Review URL: https://codereview.chromium.org/2375613003 .
2016-09-30 10:03:01 +02:00
Johnni Winther ee42a0524a Handle constructor invocation, is, as, throw, for-in and (a)sync(*) in kernel_impact
R=het@google.com

Review URL: https://codereview.chromium.org/2377623002 .
2016-09-30 09:58:11 +02:00
Johnni Winther 93d7c65cc9 Handle fields with initializers in kernel_impact
- and use Feature.TYPE_VARIABLE_BOUNDS_CHECK only for new-expressions.

R=het@google.com

Review URL: https://codereview.chromium.org/2366263004 .
2016-09-30 09:50:53 +02:00
John Messerly 2e80071cfe fix #27454, prune FunctionTypeImpl.parameters
without this, using ".parameters" resulted in inconsistent types compared with ".returnType" ".*parameterTypes" and other APIs.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2378243004 .
2016-09-29 15:54:25 -07:00
John McCutchan b281cb4f2d Enable compression of observatory_assets.tar in standalone GN build
BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/2375263003 .
2016-09-29 14:26:23 -07:00
Harry Terkelsen 81e13861fb kernel->ssa: implement assert statements
R=johnniwinther@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/2380573004 .
2016-09-29 14:17:13 -07:00
Zach Anderson eb451292f9 Enable GN build on Mac.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2382653003 .
2016-09-29 14:09:40 -07:00
Konstantin Shcheglov 2b337bfa04 Implement package linking for Bazel.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2382473005 .
2016-09-29 13:28:08 -07:00
Zachary Anderson 7c784cea9f Linux create_sdk GN build for host
This CL enables GN builds of all targets from dart.gyp
on Linux for the host (i.e. ia32, x64).

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2379803002 .
2016-09-29 13:23:00 -07:00
Chinmay Garde cfbf1a511e CoreServices is not available on iOS. Don't add it as a dependency.
R=zra@google.com

Review URL: https://codereview.chromium.org/2378953003 .
2016-09-29 11:05:27 -07:00
Brian Wilkerson 539452bd3e ContextBuilder can configure contexts to use summaries
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2380573006 .
2016-09-29 10:55:35 -07:00
Konstantin Shcheglov 36d737008f Don't use actual dependency walker in pub summaries.
We already pre-check transitive dependencies, so we know which nodes
can be linked, and can use just a single link() invocation.

The code is slightly worse, because I stuffed several more operations
into getLinkedBundles(), but either this, or passing several parameters
around :-(

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

Review URL: https://codereview.chromium.org/2375383004 .
2016-09-29 10:30:35 -07:00