Commit Graph

1485 Commits

Author SHA1 Message Date
Jennifer Messerly 93a02bf8f9 fix super setters when super is not allowed
We were generating these incorrectly. This also improves the code structure around super helpers as well as accessors vs fields.

R=vsm@google.com

Review-Url: https://codereview.chromium.org/2940323003 .
2017-06-16 11:49:51 -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 cb038cda2f fix test runner to understand mutlitests that expect an error
R=rnystrom@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2930203002 .
2017-06-12 16:07:17 -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
Ben Konyi 033c18472d Revert "Removed SecurityContext.alpnSupported, as ALPN is now supported on all platforms. Also updated CHANGELOG.md to announce its removal."
This reverts commit 4b6fa0d5fb.

BUG=
R=kevmoo@google.com

Review-Url: https://codereview.chromium.org/2928013002 .
2017-06-08 14:32:41 -07:00
Ben Konyi 4b6fa0d5fb Removed SecurityContext.alpnSupported, as ALPN is now supported on all platforms. Also updated CHANGELOG.md to announce its removal.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2926153004 .
2017-06-07 15:15:58 -07:00
Leaf Petersen cb8cc2526b Add codegen test for equality.
Adds a DDC test tracking the generated code and its correctness. Some
test harness changes to support running codegen tests.

BUG=
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2930733002 .
2017-06-07 12:42:30 -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
Vijay Menon b45e9e2de9 Minor tweak on README
Making the description on constructors more accurate.

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2923123003 .
2017-06-06 10:39:31 -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
Vijay Menon 532d9eabc7 Update DDC Readme
R=rnystrom@google.com

Staging: https://github.com/dart-lang/sdk/blob/ddc-readme/pkg/dev_compiler/README.md
Review-Url: https://codereview.chromium.org/2920373002 .
2017-06-05 15:04:09 -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
Jennifer Messerly 88510c1860 fix #29146, downgrade import error to warning in strong mode
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2916223002 .
2017-06-01 15:44:30 -07:00
Devon Carew a7c3358378 Remove an unused symbol analysis warning.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2911983009 .
2017-05-30 18:06:11 -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
Vijay Menon 570f6de05b Remove unsafe flag from ddc sdk
One small step for man...

R=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2910473002 .
2017-05-25 10:50:17 -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
Alan Knight b4b02daade Include DDC fixes to dart:html in the main version
BUG=
R=jacobr@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2899173002 .
2017-05-24 12:49:13 -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
vsmenon 1f30612a21 Fix example in doc 2017-05-23 10:56:17 -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 1f94f3dc0a Fix status for FF
TBR=alanknight@google.com

Review-Url: https://codereview.chromium.org/2895543002 .
2017-05-18 19:29:40 -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
Jacob Richman 65e0b8994e Add progress events for loading DDC summaries to make it clear to users whether loading a DDC application has timed out.
BUG=
R=alanknight@google.com

Review-Url: https://codereview.chromium.org/2879843004 .
2017-05-15 08:41:00 -07:00
Devon Carew 4afc0aeb73 Fix some analysis issues.
BUG=
R=danrubel@google.com

Review-Url: https://codereview.chromium.org/2882003002 .
2017-05-13 16:24:47 -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