Commit Graph

206 Commits

Author SHA1 Message Date
Jan-Hendrik Dolling 89560c68a0 change "the the" to the 2016-10-28 21:47:50 +02:00
Jennifer Messerly cc1ad8cdde fix #27532, implementing a native type with fields
R=vsm@google.com

Review URL: https://codereview.chromium.org/2430953006 .
2016-10-20 15:59:18 -07:00
Jennifer Messerly 5111675810 fix #27631, get/set methods no longer shadow index operator
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/2435163002 .
2016-10-20 15:45:29 -07:00
Alan Knight 47150f50d5 Use dart:html prefixes (e.g. webkitAudioNode) on other browsers
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2431443002 .
2016-10-19 16:43:41 -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
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
Vijay Menon 2495f6a060 Handle private members in dart:mirrors
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/2410453002 .
2016-10-10 15:55:20 -07:00
Bob Nystrom 9b6317d571 Stop using unittest in point_test and rectangle_test.
This also makes rectangle_test strong mode clean. Alas, the test isn't
passing because of another bug, but once that bug is fixed, it should.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2407913002 .
2016-10-10 11:02:37 -07:00
Bob Nystrom 20e402c43d Fix type errors in math.min() and math.max().
Really, this works around them, but the workaround is all round better
code.

Remove the Dart implementations of min() and max() and just forward to
the JS ones. In DDC, all numbers are double, so the type checks to
handle them specifically aren't meaningful. Also, we don't need the
other special case checks in there to help dart2js optimize them.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2386493003 .
2016-09-30 13:18:07 -07:00
Bob Nystrom 2c313a43ac Fix some errors around []= in core types.
- Get rid of JSMutableIndexable since it isn't useful.
- Make JSIndexable generic. (I think dart2js already did.)
- Add .length to NativeTypedArray since it no longer inherits it from
  JavaScriptIndexingBehavior.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2378423003 .
2016-09-30 13:03:10 -07:00
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