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
Jennifer Messerly
332b34aba8
refactor _emitFunctionBody slightly to simplify it
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2929503002 .
2017-06-06 15:58:55 -07:00
Jennifer Messerly
99d5344463
fix "unresolved names" code generation
...
now unsafe-force-compile will generate a throw rather than a free floating name
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2920223009 .
2017-06-06 15:53:30 -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
Jennifer Messerly
3054dc50c1
fix #27255 , remove angular whitelist hack
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2928483002 .
2017-06-05 14:52:55 -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
2187f5232d
DDC cleanup
...
R=jacobr@google.com , jakemac@google.com
Review-Url: https://codereview.chromium.org/2902103005 .
2017-05-24 13:01:10 -07:00
Vijay Menon
5919a12038
Library root fix for win
...
R=jakemac@google.com
Jacob: do we need a fix in jsDebuggingLibraryName too? could that code be refactored - it looks like it duplicates a lot of logic.
Review-Url: https://codereview.chromium.org/2899363002 .
2017-05-24 12:10:47 -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
Vijay Menon
ad7f257f9b
Fix nullaware dynamic dispatch
...
Fixes #29610
R=leafp@google.com
Review-Url: https://codereview.chromium.org/2880103004 .
2017-05-15 20:47:10 -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
Vijay Menon
2375e5f9b5
Better error when force-compile fails
...
R=alanknight@google.com
Review-Url: https://codereview.chromium.org/2883443002 .
2017-05-12 17:21:15 -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
Jacob MacDonald
fc0c45c790
update dependencies to use url style paths
...
BUG=
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2860943003 .
2017-05-04 12:44:56 -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
Erik Corry
aa6353b6da
Dart SDK Spelling b, c, and d.
...
R=kmillikin@google.com
BUG=
Review-Url: https://codereview.chromium.org/2850783002 .
2017-05-01 08:28:10 +02: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
Vijay Menon
334373b1dc
Temporarily disable overlapping summary check
...
Turning this off to unblock the current roll. We'll try flipping the
flag internally and shaking out the last violators.
R=keertip@google.com
Review-Url: https://codereview.chromium.org/2853543002 .
2017-04-28 11:08:05 -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
Konstantin Shcheglov
8e76c78cce
Cache path -> URI mapping in SourceMapPrintingContext.
...
This improves DDC compiling DDC from 30 to 25 seconds.
R=jmesserly@google.com , vsm@google.com
BUG=
Review-Url: https://codereview.chromium.org/2839733003 .
2017-04-24 19:32:10 -07:00
Vijay Menon
75b7bea014
Snapshot DDC trained on itself
...
Note: path.canonicalize appears to normalize windows paths (c:/ vs c:\).
Fixes #29119
R=jmesserly@google.com , rnystrom@google.com
Review-Url: https://codereview.chromium.org/2836483002 .
2017-04-21 16:19:57 -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
21c38e6c8c
Various DDC fixes for windows
...
This gets most tests compiling and running on Windows.
Fixes #27450
Fixes #27797
Fixes #28752
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2833633002 .
2017-04-20 11:30:57 -07:00
Vijay Menon
b98729503c
Fix ddc perf issue
...
This brings compilation time on large_class_declaration_test down from 30s to 4s. Just analysis is about 3.2s. (All #s without snapshotted tools.)
Fixes #29234
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2834663002 .
2017-04-20 11:24:35 -07:00