Commit Graph

981 Commits

Author SHA1 Message Date
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 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
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
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 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
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
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
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
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
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
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
Florian Loitsch 05e0e1ea40 Revert trigonometric function updates.
The VM has a fingerprint on the function and failed during compilation.

Revert "Fix patch errors."

This reverts commit ff1d7488d9.

Revert "Update documentation on trignometric functions."

This reverts commit 40220ec076.

BUG=

Review-Url: https://codereview.chromium.org/2851163003 .
2017-05-01 16:06:56 +02:00
Florian Loitsch ff1d7488d9 Fix patch errors.
Review-Url: https://codereview.chromium.org/2853813002 .
2017-05-01 15:57:40 +02: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
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
Erik Corry 2fb5d08102 Spelling a
R=ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2841543002 .
2017-04-24 14:53:51 +02:00
Erik Corry 6617737ff5 Replace 'the the' with 'the'
R=kmillikin@google.com
BUG=

Review-Url: https://codereview.chromium.org/2830353002 .
2017-04-24 08:50:37 +02: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
Erik Corry 4b9bba55b4 Stoppp using trippple consonants
R=ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2833073002 .
2017-04-21 17:50:13 +02: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
Zachary Anderson 9ce608e89d [dart:io] Adds ProcessInfo.{max,current}Rss. Adds OS::MaxRSS on Fuchsia.
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2822943002 .
2017-04-17 14:41:40 -07:00
Ben Konyi 6fbdd19ddb Various fixes for sync socket implementation.
Revert "Revert "Added sync_socket.h include in sync_socket_win.cc""

This reverts commit 2bd6168e1ebf35f6dbd9b2724339362c493377fc.

Revert "Revert "Added synchronous socket implementation to dart:io.""

This reverts commit a47bce03f5502dac7fb12e777e87b5aa1cfc830b.

BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2814773004 .
2017-04-12 14:20:48 -07:00