Commit Graph

35 Commits

Author SHA1 Message Date
Joshua Litt d5f3189c91 [dart2js] Extends the graph_isomorphizer with more coverage.
This cl adds support for generating classes, classes used only for
types, mixins, closures, and constants, to the graph_isomorphizer.

Change-Id: I04e5590a9ff903b0b32daf1f4607fb1b0920e0cc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189841
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-04-01 17:06:52 +00:00
Sigmund Cherem 7c1b43d10a [dart2js] make js_runtime a proper package
Change-Id: Ib5583f79abc0ab00a96ce6473282f4322da5143c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180720
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2021-01-25 22:39:23 +00:00
Devon Carew 8cba879f46 Add additional validations to the pkg/ package pubspecs.
TEST=these are additional validations that we run on the bots

Redux of https://dart-review.googlesource.com/c/sdk/+/161040

Change-Id: Ia32ced5d48fbfeafacfa9e51dc4774d2e9425091
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174601
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-12-02 17:27:18 +00:00
Stephen Adams 8c13fa841e [dart2js] Kernel transformer expansion for List.generate
Simple calls to `List.generate` are expanded into a list allocation
and a loop. This generates better code for several reasons:

 - There is no overhead for the function argument (closure allocation,
   closure type, closure class)

 - Global type inference is more precise since each List.generate list
   is tracked separately, and the assignments in the loop give better
   inference to the collection's element type.

To get precise element type inference, there are two new JSArray
constructors. Global type inference starts with the element type being
bottom for these elements, avoiding spurious nulls in the inferred
type.

Change-Id: I5efb90651ae3f9eb2e81af556704960cdf0b75c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168770
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-11-11 04:27:22 +00:00
Devon Carew d26469f715 update the pubspec.yaml files to reflect actual package usage
Change-Id: I7a46c42dff3506cd5d09d3d793c072258e09a6e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159143
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-08-20 16:08:59 +00:00
Michael Thomsen f0c87e9f21 Clean up no-publish comments in pubspecs
Change-Id: I6cc1ab404de75cd02183b862842198c85b6d9256
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152005
Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-23 10:34:09 +00:00
Mayank Patke 573f470615 [dart2js] Represent nullability as a field.
Change-Id: I12f4c7acfa294b0e92d3f94f7099ffa2aa9cc0a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134792
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-14 01:59:12 +00:00
Sigmund Cherem f6d67a549b Turn ddc and dart2js modular tests into suites and share their test cases
For this to work properly, we first need the test infrastructure to have support
for the `--output-directory` flag (see base CL)

Change-Id: I75f788d19ad3b4e9523830250c4a1c9de8418cda
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104400
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-06-07 21:54:56 +00:00
Brian Wilkerson c5624274e1 Update the SDK constraints to match the fact that set literals are being used
Change-Id: I0c1de0d972a38ebd5c4f0b2fc2cda4258b63339f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96981
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-14 19:12:44 +00:00
Kevin Moore 17a7f513c3 Fix up pubspec for pkg:compiler
Removed unused dependencies
Correctly reference repo packages via dependency_overrides
Fix pubspecs for pkg: js_ast, js_runtime, sdk_library_metadata

Change-Id: I2077814f733c299dca7afe3f5ab4b380c2c886e4
Reviewed-on: https://dart-review.googlesource.com/c/85660
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-11-29 23:33:39 +00:00
Kevin Moore be5d0cca5c Remove sha1 impl from dart2js
pkg:crypto has a fine implementation
Change-Id: Ibefd6c294259c58cd4eb3ac8f5718a078894a39b
Reviewed-on: https://dart-review.googlesource.com/c/85415
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-11-29 04:28:02 +00:00
Sigmund Cherem 2e1c17e5c1 Revert "dump-info: Use relative paths for library canonicalUri..."
This reverts commit 7fe8659613.

Reason for revert: we decided to take an alternative approach to solve the problem.

Original change's description:
> dump-info: Use relative paths for library canonicalUri...
> 
> ...if they are within the working directory
> 
> Makes output from dump-info more stable, especially with pkg:build
> 
> Change-Id: I3e6c444a0aa7df55c10e1bdff4b59ef035d2acc3
> Reviewed-on: https://dart-review.googlesource.com/53168
> Reviewed-by: Harry Terkelsen <het@google.com>
> Commit-Queue: Kevin Moore <kevmoo@google.com>

TBR=kevmoo@google.com,het@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I701847cf8879599c3d129a83809b8fe1c9d9d172
Reviewed-on: https://dart-review.googlesource.com/54141
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-05-08 02:00:52 +00:00
Kevin Moore 7fe8659613 dump-info: Use relative paths for library canonicalUri...
...if they are within the working directory

Makes output from dump-info more stable, especially with pkg:build

Change-Id: I3e6c444a0aa7df55c10e1bdff4b59ef035d2acc3
Reviewed-on: https://dart-review.googlesource.com/53168
Reviewed-by: Harry Terkelsen <het@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
2018-05-01 16:47:26 +00:00
Harry Terkelsen b7666dd327 dart2js: Remove lookup map support
Change-Id: Id435dc0f54165285c0d291d2e1c984da92bfd22a
Reviewed-on: https://dart-review.googlesource.com/5284
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Harry Terkelsen <het@google.com>
2017-09-12 20:16:12 +00:00
Kevin Moore 1120d10daf Finish cleaning up analyzer warnings
Also Updated pubspec to use the SDK version of kernel

