Commit graph

27946 commits

Author SHA1 Message Date
zra@google.com
9c352e0898 Moves BUILD.gn config from root to runtime.
Cannot checkout a single file from svn through gclient.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41677 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 22:59:00 +00:00
paulberry@google.com
9bc06fbf41 Workaround for ConstantVisitor dependency issues.
This restores proper test functionality on the buildbots.  I plan to
follow up with a more permanent fix.

BUG=dartbug.com/21572
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41676 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 22:55:58 +00:00
regis@google.com
250eda4a94 Implement bigint intrinsics on MIPS.
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41675 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 22:46:17 +00:00
regis@google.com
eea98ee4df Fix unsigned multiplication in MIPS simulator (add assembler regression test).
Fix breakpoint handling in MIPS simulator.
Fix potential overflow in Bigint_sqrAdd intrinsic on ARM.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41674 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 22:28:58 +00:00
zra@google.com
b4d3762221 Adds GN build files for building in GN based projects.
Review URL: https://codereview.chromium.org//690923003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41673 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 22:03:55 +00:00
scheglov@google.com
21fa0f35f8 Issue 21549. Fix for infinite loop in the Angular expression parser (Dart version).
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21549

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41672 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 21:10:57 +00:00
paulberry@google.com
95b485ce90 Add language tests for bugs 21565 and 21566.
R=brianwilkerson@google.com, floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41670 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 16:52:34 +00:00
paulberry@google.com
cc14b09855 Fix AccessSemantics for function typedefs and "dynamic".
R=johnniwinther@google.com, scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41669 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 16:48:00 +00:00
whesse@google.com
3b4613ca3a Enable dart2js compilation for new HTML tests.
BUG=
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41668 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 14:59:14 +00:00
vegorov@google.com
29f021439a Infer range for BIT_XOR.
When selecting representations unbox integer phis that have Int32 range and have only constants or boxing operations flowing into them.

BUG=http://dartbug.com/13869
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41667 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 14:51:10 +00:00
whesse@google.com
89c156d596 Suppress flaky polymer tests on Safari
BUG=dartbug.com/21434
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41666 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 14:37:34 +00:00
lrn@google.com
b02786e0c1 Mark Firefox/jsshell as failing on double_parse_test.
The ECMAScript spec allows non-IEEE-754 compliant parsing, probably because
that was what Netscape was already doing.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41665 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 14:25:24 +00:00
lrn@google.com
5bb4d992b4 Add more double-parsing tests.
I was looking at double parsing, and wanted more tests for myself anyway.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41664 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 13:31:40 +00:00
johnniwinther@google.com
dd75144822 Add compile-time errors for enums.
BUG=
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41663 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 12:58:42 +00:00
eernst@google.com
4074b50818 Revert "Working insertion of hash values; added a few labels in spec"
This reverts commit r41658.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41662 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 11:39:40 +00:00
lrn@google.com
b22e265e1f There are NativeTypedData classes that aren't lists and have no "length".
Review URL: https://codereview.chromium.org//714873002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41661 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 11:03:39 +00:00
lrn@google.com
e0ed6f6385 Arguments swapped in IndexError constructor.
Amazingly only caught by dart2js.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41660 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 10:29:21 +00:00
floitsch@google.com
5f944a56da Revert "dart2js: Don't emit additional precompiled file."
This reverts commit r41657.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41659 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 10:20:28 +00:00
eernst@google.com
9570a582eb Working insertion of hash values; added a few labels in spec
Hash values are now computed for each "paragraph" starting with \LMHash
(which includes subsequent grammar, dartCode, itemize blocks, but stops
at \section-like commands).  Now addlatexhash.dart expects three arguments
(first the source latex file, then the destination simplified and
hash-value-annotated latex source file, and finally a file name used to
create the list of hash values emitted).  Adjusted testing accordingly.
Added a test for robustness of the hash value generation: It is checked
that lots of different "unimportant" changes make no difference for the
generated hash values (e.g., we can add/remove comments, change white
space, add \commentary{..} etc. without changing the hash values).

