Commit Graph

196 Commits

Author SHA1 Message Date
Vijay Menon 9732138317 Testing support for FF and Safari
Also travis support for testing FF.  See:

https://travis-ci.org/dart-lang/sdk/builds/159331789

On FF 48, 1965 out of 1979 tests are passing.  Run locally:
DDC_BROWSERS=Firefox npm test

On Safari 10 (tech preview), it fails immediately due to a static method named "caller".  We disallow it as a field, but not a method right now.  If I hack that out, 1972 out of 1979 tests appear to pass.

Run locally by installing tech preview and running:
DDC_BROWSERS=Safari SAFARI_BIN=/Applications/Safari\ Technology\ Preview.app/Contents/MacOS/Safari\ Technology\ Preview npm test
R=jmesserly@google.com, rnystrom@google.com

Review URL: https://codereview.chromium.org/2334763002 .
2016-09-14 08:41:43 -07:00
Bob Nystrom 33ff9a3d4f Fix type errors in sort().
If a comparer isn't provided, it was silently assuming the element type
implements Comparable, even though that isn't required. Fixed to add a
manual cast at each comparison.

A stricter faster approach might be to check that the type argument
itself is a type that implements Comparable, but I don't know if that's
too pessimistic, or even possible to do.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2311513002 .
2016-09-08 17:14:36 -07:00
Bob Nystrom 8c7dd5cd04 Cast InternalMap to Map.
It's a tag interface that doesn't declare that it implements Map but all
classes that implement it also implement Map, so just do a cast.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2304323002 .
2016-09-08 16:23:45 -07:00
Jacob Richman 38724f0626 Update web_command code so that it continues to use the legacy module loader. Drive by removal of misleading comments.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2303163002 .
2016-09-06 09:57:05 -07:00
Vijay Menon 9af2fb0115 More DDC mirrors support
(Note, this is a straight migration of the old DDC repo CL. :-))

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2301973002 .
2016-09-01 10:13:31 -07:00
Bob Nystrom 4b321d0ecd Import "NoInline" into core so StackTrace's use of it resolves.
R=vsm@google.com

Review URL: https://codereview.chromium.org/2277753005 .
2016-08-25 17:08:52 -07:00
John Messerly c1139934a7 fix #626, add AMD module format and make it default
R=nweiz@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/2249233002 .
2016-08-25 09:39:36 -07:00
Jacob Richman 87577db2b2 Add dart:js_util library and tests to ddc. This library is already added to dart2js and dartium.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2269963005 .
2016-08-24 09:13:06 -07:00
John Messerly 9b421ebb4f fixes #627, update DDC Future.then signature
R=leafp@google.com

Review URL: https://codereview.chromium.org/2259433002 .
2016-08-17 10:25:10 -07:00
Vijay Menon 144cca4b62 Roll DDC to latest dart:html
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2207273002 .
2016-08-03 17:55:05 -07:00
Brenna Milligan 8b0b57844b Get rid of library proto information for debugger libraries
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2208533003 .
2016-08-02 17:08:27 -07:00
Brenna Milligan a7dc32f424 Deprecation of ClassMetadata wrapper for Class formatters so a stand-alone class is recognizable.
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2205733002 .
2016-08-02 09:43:02 -07:00
John Messerly e51f9de339 fixes #616, statics on callable functions
also fixes `this` for them

R=vsm@google.com

Review URL: https://codereview.chromium.org/2200913002 .
2016-08-01 17:12:37 -07:00
John Messerly 344124e4a1 fix optional params to mock methods, allow all signatures
switches to use the same technique as `dsend`

R=vsm@google.com

Review URL: https://codereview.chromium.org/2201973002 .
2016-08-01 16:21:59 -07:00
Brenna Milligan d18ab46592 Addition of StackTrace formatters
R=alanknight@google.com, jacobr@google.com

Review URL: https://codereview.chromium.org/2189673002 .
2016-07-27 15:14:55 -07:00
Brenna Milligan d7c7c19c54 Library children object fix
R=alanknight@google.com, jacobr@google.com

