Commit graph

41868 commits

Author SHA1 Message Date
Erik Ernst
b5d2b38aa3 Relaxes treatment of method type parameter in as expressions.
This CL changes the semantics of `dart2js --generic-method-syntax`
generated code for `e as T` where `T` is a method type parameter.

The old behavior was to raise a `TypeError` at runtime when such an
expression was evaluated. The new behavior is to consider `T` as an
alias for `dynamic`, i.e., `e as T` will then always succeed.

Addresses part of issue 27460, omits a part that is not yet agreed upon.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2388843002 .
2016-10-18 11:11:44 +02:00
Johnni Winther
5397c5427e Revert "Change TypeInference to handle super calls as direct invocations." and "Optimize needNoSuchMethodHandling computation"
This reverts commit 70159b7418.
This reverts commit a8b2bfb5eb.

Review URL: https://codereview.chromium.org/2425933002 .
2016-10-18 11:00:42 +02:00
Johnni Winther
a8b2bfb5eb Optimize needNoSuchMethodHandling computation
This greatly improves the number of lookups needed to establish the relation.
For the two most prolific tests we have:

html/element_test: 44939 -> 6557
html/mirrors_js_typed_interop_test (mirrors+jsinterop!): 1638455 -> 171326

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2428543002 .
2016-10-18 10:52:12 +02:00
Johnni Winther
70159b7418 Change TypeInference to handle super calls as direct invocations.
This also makes calls of known target registered as static uses and thus
removes the need for misusing type masks to select super methods.

Closes #25716

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2423953002 .
2016-10-18 09:46:28 +02:00
Siva Annamalai
bcea09162a Land https://codereview.chromium.org/2423893003/ for viettrungluu
TBR=zra

Review URL: https://codereview.chromium.org/2426833002 .
2016-10-17 16:57:02 -07:00
Vijay Menon
a032a4c952 Revert "Fix file name handling on windows"
This appears to break on bazel.

BUG=
R=nshahan@google.com

Review URL: https://codereview.chromium.org/2422403002 .
2016-10-17 15:27:48 -07:00
Konstantin Shcheglov
fabb9dbf18 Remove _functionTypesToFix from ElementBuilder.
We might have needed it in the past, but now
'new FunctionTypeImpl(element)' does not use the enclosing element, at
least until we start calling its methods, which happens after we finish
building the element model.

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

Review URL: https://codereview.chromium.org/2422333002 .
2016-10-17 14:26:38 -07:00
Stephen Adams
c9c3c203c1 Minor tweaks to dart:html for better dart2js codegen
- Allow 'document' to be reused (GVN-ed).
- Allow inlining of 'new Comment'.
- 'new Text' and 'new Comment' have no effects.

BUG=
R=alanknight@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/2422293002 .
2016-10-17 13:35:17 -07:00
Zach Anderson
71a84cfed6 GN: Fix Debug flags. Fix Windows build.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2425043002 .
2016-10-17 12:58:24 -07:00
Brian Wilkerson
99ce88f8bc (TBR) Fix more failing tests
Review URL: https://codereview.chromium.org/2426723002 .
2016-10-17 12:57:56 -07:00
Paul Berry
0753607dea Initial API for the Dart front_end package.
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/2417043003 .
2016-10-17 12:36:08 -07:00
Brian Wilkerson
3121296942 (TBR) Fix failing tests
Review URL: https://codereview.chromium.org/2426703002 .
2016-10-17 11:55:31 -07:00
John McCutchan
8061bd5a8a Add local variable declaration token position to service protocol
- [x] Add three public fields to the "BoundVariable" service type: declarationTokenPos, visibleStartTokenPos, and visibleEndTokenPos. (naming suggestions welcome!)
- [x] Extend LocalVarDescriptors to hold the declaration token position (it already had the scope visibility boundaries).
- [x] Extend ContextScope to hold the declaration token position.
- [x] Add a unit test which verifies this works for local variables, function parameters, and closure captured variables.

