Commit Graph

2821 Commits

Author SHA1 Message Date
John Messerly 6598fa0f7d implement generic method runtime behavior, fixes #301
R=leafp@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1926283002 .
2016-04-29 10:41:48 -07:00
Jacob Richman 7db49e6a44 Fixed 3 final missing casts in dart:js
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1931373002 .
2016-04-29 08:50:14 -07:00
Harry Terkelsen d109467369 Use lazy static fields when overriding static getters or setters.
Fixes #522

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1927353002 .
2016-04-28 15:42:01 -07:00
Stephen Adams 8c745c69d1 Fix modulo and bitwise operators.
Dart `%` is modulo, JS `%` is remainder, so call the runtime version.

Use dart2js interpretation of bit operations and shifts which always
produce a 32-bit unsigned result.

Optimization of the bit operations to follow.

BUG= https://github.com/dart-lang/dev_compiler/issues/518
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1924413002 .
2016-04-28 13:47:22 -07:00
John Messerly 9f764bf5b4 Make parts hermetic, fixes #531
R=paulberry@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/1930133002 .
2016-04-28 13:37:10 -07:00
Vijay Menon 9d49469af4 Reenable typed_data and html tests
TBR=jacobr@google.com

Review URL: https://codereview.chromium.org/1924423002 .
2016-04-28 13:00:07 -07:00
Jacob Richman efa2303c64 Add all dart:html tests from the sdk to test/codegen. All tests are added except for js_array_test.dart and js_dart_to_string_test.dart which have to be stripped out for now due to failures.
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1930043002 .
2016-04-28 12:30:25 -07:00
Vijay Menon acc4d6867d Stop concatenating all tests
R=sra@google.com

Review URL: https://codereview.chromium.org/1928443006 .
2016-04-28 11:29:38 -07:00
Jacob Richman eef7f81d0a Land fix to StackTrace.current performance already landed in dart2js.
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1927813002 .
2016-04-28 09:28:25 -07:00
Sigmund Cherem b163c86585 Make file-paths absolute before providing them to the CustomUrlResolver
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1931553003 .
2016-04-28 09:07:28 -07:00
Vijay Menon 3483e1974c Qualify library names in packages
Partially addresses #504.  This is WIP, but wanted your thoughts.

Comment / questions:
- The current js_ast ImportDeclaration assumes a legal identifier I think.
  E.g., this gets lowered:
  import { src$interfaces } from "matcher"

- Should we thread package root through ModuleCompiler to let it packagify urls?

- How should we handle non-package urls?  Pass in an explicit root dir
  and go relative?

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1917863005 .
2016-04-27 21:03:58 -07:00
John Messerly 9de1e7426f allow JS builtin to be typed as needed
this removes a lot of bogus casts. It also revealed one test that appeared to be passing, but was not actually passing.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1649583002 .
2016-04-27 13:04:26 -07:00
John Messerly aa0b75f893 simplify emitting dart.bind for native types
R=het@google.com

Review URL: https://codereview.chromium.org/1921503007 .
2016-04-27 09:59:32 -07:00
John Messerly 45f57aab55 small cleanup in dart:_runtime
there was LazyTagged thing that was not necessary

R=vsm@google.com

Review URL: https://codereview.chromium.org/1920743003 .
2016-04-26 17:58:13 -07:00
Harry Terkelsen bc0536a56a Use static dispatch for dynamic on Object methods
Fixes #510

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1919173004 .
2016-04-26 17:54:02 -07:00
Harry Terkelsen 6a7e3ca102 Remove virtualField helper, just emit getters/setters in codegen.
Also fixes problems with final field overrides, which only override
the getter, not the setter.

BUG=https://github.com/dart-lang/dev_compiler/issues/486
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1918033002 .
2016-04-26 12:39:48 -07:00
Vijay Menon 936f059f48 Use correct annotation for JS names
Did we switch from "@JS" to "@JsName"?

R=jacobr@google.com

Review URL: https://codereview.chromium.org/1920473003 .
2016-04-25 08:33:52 -07:00
Jacob Richman afc18e6061 Update sdk removing explicit as checks.
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1907353003 .
2016-04-25 08:25:03 -07:00
Vijay Menon 886616c3aa Fixes #519
This is the Symbol bug which is breaking package:unittest.

R=leafp@google.com

Review URL: https://codereview.chromium.org/1915533004 .
2016-04-22 11:26:57 -07:00
Jacob Richman cb59a83138 Fix build break due to bug 522
BUG=

Review URL: https://codereview.chromium.org/1904373002 .
2016-04-21 17:18:44 -07:00
John Messerly ea5016ccbe fixes #516, nested cascade code generation
our let* was not hygenic, due to incorrect use of named substitution

R=vsm@google.com

Review URL: https://codereview.chromium.org/1910233002 .
2016-04-21 15:19:15 -07:00
Jacob Richman 27ed87462b Cleanup dart:indexed_db, dart:svg, and dart:js errrors. update dart:html with extra generic methods.
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1909193002 .
2016-04-21 14:51:18 -07:00
Harry Terkelsen 0d36e889e2 Emit forwarding getter/setter when overriding just a getter or setter.
Based on Vijay's change: https://github.com/dart-lang/dev_compiler/commit/74dc4a6a808b271312aabe1bf463f1e7f4889a43