In order to ensure that all "structure" commands in the spec have a label,
I added an \LMLabel{..} a handful of places, following the style which is
used throughout the spec.

In dart.sty, the \renewcommand that made \LMHash{} produce a fixed
hash value has been removed such that the actual hash values are now
inserted into the generated spec PDF/DVI file.  Tests have been adjusted
to handle this difference between the spec with and without hash values
when comparing the two.

R=gbracha@google.com, lrn@google.com, ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41658 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 10:08:12 +00:00
floitsch@google.com
8edab4fba5 dart2js: Don't emit additional precompiled file.
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41657 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 09:47:08 +00:00
lrn@google.com
fab20ad449 Change Expect.stringEquals to give more information about the difference, so it's possible to find it in a long string.
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41656 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 09:16:14 +00:00
lrn@google.com
e2b59a6614 Fix try/poi/serialize_test after adding class to dart:core.
Review URL: https://codereview.chromium.org//711303002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41655 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 09:02:46 +00:00
johnniwinther@google.com
0b394b0f2e Support enums in dart2js.
- still missing warnings/errors.

BUG=https://code.google.com/p/dart/issues/detail?id=21417
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41654 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 08:28:32 +00:00
lrn@google.com
42dac4c7b4 Add some ArgumentError and RangeError constructors that capture more information.
Switch some uses of RangeError.range to RangeError.index.
Fix bug in Queue where elementAt allowed `length` as input.

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41653 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 07:55:47 +00:00
brianwilkerson@google.com
bc1972c228 Add parser recovery tests. These correspond to some cases that dart2js is currently handling that I wanted to make sure we also handled.
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41652 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 03:46:08 +00:00
scheglov@google.com
affc91a881 Issue 21552. Fixes for navigation, hover and rename in instance creation expressions.
R=brianwilkerson@google.com, paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21552

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41651 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 03:01:21 +00:00
scheglov@google.com
24a93f8cee Report HintCode.UNUSED_ELEMENT for classes.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41650 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 02:57:23 +00:00
nweiz@google.com
bf84233ad9 Rewrite the pkg/yaml parser.
This increases the speed by about 10x. It also adds a number of new featurse.

BUG=21317, 20859
R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41649 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 21:49:37 +00:00
paulberry@google.com
5aa9f8cd8c Fix incorrect syntax in constant evaluation test.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41648 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 20:31:27 +00:00
gbracha@google.com
27db1ea7af orrect cut/paste error that replicated an item in the list of constants and (worse) deleted another.
Review URL: https://codereview.chromium.org//715653003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41647 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 20:23:06 +00:00
brianwilkerson@google.com
93cecbd276 Fix hurt recovery
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41646 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 19:38:15 +00:00
paulberry@google.com
3bf0ca6aa8 Fix analyzer's treatment of mixin constructors.
This changes analyzer to match the spec (and the VM behavior) with
regard to which base class constructors are forwarded through mixin
applications: only those constructors that take zero optional
parameters are forwarded.  In addition, the tests in tests/language/
are updated to match analyzer and the VM.

There is one small difference between analyzer and the VM behavior:
the spec says that if no constructors are forwarded at all, then the
mixin application will automatically acquire an implicit default
constructor.  The VM behavior is to issue an error in this
circumstance.  After consulting with Gilad, it seems like the VM
behavior is more consistent with the intent, so I've chosen to make
analyzer and the tests match the VM behavior, in the hopes that the
spec can be changed accordingly.

Should we change our minds in the future and decide that we want to
keep the spec as is, the tests and analyzer behavior can easily be
changed.

BUG=dartbug.com/19576
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41645 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 19:28:40 +00:00
zra@google.com
4de61e70d3 Adds extra validation to code collection test.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41644 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 19:15:27 +00:00
paulberry@google.com
346ee76510 Add support for type references to AccessSemantics.
We now handle references to toplevel classes, e.g.:

  class C {}
  Type t = C;

