Commit graph

42928 commits

Author SHA1 Message Date
Vyacheslav Egorov 57af30e2d5 VM: [Kernel] Make NativeFieldWrapperClass[1-4] constructible when running from Kernel.
For unclear reason sdk/lib/html/dartium/nativewrappers.dart had these classes
with constructors that would throw. In reality on Kernel ever uses this file so
nobody would use these constructors before anyway.

When running Kernel binaries we need to be able to construct subclasses of
these classes - so they need to have non-throwing constructors.

R=kustermann@google.com
BUG=http://dartbug.com/27590

Review URL: https://codereview.chromium.org/2511083003 .
2016-11-17 18:59:08 +01:00
Vyacheslav Egorov 1a570da155 VM: Fix regexp_test.cc after IRRegExpMacroAssembler::Execute signature chages.
Pass sticky=false to Execute.

TBR=rmacnak@google.com

Review URL: https://codereview.chromium.org/2502253006 .
2016-11-17 17:56:24 +01:00
Vyacheslav Egorov 2403444eba VM: Optimize RegExp.matchAsPrefix(...) by generating a sticky RegExp specialization.
This is the same as a sticky RegExp flag in ES2015.

Overlay some RegExp fields on top of each other - given that they should never be used simultaneously.

BUG=http://dartbug.com/27810
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2510783002 .
2016-11-17 17:46:21 +01:00
John McCutchan 547b8f42ae Mark override_field_methodX_negative_tests as failing on reload bots
BUG=

Review URL: https://codereview.chromium.org/2514463002 .
2016-11-17 08:41:59 -08:00
Konstantin Shcheglov 5acc4aba69 Add stubs for requests that currently crash Analysis Server with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2512633002 .
2016-11-17 08:16:22 -08:00
Konstantin Shcheglov 2f0decac2f Fix resynthesizer for constructor redirection to an unresolved class.
This was occuring while opening parts in SDK, when we don't know
the library of the part, and still attempt to resolve the part.

R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2505073004 .
2016-11-17 07:59:37 -08:00
John McCutchan 2e197df37d Rehash canonical constants table for each class that can be affected by the 'become' operation
Fixes #27803

Rehashing all classes canonical constant's takes 3milliseconds for gallery on an Nexus 7.

BUG=
R=asiva@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2497673004 .
2016-11-17 07:41:24 -08:00
Martin Kustermann 89315c9570 Assert !NativeCallInstr::link_lazily() on ia32
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2509843002 .
2016-11-17 15:14:24 +01:00
William Hesse 373db1aba9 Revert "Roll co19 tests and update status files"
This reverts commit 2a947db2ea.
We will update the status files using buildbot logs, and try again.

BUG=
TBR=sortie@google.com

Review URL: https://codereview.chromium.org/2508863004 .
2016-11-17 13:38:09 +01:00
William Hesse 2a947db2ea Roll co19 tests and update status files
This commit will be rolled back after running on all builders to collect
error logs.

R=sortie@google.com

Review URL: https://codereview.chromium.org/2508803006 .
2016-11-17 11:56:47 +01:00
William Hesse 1580d6d73f Print hashes of uploaded files into the builder log, for later verification.
BUG=
R=sortie@google.com

Review URL: https://codereview.chromium.org/2506473003 .
2016-11-17 11:44:44 +01:00
Lasse R.H. Nielsen de8e04d76a Make C(), where C is a class name, a compile-time error.
Fixers issue #27651
BUG= http://dartbug.com/27651
R=eernst@google.com, floitsch@google.com, fschneider@google.com

Review URL: https://codereview.chromium.org/2444843002 .
2016-11-17 09:56:54 +01:00
Stephen Adams 08854375b3 Revert "Bit width analysis for avoiding conversion of bitops to unsigned."
TBR=sigmund@google.com
BUG=

