Vijay Menon
7d73159017
Fix ddc build
...
Not sure why this just started breaking. I don't think Ben added this
param - just a use of it. Our patch script might not be catching the
mismatch.
TBR=jmesserly@google.com ,bkonyi@google.com
Review-Url: https://codereview.chromium.org/2954513003 .
2017-06-22 14:27:22 -07:00
Vijay Menon
ecca1e1c2a
Add FallThroughError patch
...
TBR=jensj@google.com ,rnystrom@google.com
Review-Url: https://codereview.chromium.org/2953693002 .
2017-06-21 16:33:31 -07:00
Jennifer Messerly
070f31a899
optimize null safe ops by using DDC's let abstraction
...
We were already using it for most other things (increment ops, op assign, ??, cascades, etc)
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2944413002 .
2017-06-20 10:31:30 -07:00
Jennifer Messerly
c848476643
fix super from constructors
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2938713002 .
2017-06-13 16:47:20 -07:00
Jennifer Messerly
1f50f0d126
fix mixins with factory constructors
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2935933005 .
2017-06-13 15:58:50 -07:00
Alan Knight
9e3fdbf94d
Update DDC core patch for ConstantExpressionError
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2941593002 .
2017-06-13 13:57:42 -07:00
Jennifer Messerly
71c7914061
fix checking of dsend generic type bounds
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2935553002 .
2017-06-12 16:17:39 -07:00
Jennifer Messerly
e79fbd167b
fix #29789 , avoid unneccessary dcalls and checks in dart:_runtime
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2932043003 .
2017-06-12 15:44:45 -07:00
Jennifer Messerly
334354f968
fix #29753 , use ES5 constructors for ddc
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2934623003 .
2017-06-12 15:31:32 -07:00
Vijay Menon
06c4619b3e
Fix int test
...
Fixes #29822
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2927703005 .
2017-06-08 17:42:35 -07:00
Vijay Menon
a7645f817f
Optimize runtime code on hot methods
...
ochafik: this should include your internal fixes.
Here are generated diffs:
JSArray:
[dartx._get](index) {
- if (!(typeof index == 'number')) dart.throw(_js_helper.diagnoseIndexError(this, index));
- if (dart.notNull(index) >= dart.notNull(this[dartx.length]) || dart.notNull(index) < 0) dart.throw(_js_helper.diagnoseIndexError(this, index));
+ if (index == null || index >= this.length || index < 0) {
+ dart.throw(_js_helper.diagnoseIndexError(this, index));
+ }
return this[index];
}
[dartx._set](index, value) {
E._check(value);
this[dartx.checkMutable]('indexed set');
- if (!(typeof index == 'number')) dart.throw(_js_helper.diagnoseIndexError(this, index));
- if (dart.notNull(index) >= dart.notNull(this[dartx.length]) || dart.notNull(index) < 0) dart.throw(_js_helper.diagnoseIndexError(this, index));
+ if (index == null || index >= this.length || index < 0) {
+ dart.throw(_js_helper.diagnoseIndexError(this, index));
+ }
R=jmesserly@google.com , ochafik@google.com
JSString:
[dartx.codeUnitAt](index) {
- if (!(typeof index == 'number')) dart.throw(_js_helper.diagnoseIndexError(this, index));
- if (dart.notNull(index) < 0) dart.throw(_js_helper.diagnoseIndexError(this, index));
- if (dart.notNull(index) >= dart.notNull(this[dartx.length])) dart.throw(_js_helper.diagnoseIndexError(this, index));
+ if (index == null || index < 0 || index >= this.length) {
+ dart.throw(_js_helper.diagnoseIndexError(this, index));
+ }
return this.charCodeAt(index);
}
[dartx.startsWith](pattern, index) {
if (index === void 0) index = 0;
- _js_helper.checkInt(index);
- if (dart.notNull(index) < 0 || dart.notNull(index) > dart.notNull(this[dartx.length])) {
+ let length = this.length;
+ if (dart.notNull(index) < 0 || index > length) {
dart.throw(new core.RangeError.range(index, 0, this[dartx.length]));
}
if (typeof pattern == 'string') {
let other = pattern;
- let otherLength = other[dartx.length];
- let endIndex = dart.notNull(index) + dart.notNull(otherLength);
- if (endIndex > dart.notNull(this[dartx.length])) return false;
+ let otherLength = other.length;
+ let endIndex = index + otherLength;
+ if (endIndex > length) return false;
return other == this.substring(index, endIndex);
}
return pattern[dartx.matchAsPrefix](this, index) != null;
}
get [dartx.isEmpty]() {
- return this[dartx.length] == 0;
+ return this.length == 0;
}
[dartx.compareTo](other) {
- if (!(typeof other == 'string')) dart.throw(_js_helper.argumentErrorValue(other));
+ if (other == null) dart.throw(_js_helper.argumentErrorValue(other));
return dart.equals(this, other) ? 0 : this < other ? -1 : 1;
}
get [dartx.hashCode]() {
let hash = 0;
- for (let i = 0; i < dart.notNull(this[dartx.length]); i++) {
+ let length = this.length;
+ for (let i = 0; i < length; i++) {
hash = 536870911 & hash + this.charCodeAt(i);
hash = 536870911 & hash + ((524287 & hash) << 10);
hash = hash ^ hash >> 6;
...
}
[dartx._get](index) {
- if (!(typeof index == 'number')) dart.throw(_js_helper.diagnoseIndexError(this, index));
- if (dart.notNull(index) >= dart.notNull(this[dartx.length]) || dart.notNull(index) < 0) dart.throw(_js_helper.diagnoseIndexError(this, index));
+ if (index == null || index >= this.length || index < 0) {
+ dart.throw(_js_helper.diagnoseIndexError(this, index));
+ }
return this[index];
}
Review-Url: https://codereview.chromium.org/2927763004 .
2017-06-08 17:31:44 -07:00
Leaf Petersen
671091b9ef
Regenerate DDC SDK.
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2926523002 .
2017-06-05 16:28:16 -07:00
Alan Knight
a865f0ecf2
Update DDC libraries to match SDK, and debugger_test golden file
...
BUG=
R=jacobr@google.com
Review-Url: https://codereview.chromium.org/2903333002 .
2017-05-25 15:00:51 -07:00
Vijay Menon
75afaf5a24
Support reflectClass on parameterized classes
...
Internal pageloader usage hits this.
R=rnystrom@google.com
Review-Url: https://codereview.chromium.org/2899343004 .
2017-05-25 13:27:35 -07:00
Alan Knight
0bb2d5e548
Update DDC html libraries to match SDK
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2899083007 .
2017-05-25 09:33:23 -07:00
Vijay Menon
6402ad477d
Use the dart2js patch for dart:convert to get latest type fixes
...
BUG=
R=floitsch@google.com
Review-Url: https://codereview.chromium.org/2896253003 .
2017-05-24 07:33:19 -07:00
Jacob Richman
58851f2f06
Add ignoreAllErrors option to dart:_runtime
...
Supports users who want to try to run broken code while porting a Dart
app to strong mode.
BUG=
R=alanknight@google.com
Review-Url: https://codereview.chromium.org/2893803006 .
2017-05-19 15:53:08 -07:00
Vijay Menon
92d39a4e08
One more minor mixin fix
...
We need to preserve the Mixin constructor to make sure metadata (e.g.,
implements) is injected in the right place.
R=jacobr@google.com
Review-Url: https://codereview.chromium.org/2779063002 .
2017-05-19 07:41:29 -07:00
Vijay Menon
b82b0e29ed
DDC fixes for SpeechRecognition
...
R=alanknight@google.com
Review-Url: https://codereview.chromium.org/2896463002 .
2017-05-18 17:05:51 -07:00
Vijay Menon
59e6c332ea
Regenerate DDC artifacts
...
TBR=rnystrom@google.com
Review-Url: https://codereview.chromium.org/2886403006 .
2017-05-18 13:29:26 -07:00
Jacob Richman
61b0cbd685
Fix language/stacktrace_rethrow_error_test_withtraceparameter_multi test
...
Fix is to remove unexpected frames on the stack trace by inlining
all calls to determine current DDC configuration settings.
BUG=
R=leafp@google.com , vsm@google.com
Review-Url: https://codereview.chromium.org/2879393002 .
2017-05-15 16:27:42 -07:00
Jacob Richman
ff588405fe
Fix bugs supporting configuring DDC runtime settings before the application starts.
...
I don't see a better way to implement this given how DDC lazily
initializes fields.
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2875063003 .
2017-05-12 15:59:07 -07:00
Leaf Petersen
8cdcfb98e2
Use Null argument for callback arity check in async_error.
...
Avoid relying on fuzzy arrow semantics by using Null for the callback type
parameter to be checked against. Any function of the right arity will pass the "is"
check.
BUG=
R=lrn@google.com
Review-Url: https://codereview.chromium.org/2878553003 .
2017-05-11 17:36:47 -07:00
Bob Nystrom
979a75c4b3
Fix more errors in DDC SDK.
...
R=jacobr@google.com , vsm@google.com
Review-Url: https://codereview.chromium.org/2871363002 .
2017-05-11 11:22:05 -07:00
Bob Nystrom
a68b44924e
Disambiguate setters and getters when patching DDC SDK.
...
Stdio was having its setters applied twice instead of applying the
getter and setter each once.
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2874713005 .
2017-05-10 16:56:41 -07:00
Leaf Petersen
a2ebe9c809
Update DDC built sdk.
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2873363002 .
2017-05-10 10:30:33 -07:00
Jacob Richman
a35b79f178
Support configuring DDC runtime settings before the application starts and normalize API for configuring runtime settings.
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2874813002 .
2017-05-10 10:05:49 -07:00
Jennifer Messerly
4c377076bf
fix #29585 , implement equality for tearoffs
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2873073002 .
2017-05-09 16:21:51 -07:00
Vijay Menon
36356c28c1
Better stack trace support
...
- Caches stack trace objects (package:stack_trace appears to rely on this)
- Better support for stack traces on primitives
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2869463002 .
2017-05-09 14:58:34 -07:00
Jennifer Messerly
811a9eed1d
Revert "Revert "fix #27256 , track type bounds for generic functions""
...
This reverts commit 3a23e604e2 .
The problem was unrelated to the CL; it appears to be a dart:async break of package:async.
In the meantime we have turned on --unsafe-force-compile to DDC's shapshotting step
Review-Url: https://codereview.chromium.org/2869733006 .
2017-05-09 14:20:25 -07:00
Vijay Menon
96f9287c0b
Regenerate DDC artifacts
...
I had to put --unsafe-force-compile back to get the snapshot to build. Investigating...
TBR=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2873013003 .
2017-05-09 14:08:47 -07:00
Alan Knight
3a23e604e2
Revert "fix #27256 , track type bounds for generic functions"
...
This reverts commit b58f826976 .
BUG=
Review URL: https://codereview.chromium.org/2870543005 .
2017-05-09 12:58:03 -07:00
Jennifer Messerly
b58f826976
fix #27256 , track type bounds for generic functions
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2867493002 .
2017-05-09 11:42:40 -07:00
Bob Nystrom
4145a49503
Move Dart versions of math.min() and math.max() into VM patch file.
...
For DDC and dart2js, we call the corresponding JS function. This is
shorter and avoids a strong mode type error in the Dart implementation.
R=jmesserly@google.com , lrn@google.com
Review-Url: https://codereview.chromium.org/2858353003 .
2017-05-05 15:15:21 -07:00
Jennifer Messerly
171f7ba592
fix #29544 , mixins to a class with named constructors
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2859703003 .
2017-05-04 12:33:45 -07:00
Vijay Menon
d5ecaf1088
Loosen type check on runZoned errorHandler
...
R=floitsch@google.com , lrn@google.com
Review-Url: https://codereview.chromium.org/2858843002 .
2017-05-03 05:30:06 -07:00
Jennifer Messerly
5e82b8c2e9
fix #29530 , field metadata generation
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2861503002 .
2017-05-02 14:45:34 -07:00
Jennifer Messerly
eeb0e1d2ae
fix #27258 , don't allow dynamic set of a final field
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2847893002 .
2017-05-01 15:36:32 -07:00
Jennifer Messerly
c305d183c3
fix #29504 , dcall on object member when a temporary was involved.
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2848153002 .
2017-05-01 10:57:49 -07:00
Vijay Menon
7bedf63e1e
dart:mirrors workaround for generic methods
...
Fixes #29509
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2852723002 .
2017-04-28 20:02:13 -07:00
Bob Nystrom
7f7c681893
Fix a batch of DDC SDK compile errors.
...
R=floitsch@google.com , vsm@google.com
Review-Url: https://codereview.chromium.org/2848703003 .
2017-04-27 17:27:02 -07:00
Vijay Menon
aa3966dc84
Fix hot dynamic check in WhereIterator
...
R=floitsch@google.com
Review-Url: https://codereview.chromium.org/2843423002 .
2017-04-27 06:35:37 -07:00
Jennifer Messerly
d26bb56575
fix #27971 , implement generic function RTTI
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2832913003 .
2017-04-21 15:40:44 -07:00
Jennifer Messerly
bed6f8242a
add an option to turn off errors from strong mode is-checks
...
This adds an option and also has our tests run with it turned off.
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2835743002 .
2017-04-21 15:24:32 -07:00
Jacob Richman
7149b90c7c
Tighten up handling of JS types and add test.
...
Side effect of this:
Fix bug where helpers in js_mirrors were specifying that name had to have type String when it could really also be a JS Symbol as well.
Fix bug where top level JS interop members using the external keyword but no @JS keyword were not implemented.
Update js_typed_interop_test.dart so it can work in DDC.
Add regression test for jsify call with native function type arguments.
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2827333003 .
2017-04-21 08:44:00 -07:00
Vijay Menon
8a64625d81
Regenerate DDC artifacts
...
TBR=jacobr@google.com
Review-Url: https://codereview.chromium.org/2830983002 .
2017-04-19 16:26:22 -07:00
Jacob Richman
0dbb32f406
Run formatter on dev_compiler.
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2830503002 .
2017-04-18 16:16:14 -07:00
Jacob Richman
b280a7803d
Dev compiler debugger related tweaks.
...
Optimize dynamic call tracking using random sampling.
Apply source maps to improve dynamic call tracking accuracy.
Dynamic calls within the sdk are now attributed correctly.
Fix bug formatting modules where we were incorrectly flagging them as JS.
BUG=
R=jmesserly@google.com , vsm@google.com
Review-Url: https://codereview.chromium.org/2811343002 .
2017-04-17 14:57:31 -07:00
Jennifer Messerly
b76e2d67cf
fix #29346 , ensure all nodes are implemented by DDC's code generator
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2822633003 .
2017-04-14 10:10:50 -07:00
Vijay Menon
bc3089838c
Reify implicit casts for FutureOr
...
Before landing, two issues to resolve:
(1) We appear to allow sideways casts now without static error - e.g.,
List<Object> -> FutureOr<List<String>>
Is that intended? If so, it breaks an assumption that implicit casts
are from supertype to subtype.
(2) LUB and FutureOr
It appears that the LUB of, e.g., String and Future<String> is Object.
See fixes in tests to record casts back to FutureOr.
Fixes #29251
R=leafp@google.com
Review-Url: https://codereview.chromium.org/2801683004 .
2017-04-07 17:33:34 -07:00