Commit graph

41979 commits

Author SHA1 Message Date
Johnni Winther b0ecbef3cc Introduce isAbstractlyInstantiated to avoid exact masks of abstract classes.
Classes can be instantiated directly, abstractly or indirectly:

When [cls] is directly instantiated: This means that at runtime instances of exactly [cls] are assumed to exist.

When [cls] is abstractly instantiated: This means that at runtime instances of [cls] or unknown subclasses of [cls] are assumed to exist.

This is used to mark native and/or reflectable classes as instantiated. For native classes we do not know the exact class that instantiates [cls] so [cls] here represents the root of the subclasses. For reflectable classes we need event abstract classes to be 'live' even though they cannot themselves be instantiated.

When [cls] is indirectly instantiated: This means that a subclass of [cls] is directly or abstractly instantiated.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2443953002 .
2016-10-28 08:45:57 +02:00
Jennifer Messerly bdeb6023af fix #27672, call computeConstantValue for metadata
R=vsm@google.com

Review URL: https://codereview.chromium.org/2458693003 .
2016-10-27 14:05:54 -07:00
Jennifer Messerly 644c1dca75 fix #27429, html wrapper methods pass incorrect number of arguments
R=vsm@google.com

Review URL: https://codereview.chromium.org/2454173003 .
2016-10-27 13:16:00 -07:00
Konstantin Shcheglov 2625d6af37 More tests and a few fixed for the driver.
TBR

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

Review URL: https://codereview.chromium.org/2450183004 .
2016-10-27 10:52:12 -07:00
Adam Barth 0ea1c155ae Fix the Fuchsia build
Python scripts need to be marked executable to run in the Fuchsia build.

TBR=zra@google.com
2016-10-27 09:59:58 -07:00
Konstantin Shcheglov 0fcf8924d5 Several tests for AnalysisDriver and an elements.dart tweak.
I will not land this without review.

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

Review URL: https://codereview.chromium.org/2455843002 .
2016-10-27 09:24:31 -07:00
John McCutchan 8007a98b5b Produce the correct assertion failure expression in the face of inlining
Fixes #27671

BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2453263002 .
2016-10-27 07:29:22 -07:00
Vijay Menon f276f3422f Mark test strong clean for DDC
TBR=jmesserly@google.com

Review URL: https://codereview.chromium.org/2457753002 .
2016-10-27 16:13:43 +02:00
Vyacheslav Egorov 40611dd611 Remove custom expect.dart from Kernel tests
TBR=kustermann@google.com
BUG=

Review URL: https://codereview.chromium.org/2454993003 .
2016-10-27 15:14:03 +02:00
Zachary Anderson e29da6037b Small cleanups and linter fixes.
Review URL: https://codereview.chromium.org/2455983002 .
2016-10-27 05:02:20 -07:00
Zachary Anderson 8169499ef8 GN: Format more gn files
Missed these on the first pass.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2454703004 .
2016-10-27 04:25:34 -07:00
Vyacheslav Egorov eb8c24e133 Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork."
R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2451623006 .
2016-10-27 10:09:22 +02:00
Konstantin Shcheglov 9190ad6b6f Add the 'status' stream and transitions.
TBR

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

Review URL: https://codereview.chromium.org/2450143003 .
2016-10-26 13:36:24 -07:00
Konstantin Shcheglov 755e26c4d9 Analyze requested files.
TBR

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

Review URL: https://codereview.chromium.org/2453913002 .
2016-10-26 13:16:42 -07:00
Konstantin Shcheglov 6be23afcf2 Try to load the existing unlinked bundle by the content hash.
So that we don't create _File.forResolution() when we could use only
the content hash and the existing unlinked bundle. This makes loading
cached analysis results cheaper - no need to parse the unit.

TBR

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

