Commit graph

41863 commits

Author SHA1 Message Date
Ryan Macnak c9c33d9db3 Implement File::Map on Windows.
R=zra@google.com

Review URL: https://codereview.chromium.org/2430473002 .
2016-10-19 16:36:01 -07:00
Stephen Adams 50e557d176 Prevent inlining of js_library core.RegExp constructor
Inlining was achieving no beneficial effect.

- Enabled GVN of match start.
- Made string quote style uniform.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2437863002 .
2016-10-19 16:25:11 -07:00
Ryan Macnak 21a6f50892 Tearing off a top-level variable introduces a synthetic field which is added to the top-level class not but the library.
R=hausner@google.com

Review URL: https://codereview.chromium.org/2428353004 .
2016-10-19 15:34:25 -07:00
Matthias Hausner f73ea62c99 Add check for constness in constructor redirection
Const constructor can only redirect to another const constructor.

BUG=#27617
R=regis@google.com

Review URL: https://codereview.chromium.org/2439593003 .
2016-10-19 15:15:02 -07:00
Zachary Anderson 16db33b7a2 Propagate errors correctly in Socket.connect
socket.port can throw an exception. The error from the
exception, if there is one, has to go to the completer,
not be thrown up the stack, otherwise it may go to the
enclosing Zone rather than e.g. a try ... catch around
await Socket.connetc().

This is a possible fix for the issue below, but it is
tough to say because I don't have a reliable repro.

related #27440

R=asiva@google.com

Review URL: https://codereview.chromium.org/2426413006 .
2016-10-19 15:12:59 -07:00
Zachary Anderson 9d29251368 Remove dependency on Fuchsia's runtime library.
This library is no longer publicly exposed. The only functionality used
by it is the utility function for printing mx errors, which has now
moved into the vDSO and is available in <magenta/status.h>.

R=zra@google.com, zra@chromium.org

Review URL: https://codereview.chromium.org/2428373005 .
2016-10-19 15:09:32 -07:00
Stephen Adams 3b5c154138 Don't gvn HForeignCode without source text
There are a few synthetic templates that are generated from trees instead of source text. I don't think any are marked for GVN, but this is a hazard so best fix it.

TBR=sigmund@google.com

BUG=

Review URL: https://codereview.chromium.org/2431103003 .
2016-10-19 14:46:54 -07:00
Brian Wilkerson b3f66b03a1 Provide an extensible form of ToSourceVisitor (issue 27169)
R=matan@lurey.org

Review URL: https://codereview.chromium.org/2429243003 .
2016-10-19 14:31:21 -07:00
Paul Berry 84ec7f01c0 Make visibleLength/visibleOffset informative.
These summary fields are related to source offsets, so they are
affected by minute changes to the source code that don't affect its
API; therefore they should be marked as "@informative" so that they
don't appear in API summaries.

R=scheglov@google.com

Review URL: https://codereview.chromium.org/2432183003 .
2016-10-19 14:24:42 -07:00
Paul Berry 4729ba0055 In DeclarationResolver, handle generic function-typed parameters.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2441483002 .
2016-10-19 14:21:52 -07:00
Konstantin Shcheglov bf43e4b43e Validate local resolution scope, and compute initial name scope.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2439583003 .
2016-10-19 14:08:46 -07:00
Stephen Adams 1e793c96b2 Properties of flattenString
TBR=sigmund@google.com

Review URL: https://codereview.chromium.org/2432993004 .
2016-10-19 13:53:46 -07:00
Paul Berry 148af481ff Fix DeclarationResolver handling of annotations containing closures.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2436733004 .
2016-10-19 13:23:11 -07:00
Paul Berry d631a142a4 Create a README and pubspec for the front_end package.
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2436733003 .
2016-10-19 12:14:38 -07:00
Paul Berry 4054d93fc9 Handle default formal parameters in LocalElementBuilder
Fixes #27615.

R=scheglov@google.com

Review URL: https://codereview.chromium.org/2437793002 .
2016-10-19 11:17:43 -07:00
Konstantin Shcheglov 38e2b55fff Implement 'local' mode in TypeResolverVisitor.
If we start resolution not from CompilationUnit, we need to put type
parameters into scopes. This is not implemented yet.

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

Review URL: https://codereview.chromium.org/2432273003 .
2016-10-19 09:47:40 -07:00
Ryan Macnak 5ee94eb837 Generate an app snapshot even if the training run does a hard exit.
(As the analyzer and pub do.)

R=asiva@google.com

Review URL: https://codereview.chromium.org/2426843002 .
2016-10-19 09:37:47 -07:00
Zachary Anderson 8a909671e6 Fix Double.pow() for arm and mips
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2433933003 .
2016-10-19 09:01:55 -07:00
William Hesse cdfe272b37 Update status for chrome on macos co19 tests.
BUG=

Review URL: https://codereview.chromium.org/2434773002 .
2016-10-19 14:27:27 +02:00
Zachary Anderson 088347fd9d Reland "Add DoubleTestOp instruction"
Fixes DoubteTestOpInstr::AttributesEqual()