Review URL: https://codereview.chromium.org/2176233002 .
2016-07-25 17:44:59 -07:00
Brenna Milligan 3d03bee32d Library custom formatters
R=alanknight@google.com, jacobr@google.com, jmesserly@google.com

Review URL: https://codereview.chromium.org/2164763005 .
2016-07-22 14:15:53 -07:00
John Messerly c1e97b495f fix #603, support mock objects
if noSuchMethod is used to implement an abstract member, this will be detected and appropriate code will be generated.

R=leafp@google.com

Review URL: https://codereview.chromium.org/2158173003 .
2016-07-19 13:24:02 -07:00
Brenna Milligan 409fbcf956 Custom formatter popup booleans
BUG=
R=alanknight@google.com

Review URL: https://codereview.chromium.org/2137063003 .
2016-07-11 16:21:04 -07:00
John Messerly 86d9eb10d0 don't use JS_CONST in dart:html
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2113913003 .
2016-07-01 10:53:27 -07:00
Jacob Richman f0cde883e9 Change allowInterop to a generic method.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2106613002 .
2016-06-29 14:41:32 -07:00
Brenna Milligan 844cfdb990 maxspanlength setter
Merge branch 'master' of https://github.com/dart-lang/dev_compiler

Merge branch 'master' of https://github.com/dart-lang/dev_compiler

comments and 10001 case

naming and logic changes

logic updates and variable renaming

Merge branch 'master' of https://github.com/dart-lang/dev_compiler

Array formatting customized to look like JS

BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2101233004 .
2016-06-28 13:48:41 -07:00
Brenna Milligan d55b213947 Array formatting customized to look like JS
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2100803007 .
2016-06-28 11:13:51 -07:00
Andrew Krieger 87bcbf9147 Move type tagging logic out of setSignature
setSignature is only called for classes with constructors or static
members, so previously _runtimeType was only set explicitly on such
classes. Now _runtimeType is not set on any classes except for Object,
and all other types inherit _runtimeType from Object.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2076713002 .
2016-06-27 15:29:15 -07:00
John Messerly d27eda4ffc implement user-defined nSM, Object members on functions
fix #591 and fix #59

R=vsm@google.com

Review URL: https://codereview.chromium.org/2061373003 .
2016-06-22 17:18:52 -07:00
John Messerly 430e8f15af Partial fix for call methods #542
This fixes the generated code to support these. Subtype checks are not fixed yet.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2069903002 .
2016-06-16 16:38:43 -07:00
Leaf Petersen 3e5d1d80e6 Fix function subtyping crash
Fixes #588

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2069653003 .
2016-06-14 09:55:04 -07:00
Priscilla Lee 5016cbce59 Fixed type error in MapEntry and added keyToStringConfig to display the toString() of a key in a MapEntry preview.
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2033433007 .
2016-06-08 10:12:53 -07:00
Stephen Adams 68f90ac82b Refactoring assignment
The idea is to have more _emitXXX methods, so that different paths for
the same semantic action (e.g. implicit vs explicit 'this') call the
same _emitXXX method.

This is the first (simplest) step: assignments.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2039173005 .
2016-06-07 17:09:46 -07:00
Stephen Adams aea2fa1291 Update Symbol.hashCode
New dart2js version avoids inefficient String.hashCode

TBR=vsm@google.com

Review URL: https://codereview.chromium.org/2040963005 .
2016-06-06 12:34:59 -07:00
Stephen Adams 5fd923523b Faster type tests
Put type tests (is, as, type assertion) on the types as 'is', 'as' and '_check' methods.
The check

    dart.check(x, core.String);

becomes

    core.String._check(x);

which is more concise and allows the test to be specialized.

In one scrolling action, 224ms in dart.as and dart.check is replaced by 89ms of checks across the specializations.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2012153002 .
2016-06-03 15:35:42 -07:00
Jacob Richman fb20c9d6a4 Switch how we track whether trackDdcProfile is set to reduce the performance impact. sra was seeing this call hit 14% usage in the chrome profile.
Fill in whitelist call ist and add support for list of whitelists that apply to calls only.

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2032903003 .
2016-06-02 16:59:33 -07:00
Jacob Richman 61a1d8c9c8 Fix a few cases were obj and name were used instead of $obj and $name. remove ProfileEntry class as sadly defining a class in operations.dart appears to have an ordering issue which causes two tests to fail.
Review URL: https://codereview.chromium.org/2035583004 .
2016-06-02 13:07:51 -07:00
Jacob Richman 314bd180a2 Profile dynamic calls.
Debug logic