Fixes https://github.com/dart-lang/sdk/issues/25569

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2419013004 .
2016-10-17 11:18:24 -07:00
Brian Wilkerson
724ac40b8d Improve error messages and add many corrections
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2426583003 .
2016-10-17 10:40:43 -07:00
Zachary Anderson
c8970d0524 DBC: Fix CheckClass bug. Add some intrinsics
Flutter layout benchmark 8.5k us -> 6k us.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2418073002 .
2016-10-17 10:20:56 -07:00
Brian Wilkerson
cbd7a2908e Fixes for tests on windows
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2420413004 .
2016-10-17 09:39:25 -07:00
Florian Loitsch
8fbd651c49 Emphasize that durations are context independent.
Fixes #27597
BUG= http://dartbug.com/27597
R=lrn@google.com

Review URL: https://codereview.chromium.org/2423993002 .
2016-10-17 14:51:00 +02:00
William Hesse
bb91445e7e Update CHANGELOG.md with release dates and patch releases.
BUG=
R=lrn@google.com

Review URL: https://codereview.chromium.org/2423973002 .
2016-10-17 14:04:33 +02:00
Johnni Winther
74b74a13f7 Decouple TypeMask from ClassElement
- by typing FlatTypeMask.base with Entity
- moving needsNoSuchMethodHandling to ClosedWorld
- and testing needsNoSuchMethodHandling

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2420073002 .
2016-10-17 09:47:20 +02:00
Zachary Anderson
c1b1151f54 GN: Fix builder test script
Review URL: https://codereview.chromium.org/2423783002 .
2016-10-16 15:18:54 -07:00
Vyacheslav Egorov
caa0167457 Don't use in-class initialization of non-static data members. It's a C++11 extension.
TBR=asiva@google.com

Review URL: https://codereview.chromium.org/2420323002 .
2016-10-15 23:02:49 +02:00
Vyacheslav Egorov
f67ce21068 VM support for running Kernel binaries.
BUG=
R=asiva@google.com, fschneider@google.com

Review URL: https://codereview.chromium.org/2411823003 .
2016-10-15 22:48:46 +02:00
Brian Wilkerson
4f6f05273e Add more summary support to ContextBuilder
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2416243003 .
2016-10-15 08:40:04 -07:00
Stephen Adams
790b9d9cb1 Enable GVN on HForeignNew
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2422003002 .
2016-10-14 17:34:07 -07:00
Sigmund Cherem
997581ccec Fix custom elements in startup emitter
R=sra@google.com

Review URL: https://codereview.chromium.org/2424553002 .
2016-10-14 16:58:47 -07:00
Ryan Macnak
572eb0ce7a Apparently co19 tests have their own separate annotation parsing.
Review URL: https://codereview.chromium.org/2419613007 .
2016-10-14 16:43:20 -07:00
Ryan Macnak
656964107b Update AOT Android harness for single-file app snapshots.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2419183002 .
2016-10-14 16:23:19 -07:00
Ryan Macnak
fe04737a77 Add test directive to include other files used by a test in its compiled output directory.
Fixes #27591

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2423593002 .
2016-10-14 16:11:25 -07:00
Regis Crelier
0ac91fab5c Minor cleanup: use handle when setting instructions in code object.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2416963009 .
2016-10-14 16:06:59 -07:00
John McCutchan
a43d37be81 Fix reload_sources_test flake
BUG=

Review URL: https://codereview.chromium.org/2415183005 .
2016-10-14 15:33:55 -07:00
Sigmund Cherem
ee42a0a0aa Add js-interop support to the fast-startup emitter
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2420173002 .
2016-10-14 14:22:11 -07:00
Bob Nystrom
60a966605d Remove uses of unittest in the HTML tests where possible.
This finishes going through the dev_compiler HTML tests and switches
out unittest for minitest wherever possible.