Review URL: https://codereview.chromium.org/2510893002 .
2016-11-16 13:55:20 -08:00
Regis Crelier 10434a66a0 Add missing canonicalization of cloned uninstantiated types when cloning
functions for mixins (fixes #27606).

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2511543002 .
2016-11-16 13:45:39 -08:00
Paul Berry 195aaac25a Skip front_end tests on jsshell due to #26103.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2507203002 .
2016-11-16 13:41:42 -08:00
Stephen Adams a5443a8b0d Bit width analysis for avoiding conversion of bitops to unsigned.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2507883002 .
2016-11-16 13:37:12 -08:00
Florian Schneider 86d62d66f2 Allocate generic types in new-space before canonicalizing.
A previous CL missed the second allocation site (6418f8f36c) in Instance::GetType.

Pass space used in GetType() explicitly to use old-space when invoked from the background compiler.

Fixes #27663.

R=regis@google.com

Review URL: https://codereview.chromium.org/2509013002 .
2016-11-16 12:41:32 -08:00
Stephen Adams 29ad2c2326 Fix generateAtUseSite for complex HIs checks
This avoids a few unnecessary temporaries.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2439653002 .
2016-11-16 12:25:26 -08:00
Jennifer Messerly 365d9a000a fix #27784 and fix #27785, fromEnvironment constants in DDC
R=vsm@google.com

Review URL: https://codereview.chromium.org/2503803004 .
2016-11-16 12:20:43 -08:00
Martin Kustermann e2a08259e9 Fix ia32 build: there are no patchable calls on ia32
Review URL: https://codereview.chromium.org/2511513003 .
2016-11-16 21:15:12 +01:00
Martin Kustermann a4dbbaae10 Mark lazily-patched native calls correctly as patchable.
Lazily linked native entries patch two entries: target native *and* the stub that is used for call.

It only works because we don't ever have two native nodes inside a single function. However it makes sense to always correctly generate patchable calls as patchable.

R=fschneider@google.com, vegorov@google.com

Review URL: https://codereview.chromium.org/2504693002 .
2016-11-16 21:03:38 +01:00
Ryan Macnak 6183316355 Don't crash attempting to JSON print an uninitialized Map.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2503423003 .
2016-11-16 11:14:43 -08:00
Sigmund Cherem 618cbad43a switch perf tool to use scanner in front_end
R=paulberry@google.com

Review URL: https://codereview.chromium.org/2507093003 .
2016-11-16 11:13:20 -08:00
Emily Fortuna 226e47a127 Set runtime type information when converting list literals.
BUG=https://github.com/dart-lang/sdk/issues/27394
R=het@google.com

Review URL: https://codereview.chromium.org/2502033002 .
2016-11-16 10:53:07 -08:00
Florian Schneider 890bfa8015 AOT: Fix bug in receiver type propagation after unique selector calls.
Insert Redefinition instructions to prohibit unsafe code motion. If we propagate
the receiver type downwards from a call to a unique selector, we must not hoist
instructions that were optimized using this type information across the call.

R=vegorov@google.com

Review URL: https://codereview.chromium.org/2498073004 .
2016-11-16 10:14:40 -08:00
Ryan Macnak f555cf852f The flag --collect_code is not available in product mode.
TBR=asiva@google.com

Review URL: https://codereview.chromium.org/2508993002 .
2016-11-16 10:02:02 -08:00
Stephen Adams 502631b225 ssa-tracer: include inputs to HTypeInfoExpression
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2499253004 .
2016-11-16 09:59:02 -08:00
Paul Berry c6ad6fa114 When analyzing a Bazel/Blaze workspace in which no build has been run, assume Bazel.
Previously we were returning `null`, causing all package resolution to fail.

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

Review URL: https://codereview.chromium.org/2506753002 .
2016-11-16 09:52:35 -08:00
Ryan Macnak 13ba4b2710 When building app snapshots for the SDK, train dart2js on itself.
Don't train the analzyer on itself as this makes running the test suite slower.

Disable code collection when generating an app snapshot.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2509453002 .
2016-11-16 09:10:22 -08:00
Ryan Macnak 7ea4a11146 Move printing snapshot sizes behind a flag.
R=asiva@google.com

Review URL: https://codereview.chromium.org/2504663003 .
2016-11-16 09:07:17 -08:00
Zachary Anderson 8606013647 GN: Removes libdart_nosnapshot_precompiled_runtime
It doesn't make sense, and building its build is broken.

Review URL: https://codereview.chromium.org/2504343002 .
2016-11-16 08:57:17 -08:00
Sigmund Cherem cef521645f Skip FE tests under dart2js + fast-startup (which doesn't support dart:mirrors)
BUG=

Review URL: https://codereview.chromium.org/2505063002 .
2016-11-16 08:42:29 -08:00
Sigmund Cherem d89dab56b5 Fix IE11 issue: this complements the CL I sent last week. It turns out that
there are two places where we do this check. This is why the test that I added
appears to be failing in the bots.

BUG=
R=jakemac@google.com

Review URL: https://codereview.chromium.org/2504883002 .
2016-11-16 08:38:24 -08:00
Asger Feldthaus 58019fa42a [kernel] Fix some issues after introducing NamedType.
Some code in type_checker.dart had not been updated and there
was an unused method left in type_algebra.dart.

BUG=
R=ahe@google.com

Review URL: https://codereview.chromium.org/2504313002 .
2016-11-16 17:09:48 +01:00
Vyacheslav Egorov 6f1efe295c VM: Remove _nativeScript external. JS has no equivalent.
It was added to @patch member in the VM patches.

The right fix is to remove @patch annotation from the _nativeScript.

TBR=kustermann@google.com
BUG=

Review URL: https://codereview.chromium.org/2506033002 .
2016-11-16 16:36:10 +01:00
Vyacheslav Egorov 8b123831e5 VM: Fix libdart_lib_nosnapshot_precompiled_runtime build target.
TBR=zra@google.com

Review URL: https://codereview.chromium.org/2508923002 .
2016-11-16 16:11:09 +01:00
Dan Rubel be507709ed update builder test for Windows
Review URL: https://codereview.chromium.org/2510713002 .
2016-11-16 09:50:56 -05:00
Asger Feldthaus acc8975cab [kernel] Store named parameters in sorted lists instead of using maps.
FunctionType now has a List<NamedType> which must be sorted by name.
Previously, named parameters were stored in a Map<String, DartType>.

FunctionNode still has a List<VariableDeclaration>, but this list must
now be sorted by name.

BUG=
R=ahe@google.com

Review URL: https://codereview.chromium.org/2502343002 .
2016-11-16 15:16:24 +01:00
Asger Feldthaus df36c0b63e [kernel] Remove unnecessary indexing passes from serialization.
Computing the index for variables, labels, and switch cases is now
done on-the-fly instead of as separate passes.

BUG=
R=ahe@google.com

Review URL: https://codereview.chromium.org/2507723002 .
2016-11-16 15:13:27 +01:00
Vyacheslav Egorov eb38fb5d67 VM: Fix incorrect free in TryReadKernel.
SniffForMagicNumber updates buffer pointer to skip snapshot magic number.

Thus we have to preserve and pass original buffer pointer to the free(...) call.

R=kustermann@google.com
BUG=

Review URL: https://codereview.chromium.org/2503363002 .
2016-11-16 14:40:57 +01:00
Dan Rubel abffe25b7d integrate analysis options include directive into context builder
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2505753002 .
2016-11-16 08:25:43 -05:00
Vyacheslav Egorov 23fd1a184b VM: Support bootstrapping core libraries from Kernel binaries instead of source.
BUG=http://dartbug.com/27590
R=asiva@google.com

Review URL: https://codereview.chromium.org/2485993002 .
2016-11-16 13:56:20 +01:00
Johnni Winther 12e2244310 Compute WorldImpact in NativeEnqueuer.
R=het@google.com

Review URL: https://codereview.chromium.org/2498403002 .
2016-11-16 11:21:46 +01:00
Johnni Winther bce19eba04 Compute WorldImpact for mirror analysis.
R=het@google.com

Review URL: https://codereview.chromium.org/2500373003 .
2016-11-16 11:08:36 +01:00
Johnni Winther b95379102a Remove Registry
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2500413002 .
2016-11-16 10:57:10 +01:00
Ryan Macnak d4b5793307 Enable service tests for app snapshots.
Issue #27806

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2496993002 .
2016-11-15 16:12:59 -08:00
Sigmund Cherem 8103739900 Fix issue #27830: the type of an super-set assignment expression is the type of
the rhs.

The issue was introduced in a recent refactor in commit 37afcd5197

BUG= https://github.com/dart-lang/sdk/issues/27830
R=sra@google.com

Review URL: https://codereview.chromium.org/2508513003 .
2016-11-15 15:59:24 -08:00
Stephen Adams 4bd5671a31 Fix HTypeConversion.checkedInput
For function types, HTypeConversion.checkedInput would return the call
to the method on the reified type object.  Now the construction of the
call is deferred to codegen.dart, so the input is available directly.

The optimizer also detects checks (type assertions and 'as' casts) on
`null` values and removes the useless test.

BUG=
R=efortuna@google.com

Review URL: https://codereview.chromium.org/2497313003 .
2016-11-15 15:51:54 -08:00
Paul Berry 7336101b28 Change BazelWorkspace so that it checks the main source directory before READONLY.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2502103003 .
2016-11-15 15:21:47 -08:00
Florian Schneider 2a40a14c7a Improve noSuchMethod error message for type objects.
This CL improves the message when trying to invoke 'call' on _Type objects. This often happens
when 'new' is forgotten ("C()" instead of "new C()")

Fixes #27651.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2507493003 .
2016-11-15 15:20:17 -08:00