BUG=

patch from issue 2012423005 at patchset 1 (http://crrev.com/2012423005#ps1)

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

Review URL: https://codereview.chromium.org/2024353002 .
2016-06-02 09:59:23 -07:00
Leaf Petersen 40c7ac9038 Wire up class hierarchy for recursive inheritance
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2033543002 .
2016-06-01 19:21:45 -07:00
Stephen Adams 73479a600c Throw TypeError instead of CastError for type coercions.
Added 'tag' type StrongModeError, implemented by all errors that are
specific to strong mode semantics.

Failed casts throw CastError(Implementation) or StrongModeCastError.
Failed type assertions and reified coercions throw TypeError or
StrongModeTypeError.

Triaged some tests. Some pass due to now throwing a TypeError, many
pass for unknown reasons.

R=leafp@google.com

Review URL: https://codereview.chromium.org/2026133002 .
2016-06-01 10:18:17 -07:00
Leaf Petersen 70698bacf0 Short circuit for 'as dynamic'
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2007423003 .
2016-05-25 21:44:34 -07:00
Stephen Adams a7174ce8c2 Tweak _checkPrimitiveType
V8 does better with  typeof x == 'string'

TBR=vsm@google.com

Review URL: https://codereview.chromium.org/2015513005 .
2016-05-25 20:23:43 -07:00
Stephen Adams d094888eec Use factory constructor for list literals
The list literal `<int>[1, 2, 3]` was

    dart.list([1, 2, 3], core.int)

now becomes

    JSArrayOfInt().of([1, 2, 3])

R=leafp@google.com

Review URL: https://codereview.chromium.org/2006443002 .
2016-05-25 17:40:46 -07:00
Alan Knight 451478b208 Add types for valueFromDecomposedDate
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/2010873002 .
2016-05-25 16:09:36 -07:00
Leaf Petersen 3e9ed11db6 Name and hoist types
Adds infrastructure for naming and hoisting types in various ways. Makes an initial cut at how to slice the naming, but we will want to adjust.

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1988023008 .
2016-05-25 11:07:38 -07:00
Jacob Richman d4dd53ede6 Add generic types to Sort and Comparable. Fix crasher bug in codegen.
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/2011973002 .
2016-05-25 10:42:23 -07:00
Alan Knight fb363715f3 Add a type on lazyAsJsDate
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2010693002 .
2016-05-24 17:35:10 -07:00
John Messerly e3836901c3 Make DateTime use in the SDK typed
R=leafp@google.com

Review URL: https://codereview.chromium.org/2004463004 .
2016-05-23 09:17:03 -07:00
Leaf Petersen e6e5635a83 Optimize const construction
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1998113004 .
2016-05-20 17:53:28 -07:00
John Messerly 1e0295d4a5 fix performance of setType
it was mutating the class (e.g. JSArray<int>) every time an instance was constructed (!)

R=leafp@google.com

Review URL: https://codereview.chromium.org/1999273002 .
2016-05-20 17:46:13 -07:00
Jacob Richman 41bac633e1 Fix debugger
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1997473007 .
2016-05-20 11:11:43 -07:00
John Messerly f950e422b8 fix #577 - correctly toString ES Symbols
R=sra@google.com

Review URL: https://codereview.chromium.org/1993293002 .
2016-05-19 12:33:06 -07:00
Stephen Adams ed77841603 Better boolean conversion tests.
- Same errors as VM & Dartium

  - Failed assertion: boolean expression must not be null
  - type 'int' is not a subtype of type 'bool' in boolean expression

- All boolean conversion contexts use the same logic
- No false positives from combining null and as-bool checks in other contexts

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1993023003 .
2016-05-19 12:04:59 -07:00
Leaf Petersen 220553b7e7 Future flattening at runtime.
This implements basic one-level future flattening of the runtime
types.

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1997473002 .
2016-05-18 15:47:26 -07:00