In the process, it gets another 10 tests strong mode clean, and gets
several more passing, and more not skipped. With this CL, we're running
another 50 more HTML tests (though some are expected to fail, mostly
because of #27578).

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

Review URL: https://codereview.chromium.org/2419863002 .
2016-10-14 13:44:19 -07:00
Vijay Menon
72e3d13db2 Add ddc resources to the sdk build
This installs DDC's dart_sdk.js, etc., under:
  dart-sdk/lib/_internal/dev_compiler/

Fixes #27001

R=jakemac@google.com

Review URL: https://codereview.chromium.org/2416783005 .
2016-10-14 12:34:03 -07:00
Brian Wilkerson
4942f5304a Guard against a hypothetical null pointer dereference
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2421473007 .
2016-10-14 12:31:11 -07:00
Vijay Menon
852ef37f71 Some mirrors fixes
R=leafp@google.com

Review URL: https://codereview.chromium.org/2415053004 .
2016-10-14 12:19:24 -07:00
Ryan Macnak
0d99435f0c Mark tests failing with app snapshots that expect a resource relative to script.
Issue #27591

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2418193002 .
2016-10-14 11:10:19 -07:00
Florian Schneider
a0380ffaf6 Fix assertion failure with deferred prefixes.
When running with --load-deferred-eagerly, we don't need to collect
functions for invalidation, but instead insert runtime checks  if
the prefix if loadLibrary was called loaded or not.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2415743004 .
2016-10-14 10:20:46 -07:00
Ryan Macnak
74e6376b5c Fix unoptimized code calling a disabled code when --verify-on-transition is enabled.
Unoptimized code has a static call to optimized code.
Optimized code prologue goes to the OptimizeInvokedFunction runtime.
Callee schedule for background compilation and current code set the return entries return value.
Verify-on-transition triggers a safepoint, wherein the background compiler disables the old optimized code.
The OptimizedInvokedFunction stub calls through the disabled code.
FixCallersTarget see an unoptimized caller. BOOM

Similar problem without --verify-on-transition, except the safepoint comes from BackgroundCompiler::CompileOptimized.

Fixes #26927.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2418673002 .
2016-10-14 10:01:42 -07:00
Ryan Macnak
3d00ecdc8f Reapply "Use a single file for app snapshots."
- Don't read script to check for an app snapshot if it is a pipe. Fixes loading source from a pipe.
 - Fix windows and fushsia builds.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2416973003 .
2016-10-14 09:57:54 -07:00
Brian Wilkerson
3155b1e08c Remove unused method and field from DartSdkManager
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2415413003 .
2016-10-14 09:53:44 -07:00
Florian Loitsch
136e476c87 Check for the type of the the spawned function.
In general we avoid explicit type-checks, but in this case the error would be only detected in the new isolate making error handling much harder.

Fixes #27185
BUG= http://dartbug.com/27185.
R=lrn@google.com

Review URL: https://codereview.chromium.org/2414173003 .
2016-10-14 13:27:11 +02:00
Lasse R.H. Nielsen
523da59d56 Add reference to invalid typedef so dart2js will detect it.
R=floitsch@google.com

Review URL: https://codereview.chromium.org/2417223002 .
2016-10-14 12:56:40 +02:00
Lasse R.H. Nielsen
ac76d3eb9f Update CHANGELOG.md for commit efb9a12811 (allow = for named parameters)
(See efb9a12811)

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2419893004 .
2016-10-14 11:34:53 +02:00
Lasse R.H. Nielsen
efb9a12811 Add = as default-value separator for named parameters.
Fixes issue #27559.

BUG= http://dartbug.com/27559
R=asiva@google.com, eernst@google.com, floitsch@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/2411633002 .
2016-10-14 11:25:25 +02:00
Zachary Anderson
4118680345 [windows] Revert virtual memory changes
Revert changes to virtual_memory_win.cc in case they are the cause of
the OOM failures on the debug windows x64 bot.

Review URL: https://codereview.chromium.org/2420853002 .
2016-10-13 22:02:12 -07:00
Stephen Adams
476ffbda5e Revert "Build CFG for various JS() foreign methods"
TBR=het@google.com
BUG=

Review URL: https://codereview.chromium.org/2411793007 .
2016-10-13 19:02:41 -07:00
Stephen Adams
a897bc3832 Build CFG for various JS() foreign methods
BUG=
R=het@google.com

Review URL: https://codereview.chromium.org/2404123002 .
2016-10-13 17:11:35 -07:00
Ryan Macnak
6839a23240 Revert "Use a single file for app snapshots."
This reverts commit 4f8b16df3b.

Review URL: https://codereview.chromium.org/2410303008 .
2016-10-13 15:29:23 -07:00
Konstantin Shcheglov
4c065c8443 Allow new public names in patches for the dart:_internal library.
R=paulberry@google.com, brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2413403002 .
2016-10-13 14:52:22 -07:00
Florian Schneider
1ebde18da6 Fix and dedup entries in language.status.
Correct mistakes from my previous CL and simplifications.

TBR=rmacnak@google.com,
BUG=

Review URL: https://codereview.chromium.org/2412323004 .
2016-10-13 14:49:27 -07:00