Closes https://github.com/dart-lang/sdk/issues/28454

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2815383003 .
2017-04-14 10:28:07 -07:00
Johnni Winther 09a11a5c5f Update pkg/compiler/pubspec.yaml
Review-Url: https://codereview.chromium.org/2671723002 .
2017-02-02 14:28:25 +01:00
Johnni Winther cffc20cdf5 Update dart2js/pubspec
R=het@google.com

Review URL: https://codereview.chromium.org/2540103002 .
2016-12-01 10:44:46 +01:00
Asger Feldthaus ce428a1f20 Complete merge of kernel repo into SDK.
This removes third_party/pkg/kernel and changes dependencies to
refer to pkg/kernel instead.

Some status files are updated to reflect new test outcomes.
2016-11-23 12:46:29 +01:00
Harry Terkelsen 90b54ed78b roll dart2js_info to 0.3.0
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2379573010 .
2016-09-30 16:02:55 -07:00
Harry Terkelsen b86be4ea68 Copy Rasta visitor to dart2js.
This code is unused now, but will be used to create the SSA graph
from Kernel IR.

BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2265383002 .
2016-08-22 15:31:48 -07:00
Kevin Moore 17a2ddfd42 Update dependency on pkg/package_compiler
For analysis_server, analyzer, analyzer_cli, compiler packages

Progress on https://github.com/dart-lang/sdk/issues/26711

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2172683002 .
2016-07-27 08:42:05 -07:00
Harry Terkelsen 22200410c0 dart2js: update pubspec
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1582923002 .
2016-01-13 15:01:05 -08:00
Florian Loitsch 45f4d82cde Revert shared dart2js messages.
This partially reverts commit e802e26d7b.
This reverts commit 6ecea2f559.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1589493002 .
2016-01-13 18:32:55 +01:00
Florian Loitsch 6ecea2f559 Add dart_messages package.
R=johnniwinther@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/1514333002 .
2015-12-17 18:15:17 +01:00
Jacob Richman cd2752431e Support user generated custom native JS classes.
BUG=
R=jmesserly@google.com, sra@google.com

Review URL: https://codereview.chromium.org//1318043005 .
2015-10-13 13:15:28 -07:00
Sigmund Cherem 93f61f383e dart2js send stats, includes:
- initial visitor to collecting data about sends (incomplete)
- logic to emit data in a json summary file.
- logic to print summary information on the command-line
- logic to display some of the data in a web UI.

BUG=
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//1220043005 .
2015-10-02 11:10:41 -07:00
Sigmund Cherem d78be6beb0 Fix typo in lookup map, use pub_semver to check version constraints in dart2js
R=sra@google.com

Review URL: https://codereview.chromium.org//1301373009 .
2015-09-08 14:51:23 -07:00
Sigmund Cherem 2c660aa2f0 dart2js: add initial support for lookup-maps
R=herhut@google.com, sra@google.com

Review URL: https://codereview.chromium.org//1320503003 .
2015-09-02 17:51:59 -07:00
Sigmund Cherem aae02054d2 Record information about constants in dump info
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//1301903002 .
2015-08-19 13:52:49 -07:00
Sigmund Cherem 8896ccd385 dart2js: switch to use dart2js_info/info.dart
R=het@google.com

Review URL: https://codereview.chromium.org//1298553002 .
2015-08-18 15:44:38 -07:00
William Hesse e2928705be Move third_party/pkg/package_config to pkg_tested.
Closes https://github.com/dart-lang/sdk/issues/24092

R=ricow@google.com

Review URL: https://codereview.chromium.org//1296093003 .
2015-08-18 15:04:41 +02:00
Sigmund Cherem e3fbf44643 dart2js: add function coverage tracking in dart2js output, dumpinfo, and
coverage recording server

R=sra@google.com

Review URL: https://codereview.chromium.org//1288593002 .
2015-08-13 16:47:58 -07:00
Sigmund Cherem 571c1d5b6e dart2js: add an example script that shows the distribution of code among
libraries.

For example, running this on the dump-info of angular2 'hello
world' would produce:

  path             8807   1.21%
  stack_trace     11501   1.59%
  intl            14135   1.95%
  Loose files    142311  19.62%
  angular2       224171  30.90%
  Core libs      225120  31.03%
  All packages   258614  35.65%
  TOTAL          626045  86.30%

Note that the grouping of libraries, say by package, and summary information is
configurable.

R=het@google.com

Review URL: https://codereview.chromium.org//1287543002 .
2015-08-11 14:59:59 -07:00
Sigmund Cherem b273d56f0d Fix pkgbuild tests after adding a pubspec on pkg/compiler (fix #23750)
BUG=
R=whesse@google.com

Review URL: https://codereview.chromium.org//1217353002.
2015-07-01 08:19:00 -07:00
Sigmund Cherem b18c5a3e7c sdk files reorganization to make dart2js a proper package
BUG=
R=brianwilkerson@google.com, floitsch@google.com, whesse@google.com

Review URL: https://codereview.chromium.org//1212513002.
2015-06-29 10:21:14 -07:00