Commit Graph

1477 Commits

Author SHA1 Message Date
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
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
Jennifer Messerly 6ab17db3da fix more mixin tests to work in strong mode
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2861783002 .
2017-05-04 11:30:14 -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
Lasse R.H. Nielsen 7998f590b1 Update documentation on trignometric functions.
Fixes #17515
BUG= http://dartbug.com/17515
R=floitsch@google.com

Committed: https://github.com/dart-lang/sdk/commit/40220ec0766bb2b179d3623d3f298223df842279
Review-Url: https://codereview.chromium.org/2852053002 .
2017-05-03 09:49:14 +02:00