And references to type parameters, e.g.:

  class C<T> {
    f() {
      Type t = T;
    }
  }

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41643 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 19:14:00 +00:00
alanknight@google.com
e6bdf284bf Generate docgen file names with hyphens in their names instead of colons
BUG=
R=kevmoo@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41642 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 18:25:13 +00:00
brianwilkerson@google.com
c258a1d7f6 Create fewer unnecessary lists
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41641 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 17:25:58 +00:00
vegorov@google.com
0a8e45ae35 Improve precision of range analysis by allowing it to track ranges across all int typed phis.
Even when range of the integer definition is unknown we can optimistically assign full int64-range to it even though tagged integer definition can contain instance of the Bigint. This is based on the following observation: we only use ranges when working with unboxed arithmetic in the optimized code, but the widest possible unboxed arithmetic is 64-bit (mint) one and corresponding unboxing operations will deoptimize if they get Bigint as an input. This makes it safe to assume that any integer definition fits into 64-bit range *once unboxed*.

Additional small fixes:

- Fix ranges assigned to loads from Int32/Uint32 arrays on 64-bit platform - it was overly conservative;

- Add UnboxUint32 range inference to ensure that range is not lost when it passes through box-unbox pair;

- When canonicalizing Binary/Unary Integer operations ensure that we unwrap UnboxUint32(Constant(C)) -> C.

BUG=
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41640 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 17:16:14 +00:00
floitsch@google.com
b07b2ce66a dart2js: Trust type annotations more often with --trust-type-annotation.
R=sra@google.com

Committed: https://code.google.com/p/dart/source/detail?r=41636
Reverted: https://code.google.com/p/dart/source/detail?r=41637

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41639 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 16:53:44 +00:00
fschneider@google.com
012709cfaf Improve type propagation for AssertAssignable.
Updating the type of the incoming definition during
type propagation like we do for CheckClass, CheckSmi, etc.

This helps if the original definition is used instead of the
redefined value.

We also can get rid of storing back every local variable
at function start in unoptimized code in checked mode.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41638 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 16:25:48 +00:00
floitsch@google.com
c265e061e2 Revert "dart2js: Trust type annotations more often with --trust-type-annotation."
This reverts commit r41636.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41637 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 16:20:34 +00:00
floitsch@google.com
85973b4ae6 dart2js: Trust type annotations more often with --trust-type-annotation.
R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41636 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 15:50:14 +00:00
whesse@google.com
beaa60020c Refactor test scripts browser multitest loop.
BUG=
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41635 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 14:25:59 +00:00
sigurdm@google.com
f2e2784cea Deferred hunks had a . too much in their file names.
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41634 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 13:45:35 +00:00
whesse@google.com
ea27275aa6 Refactor browser test enqueuing in test scripts.
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41633 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 13:37:40 +00:00
ahe@google.com
9bf0729a4a Don't delete old version before new version is downloaded.
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41632 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 13:34:48 +00:00
sigurdm@google.com
bab7073aff Support for labels in non-loop code in new dart backend
Still no support for `switch`

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41631 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 13:26:08 +00:00
kustermann@google.com
403e0c33cd Add selectedProtocol() to abstract _SecureFilter class
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41630 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 13:20:56 +00:00
johnniwinther@google.com
558dd52ba6 Fix docgen tests.
BUG=
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41629 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 13:15:10 +00:00
kustermann@google.com
53cc8c512d Support for the ALPN extension of the TLS protocol for Client and Server
This CL uses the NSS support for the ALPN extension of the TLS protocol
(see RFC 7301).

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41628 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 12:31:02 +00:00
lrn@google.com
e5bc666107 Change SplayTreeMap test to not cause static type warnings, only runtime errors.
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41627 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-10 11:53:34 +00:00