BUG=https://github.com/dart-lang/dev_compiler/issues/497
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1899373002 .
2016-04-20 18:08:09 -07:00
Jacob Richman a429090901 Fix undefined method errors adding no-op stubs for methods needed by dart2js but irrelevant in ddc. We could later optimize ddc by providing a custom dart:html that doesn't use these methods. Fixes https://github.com/dart-lang/dev_compiler/issues/506
BUG=

Review URL: https://codereview.chromium.org/1905803002 .
2016-04-20 18:03:29 -07:00
Jacob Richman 5dd5c364d6 Fix all dart:html strong mode errors except for spurious FINAL_NOT_INITIALIZED_CONSTRUCTOR warnings.
BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1887233005 .
2016-04-20 15:31:41 -07:00
Jacob MacDonald 419f6e5382 add e2e tests for usage/compile errors 2016-04-20 14:29:38 -07:00
Jacob MacDonald 486d9f50cc Move to AsyncWorkerLoop since CommandRunner.run returns a future. 2016-04-20 14:09:32 -07:00
John Messerly 261d7bf63a a few small dart:_runtime cleanups
R=vsm@google.com

Review URL: https://codereview.chromium.org/1896343002 .
2016-04-20 12:52:32 -07:00
Vijay Menon 5cb361db25 Fix for node modules
We weren't emitting the actual program.  :-)

Seems to work really well - using for easy command line testing.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1893293003 .
2016-04-19 14:28:43 -07:00
Harry Terkelsen b53f682660 pipe filenames through sort for consistent ordering
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1895863003 .
2016-04-18 15:33:26 -07:00
Harry Terkelsen 7e32a93b26 emit 'this.x' when 'super.x' accesses a field
BUG=https://github.com/dart-lang/dev_compiler/issues/501
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1895903002 .
2016-04-18 14:44:23 -07:00
Jacob MacDonald 4e54ff0181 Move all args to per-request for the worker, and add a test
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1896613002 .
2016-04-18 11:17:08 -07:00
Harry Terkelsen 9f4ea0936c don't crash when given no arguments
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1900693002 .
2016-04-18 09:26:10 -07:00
vsmenon eb49d944cd Update USAGE.md 2016-04-16 11:24:02 -07:00
John Messerly 4e958f5f54 Support reading summaries in DDC
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1893603003 .
2016-04-15 13:52:18 -07:00
Jacob MacDonald cb358696e1 dont reuse the analysis context across worker requests
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1892553003 .
2016-04-15 10:54:06 -07:00
Jacob MacDonald 308fa5ccb4 Add bazel worker support to the dev compiler.
BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1884073003 .
2016-04-15 06:51:40 -07:00
John Messerly b8d55ce95d add command test, fix relative paths
R=vsm@google.com

Review URL: https://codereview.chromium.org/1886393003 .
2016-04-14 12:35:05 -07:00
John Messerly 7950a0a88e Fix DDC build
this was a last minute fix for relative paths, but it went wrong and broke the SDK build

Review URL: https://codereview.chromium.org/1887163002 .
2016-04-14 11:58:16 -07:00
John Messerly 0c148ecef4 Implement modular compilation
Highlights
* compile one module at a time
* use summaries to speed up compiles
* use command runner so we can add more commands later
* some long needed renames and file organization
* various other technical debt has been addressed

Lowlights
* lost node.js runner/tests (node output format still supported)
* possibly lost some closure support/workarounds (format still supported)
* needs more end-to-end tests of the new system

R=vsm@google.com

Review URL: https://codereview.chromium.org/1879373004 .
2016-04-14 11:28:12 -07:00
vsmenon 1cb3763ae8 Update CHANGELOG.md 2016-04-01 09:11:08 -07:00
vsmenon fae421eb2b Update devc.dart 2016-04-01 09:10:25 -07:00
vsmenon 9fd404001d Update package.json 2016-04-01 09:10:14 -07:00
vsmenon 778c63755d Update pubspec.yaml 2016-04-01 09:10:02 -07:00
Vijay Menon d54ed38046 Work around dart:html inconsistency
We're hitting a runtime bug on requestAnimationFrame when we compile
against the latest dart:html in the analyzer (45) but run against the
DDC one (based on 39).

Adding the new type name by hand as a workaround until we roll, but
longer term we'll need to compile and run against the same sdk.

R=alanknight@google.com, leafp@google.com

Review URL: https://codereview.chromium.org/1849133003 .
2016-04-01 09:06:58 -07:00
vsmenon 196c8f33ea Update CHANGELOG.md 2016-03-31 15:34:06 -07:00
vsmenon 8c336dbfff Update devc.dart 2016-03-31 15:33:14 -07:00
vsmenon d8349d6c77 Update package.json 2016-03-31 15:33:01 -07:00
vsmenon 4f17bacd8a Update pubspec.yaml 2016-03-31 15:32:52 -07:00
Vijay Menon 14746d2501 Allow node tests to break on travis
Sorry for the spam.  Browser tests are now working, but node cannot find the SDK:

https://travis-ci.org/dart-lang/dev_compiler/jobs/119936690

I suspect you're breaking this anyway?

TBR=jmesserly@google.com

Review URL: https://codereview.chromium.org/1845423003 .
2016-03-31 15:23:14 -07:00