Review URL: https://codereview.chromium.org/2450283003 .
2016-10-26 13:06:03 -07:00
Konstantin Shcheglov bd594d453f Put fully resolved analysis results (just errors now) into the byte cache.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2455573003 .
2016-10-26 11:48:49 -07:00
Adão Júnior 205e9a58e1 DDC readme links pointing to current repository (#27662) 2016-10-26 10:50:46 -07:00
Zachary Anderson c1b08a0b97 GN: Try to fix Linux build on bots
Review URL: https://codereview.chromium.org/2449213003 .
2016-10-26 10:48:14 -07:00
Konstantin Shcheglov 9b68e89be1 Tweaks for documentation.
TBR

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2451093003 .
2016-10-26 09:53:20 -07:00
Zachary Anderson 55094eadd7 Fuchsia: fix build
Review URL: https://codereview.chromium.org/2448323005 .
2016-10-26 09:50:05 -07:00
Zachary Anderson c1313a5ec7 Format GN files and add a presubmit check that GN is properly formatted
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2451613005 .
2016-10-26 08:50:54 -07:00
Zachary Anderson e3f1794ba3 GN: Fix dart_bootstrap build
Makes sure we are using the no_snapshot variants of the libraries,
that we get builtin.cc instead of builtin_nolib.cc, and that all of
the right library sources get built in.

fixes=27668

R=vegorov@google.com

Review URL: https://codereview.chromium.org/2449223004 .
2016-10-26 08:24:23 -07:00
Vyacheslav Egorov 12968edb9c Revert "Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork.""
This reverts commit 4e7a31262e.

Windows bots are broken now.

R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2451893004 .
2016-10-26 17:07:18 +02:00
Zachary Anderson 1ed9dc3ac0 GN: Fix arm cross build to match gyp build
R=vegorov@google.com

Review URL: https://codereview.chromium.org/2456463003 .
2016-10-26 07:58:42 -07:00
Vyacheslav Egorov 16e4f2f1c2 Revert "Revert "Revert "Recognize and optimize a.runtimeType == b.runtimeType pattern."""
This reverts commit e495e100dd.

Commit breaks bots that are using Android devices (SIMARM is unaffected).

R=rmacnak@google.com
BUG=

Review URL: https://codereview.chromium.org/2449013004 .
2016-10-26 16:53:32 +02:00
Vyacheslav Egorov 4e7a31262e Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork."
This relands commit 2fed1c3905 with fixes to ensure that analyzer summaries are correctly created and XARM build does not try to use target binaries on the host.

R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2453773002 .
2016-10-26 16:48:28 +02:00
Konstantin Shcheglov f797154673 Fix for LibraryDirective annotations while applying resynthesized element model.
This allows us to clean up the analysis driver.

I will NOT land this without your review.

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

Review URL: https://codereview.chromium.org/2445193003 .
2016-10-26 07:40:07 -07:00
Lasse R.H. Nielsen 22a57bbe2c Adapt analyzer to new warnings around switch-case fallthrough.
Fixes issue #27664.
BUG= http://dartbug.com/27664
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2446093003 .

Committed: 1322877f5b
Committed: 1f7d8924c6
Committed: 9c2306c7dc
2016-10-26 14:03:14 +02:00
Vyacheslav Egorov cf7ff42e60 Revert "Merge more Kernel infrastructure from kernel_sdk SDK fork."
This reverts commit 2fed1c3905.

SDK builds are failing

TBR=zra@google.com

Review URL: https://codereview.chromium.org/2455593002 .
2016-10-26 13:06:27 +02:00
Vyacheslav Egorov 2fed1c3905 Merge more Kernel infrastructure from kernel_sdk SDK fork.
- bring patched SDK generation scripts and VM patch tweaks that allow VM patch files to be parsed by analyzer front-end;
  Patched SDK is an SDK with all VM patches spliced into it. Kernel compiler is based on the analyzer front-end which does
  not have any patch files support/model so for it to produce Kernel files that match VM we need to generate a such patched SDKs.

- bring test script modifications that allow to test Kernel pipeline

BUG=
R=asiva@google.com, kmillikin@google.com, whesse@google.com, zra@google.com

Review URL: https://codereview.chromium.org/2434123003 .
2016-10-26 13:02:54 +02:00
Lasse R.H. Nielsen 9c2306c7dc Adapt analyzer to new warnings around switch-case fallthrough.
Fixes issue #27664.
BUG= http://dartbug.com/27664
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2446093003 .

Committed: 1322877f5b
Committed: 1f7d8924c6
2016-10-26 12:56:54 +02:00
Vyacheslav Egorov e495e100dd Revert "Revert "Recognize and optimize a.runtimeType == b.runtimeType pattern.""
This reverts commit 890f694de5.

Previous commit was passing field_type_map_ down in a place where it was not passed down before.

This caused some handles to be used across zones, which caused crashes.

BUG=

Review URL: https://codereview.chromium.org/2453463006 .
2016-10-26 12:25:48 +02:00
Lasse R.H. Nielsen 1f7d8924c6 Adapt analyzer to new warnings around switch-case fallthrough.
Fixes issue #27664.
BUG= http://dartbug.com/27664
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2446093003 .

Committed: 1322877f5b
2016-10-26 11:30:55 +02:00
Lasse R.H. Nielsen 1322877f5b Adapt analyzer to new warnings around switch-case fallthrough.
Fixes issue #27664.
BUG= http://dartbug.com/27664
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2446093003 .
2016-10-26 10:51:50 +02:00
Zachary Anderson 103881d01c Make header include guards great again
i.e. #ifndef VM_WHATEVER -> #ifndef RUNTIME_VM_WHATEVER

This lets us remove a hack from the PRESUBMIT.py script that existed
for reasons that are no longer valid, and sets us up to add some
presubmit checks for the GN build.

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

Review URL: https://codereview.chromium.org/2450713004 .
2016-10-26 00:26:03 -07:00
Lasse R.H. Nielsen 1d4657f3d4 Add test for warning-conditions around switch cases.
Only tested on analyzer.

R=eernst@google.com

Review URL: https://codereview.chromium.org/2446923003 .
2016-10-26 09:02:58 +02:00
Konstantin Shcheglov fcce68e2df Analyze priority files first.
TBR

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

Review URL: https://codereview.chromium.org/2453693002 .
2016-10-25 21:44:48 -07:00
Konstantin Shcheglov d59c39fee5 Verify one changed file at a time.
TBR

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

Review URL: https://codereview.chromium.org/2446083003 .
2016-10-25 21:16:56 -07:00
Konstantin Shcheglov d1636b38b3 Replace Stream with monitor.
TBR

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

Review URL: https://codereview.chromium.org/2450053003 .
2016-10-25 20:00:20 -07:00
Konstantin Shcheglov 3d730e3735 Fix and simplify _File creation.
TBR

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

Review URL: https://codereview.chromium.org/2451973002 .
2016-10-25 18:34:19 -07:00
Ryan Macnak 890f694de5 Revert "Recognize and optimize a.runtimeType == b.runtimeType pattern."
This reverts commit f4ec20abac.

Revert "Use ZoneHandle when creating ConstantInstr"

This reverts commit cb87f2d82f.

This change introduced crashes on AOT and runtime errors on the GN SDK build.

TBR=vegorov@google.com

Review URL: https://codereview.chromium.org/2451893002 .
2016-10-25 13:19:33 -07:00
Zachary Anderson 624675349a Stub out Socket::LookAddress on Fuchsia
BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/2446343002 .
2016-10-25 13:07:23 -07:00
Konstantin Shcheglov b363f00d64 Move unlinked bundle access to _File itself.
TBR

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

Review URL: https://codereview.chromium.org/2451733003 .
2016-10-25 11:21:40 -07:00
Konstantin Shcheglov 4a5d98fa37 Actually compute AnalysisResult(s).
For now we don't have state transitioning and perform all work in a
single loop. Later we will break the loop and wait for the "has work"
stream after each operation. BTW, I don't like this stream approach,
but I don't know yet anything better.

The promise to produce the resolved CompilationUnit for every added
file does not scale well for initial results. I want to weaken it to the
promise that only priority and getResult() results get full content/unit.
For all other files we need only errors, which can be cached.

For index we need to use another apporach. I have a plan :-)

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