Review URL: https://codereview.chromium.org/2433813002 .
2016-10-18 22:46:36 -07:00
Zachary Anderson f6296cc91b Revert "Add DoubleTestOp instruction"
Review URL: https://codereview.chromium.org/2432903002 .
2016-10-18 21:57:05 -07:00
Zachary Anderson fa855cf1c2 Add DoubleTestOp instruction
This gives a ~5% bump to the Flutter layout benchmark
in checked mode.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2423843002 .
2016-10-18 21:24:12 -07:00
Stephen Adams 5a646b7827 Property extraction getters (tear-offs) are effect-free
This mostly allows better scheduling of the surrounding instructions.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2430683003 .
2016-10-18 20:13:26 -07:00
Konstantin Shcheglov b64e116422 Add TypeResolverMode and implement 'api' in TypeResolverVisitor.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2428233002 .
2016-10-18 19:31:14 -07:00
Brian Wilkerson d378dfcff8 Fix error codes (issue 27608)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2430873002 .
2016-10-18 17:30:04 -07:00
Florian Schneider 197d56d853 VM: Fix another dead-lock in background compiler.
Grabbing the lock must always take safepoints into account.

Observed as a flaky timeout on standalone/http_launch_test.

BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2426213002 .
2016-10-18 16:53:10 -07:00
Jacob Richman 4f6ce11bc8 Emulate compiling a source file in the context of an existing library. Add --debugger-compile flag that performs permissive dynamic calls on private members. Polish web_command.dart adding the ability to evaluate code in the context of an existing library.
BUG=
R=brianwilkerson@google.com, jmesserly@google.com

Review URL: https://codereview.chromium.org/2423313002 .
2016-10-18 16:34:48 -07:00
Nicholas Shahan 3f67c24cb8 Revert "Fix library name insert and access inconsistency on windows"
This reverts commit d8505ee264.

It was found to cause issues in the web file system when one file
was found to be within a root path.

R=jacobr@google.com

Review URL: https://codereview.chromium.org/2432603002 .
2016-10-18 16:25:03 -07:00
Jennifer Messerly 7b5e6be4a8 fix #27284, allow FutureUnionType to be preserved during generic inference
R=leafp@google.com

Review URL: https://codereview.chromium.org/2425143002 .
2016-10-18 15:55:27 -07:00
Konstantin Shcheglov 412cceb7d0 Add tests showing using LocalElementBuilder separately, for variable or body.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2428773004 .
2016-10-18 14:38:06 -07:00
Paul Berry 8fca9ba968 First cut at a file system abstraction for the front end.
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/2426773004 .
2016-10-18 14:10:14 -07:00
Konstantin Shcheglov 19702989a8 Get rid of _inFunction in ApiElementBuilder.
This visitor does not enter into function bodies.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2430513004 .
2016-10-18 14:03:42 -07:00
Florian Schneider 7e6d8f5b66 VM: Remove unnecesary load of isolate in some stubs.
The fast-path allocation can always load the current heap
from the thread object instead.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2427043002 .
2016-10-18 13:45:53 -07:00
Paul Berry 8c42e56964 Add "not intended to be implemented/extended" warnings to pkg/front_end.
This ensures that we may safely add methods to the classes in this
package without causing a breaking change.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2431733002 .
2016-10-18 13:31:40 -07:00
Zachary Anderson aa79ee775e DBC: Fix intrinsics bug
Fall-through when allocation fails.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2429723003 .
2016-10-18 13:07:19 -07:00
Sigmund Cherem 3cdcaeda96 Fix browser test status.
This is to match the state of the bots, it appears that chrome was recently upgraded.

BUG=

Review URL: https://chromiumcodereview-hr.appspot.com/2426093002 .

Committed: 940e498e17
2016-10-18 12:50:58 -07:00
Sigmund Cherem 2200ee77f7 Revert "Fix browser test status."
This reverts commit 940e498e17.
2016-10-18 12:48:15 -07:00
Sigmund Cherem 940e498e17 Fix browser test status.
This is to match the state of the bots, it appears that chrome was recently upgraded.

BUG=

Review URL: https://chromiumcodereview-hr.appspot.com/2426093002 .
2016-10-18 12:38:45 -07:00
Konstantin Shcheglov 529ebf7be2 Add (shared) tests for ApiElementBuilder and ElementBuilder.
Also copy API-only tests from the old CL.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2431783002 .
2016-10-18 12:28:09 -07:00
Brian Wilkerson 0464279ec1 More correction messages
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2428733005 .
2016-10-18 12:22:17 -07:00
Konstantin Shcheglov 13d2420a3d Extract ElementBuilder tests into a separate file.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2430723002 .
2016-10-18 10:22:45 -07:00
Zach Anderson df260e5fe7 Fix crashes on debug windows
Review URL: https://codereview.chromium.org/2426053002 .
2016-10-18 09:37:04 -07:00
Konstantin Shcheglov e1f8a0a103 Begin separating API and local element builders.
I will write separate tests for them and do some more clean up in
separate CLs.

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

Review URL: https://codereview.chromium.org/2425853003 .
2016-10-18 08:22:30 -07:00
Johnni Winther b262be749e 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

Committed: a8b2bfb5eb

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

Reverted: 5397c5427e
2016-10-18 16:06:03 +02:00
Johnni Winther 37afcd5197 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

Committed: 70159b7418

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

Reverted: 5397c5427e
2016-10-18 14:02:55 +02:00
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