Review URL: https://codereview.chromium.org/2446803003 .
2016-10-25 09:49:13 -07:00
Ryan Macnak e109c9bb0e Change build.py to invoke gn with '--check' to match the build bot's script and Flutter's usage.
R=zra@google.com

Review URL: https://codereview.chromium.org/2449503002 .
2016-10-25 09:43:37 -07:00
Regis Crelier 3342380ff8 Avoid parsing formal type parameters a second time from inside an async body,
as default values may not be resolved correctly and may conflict with already
parsed formal parameters (fixes #27659).
Added regression test.

R=hausner@google.com

Review URL: https://codereview.chromium.org/2452623002 .
2016-10-25 08:11:37 -07:00
Regis Crelier 6418f8f36c Create runtime type in new space and canonicalize to old space (fixes #27663).
R=asiva@google.com, hausner@google.com

Review URL: https://codereview.chromium.org/2452563002 .
2016-10-25 04:56:49 -07:00
Stephen Adams 7eaad70e2f Improve condition strengthening for last test in short-circuit.
This strengthens

   t1 = s == null || t == null;
   if (t1) return;
   known-here:  t != null

There are not many hits since the 'interesting' tests are usually
earlier in the short-circuit expression.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2438543004 .
2016-10-25 04:48:35 -07:00
Lasse R.H. Nielsen 6e6ff496ed Allow rethrow to end a switch case. Allow braces around switch cases.
Add `rethrow` as one of the statements that are allowed to end a switch case
without a warning.
Change wording to not claim that `throw` is a statement.
Also allow wrapping case statements in a block statement without causing
more warnings. Currently, a `case 4: { break; }` is required to warn because
the last statement is a block statement, not a break statement.

Fixes issue #27650
BUG= http://dartbug.com/27650
R=eernst@google.com, floitsch@google.com, rnystrom@google.com

Review URL: https://codereview.chromium.org/2447613003 .
2016-10-25 13:04:36 +02:00
Vyacheslav Egorov cb87f2d82f Use ZoneHandle when creating ConstantInstr
BUG=
TBR=fschneider@google.com

Review URL: https://codereview.chromium.org/2446093002 .
2016-10-25 11:15:14 +02:00