Commit Graph

3388 Commits

Author SHA1 Message Date
asgerf@google.com abc37952d4 dart2js: Refactoring, documentation, and a few bugfixes in Namer class.
See long doc comment in namer.dart.

BUG=
R=floitsch@google.com

Committed: https://code.google.com/p/dart/source/detail?r=43588

Reverted: https://code.google.com/p/dart/source/detail?r=43590

Review URL: https://codereview.chromium.org//891673003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43724 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 13:43:25 +00:00
sigurdm@google.com 4f0f538076 Let the CPS ir builder bail out when given a non-sync function.
BUG=
R=johnniwinther@google.com, karlklose@google.com

Review URL: https://codereview.chromium.org//912293004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43720 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 09:47:48 +00:00
sigurdm@google.com 4150b44a24 Fix checked-mode return for async-functions.
BUG= dartbug.com/22332
R=floitsch@google.com

Review URL: https://codereview.chromium.org//914143002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43719 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 09:35:44 +00:00
hausner@google.com 2cab6733b2 Fix test expectations for minified dart2dart
Review URL: https://codereview.chromium.org//918873002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43709 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 00:51:15 +00:00
hausner@google.com 2f0d13af3b Fix yield statements in catch blocks
This is a partial fix for issue 22300. The VM no longer setfaults when
using yield in try statements. Yield in catch blocks work. What’s still
not working right is if a value is yielded before an exception is
propagated to the caller.

R=regis@google.com

Review URL: https://codereview.chromium.org//914303006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43707 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 00:12:07 +00:00
fschneider@google.com f7a97fa4d4 VM: Fix slow-path deoptimization environment.
The number of pushed arguments needs to be accounted for.

BUG=dartbug.com/22331
R=vegorov@google.com

Review URL: https://codereview.chromium.org//914133002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43681 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-11 13:34:15 +00:00
sigurdm@google.com 0c5709bd0e Fix dart2dart status file.
BUG=

Review URL: https://codereview.chromium.org//918523002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43676 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-11 08:04:18 +00:00
paulberry@google.com d7c763003d Re-apply "Fix warning in sync_generator1_test.dart"
This re-applies commit 43626, which was reverted in 43628.

What happened: I accidentally tested r43626 against a work-in-progress
build of the Java-based dartanalyzer that contained r43655, so I
failed to update the status files properly.  This resulted in a build
failure, which was addressed by reverting r43626.  Now that r43655 has
landed, the build failure should not occur.

R=hausner@google.com

Review URL: https://codereview.chromium.org//910243002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43666 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 20:32:41 +00:00
paulberry@google.com 6ea61b5686 Partial backport of analyzer async/await fixes to Java.
Backport of r43613, r43537, r43446, r43427, r43424, r43418, r43403,
r43361 to the Java-based analyzer.  The backport is partial in that
the TypeProvider was not modified to include Future and Stream types
(this would have required substantial additional effort), and
consequently not all static warnings are correctly produced.  However,
all NonErrorResolverTest cases were successfully backported and pass,
meaning that the Java-based analyzer shouldn't produce false positive
warnings for async/await code anymore.

BUG=dartbug.com/22252
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//913623002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43655 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 16:04:50 +00:00
sigurdm@google.com 18e885d1ea Use a VariableUse instead of VariableDeclaration for left-hand side of
assignments.

BUG=dartbug.com/22328
R=floitsch@google.com

Review URL: https://codereview.chromium.org//909113002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43651 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 15:13:19 +00:00
sigurdm@google.com 1316fc65af Fix test to work on js-shell by avoiding a periodic timer.
BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//913713002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43650 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 15:10:25 +00:00
sigurdm@google.com 454602332b Only schedule the execution of an async* when the stream is
subscribed to.

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//902783008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43646 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 14:19:54 +00:00
sigurdm@google.com a789f0db5f Use a 0-length timer in async test to make jsshell happy.
BUG=

Review URL: https://codereview.chromium.org//915603002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43636 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 11:30:49 +00:00
sigurdm@google.com 2f69ab27b9 Fix a mistake in a status-file
Fix async behaviour for a test-case.

BUG=

Review URL: https://codereview.chromium.org//894283003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43630 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 09:39:55 +00:00
ricow@google.com 9cc2d8892e Revert "Fix warning in sync_generator1_test.dart"
This reverts commit 43626

This caused failures:
http://build.chromium.org/p/client.dart/builders/new_analyzer-linux-release-be/builds/11431/steps/tests%20/logs/stdio

TBR=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//911763003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43628 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 09:00:49 +00:00
paulberry@google.com 04f95cdc66 Fix warning in sync_generator1_test.dart
R=hausner@google.com

Review URL: https://codereview.chromium.org//897803003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43626 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 00:36:25 +00:00
hausner@google.com 22054b3119 Make yield* throw an error if not yielding an Iterable
Fixes issue 22323

R=gbracha@google.com

Review URL: https://codereview.chromium.org//910923002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43616 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 21:47:12 +00:00
brianwilkerson@google.com 67889f0c72 Fix the build
R=paulberry@google.com

Review URL: https://codereview.chromium.org//910733003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43606 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 19:07:06 +00:00
johnniwinther@google.com 7267bd1d1e Update status.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org//871013009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43599 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 16:37:54 +00:00
sigurdm@google.com 9246054981 More status-updates to async-await related tests.
Plus a small test-update for better async behaviour.

BUG=

Review URL: https://codereview.chromium.org//907043002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43597 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 16:23:02 +00:00
sigurdm@google.com c6a7d8782a Status updates, and minor fixes to tests of async-await.
BUG=

Review URL: https://codereview.chromium.org//912513002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43594 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 14:30:59 +00:00
sigurdm@google.com 7b0bc3d220 Implementation of async-await transformation on js ast.
BUG=
R=floitsch@google.com, johnniwinther@google.com

Review URL: https://codereview.chromium.org//839323003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43591 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 12:02:52 +00:00
asgerf@google.com f72a18378b Revert "dart2js: Refactoring, documentation, and a few bugfixes in Namer class."
This reverts commit r43588.

BUG=

Review URL: https://codereview.chromium.org//906273002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43590 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 11:58:07 +00:00
asgerf@google.com c767597da3 dart2js: Refactoring, documentation, and a few bugfixes in Namer class.
See long doc comment in namer.dart.

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//891673003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43588 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 11:31:10 +00:00
zarah@google.com c544068f6f dart2js: add common names to mangledGlobalNames in new emitter.
R=floitsch@google.com

Review URL: https://codereview.chromium.org//897013003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43545 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-06 08:52:15 +00:00
asiva@google.com 48fbf3627b Fix status file for dartium/dart
R=hausner@google.com

Review URL: https://codereview.chromium.org//898143003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43532 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 23:54:29 +00:00
hausner@google.com 999a613f00 Fix dart2dart test expectations
Review URL: https://codereview.chromium.org//904763002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43531 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 23:12:45 +00:00
hausner@google.com 2487c76886 Add support for sync* and yield and yield*
R=srdjan@google.com

Review URL: https://codereview.chromium.org//888463004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43516 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 18:36:40 +00:00
johnniwinther@google.com 7ef82b92ad Fix async_test problems.
+ disallow async modifier on setters.

BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org//898703004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43465 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 12:41:49 +00:00
paulberry@google.com d0b87e247c Implement new "yield*" type checking rules in analyzer.
This updates analyzer to reflect the new static type checking rules
for yield each added in r43420.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//888943004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43446 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 23:13:09 +00:00
paulberry@google.com 2cd86b7e29 Add static type checking of "yield*" statements to analyzer.
This does not include the new static typing rules that were introduced
in revision 43420.  I will address those in a later CL.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//895673005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43424 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 20:32:14 +00:00
paulberry@google.com 5482dcb769 Mark known async test failures in analyzer status file.
These failures are happening because recent async/await improvements
were made only to the Dart-based analysis code, not the Java-based
analysis code.

TBR=johnniwinther@google.com

Review URL: https://codereview.chromium.org//893793004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43397 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 14:18:43 +00:00
johnniwinther@google.com 801c4e5735 More status updates.
BUG=

Review URL: https://codereview.chromium.org//896663003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43394 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 13:40:24 +00:00
johnniwinther@google.com 1b2cf4e51b Fix dartium status, 2nd attempt.
BUG=

Review URL: https://codereview.chromium.org//894063005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43389 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 11:39:03 +00:00
johnniwinther@google.com 93fef72fb3 Update analyzer and dartium status.
BUG=

Review URL: https://codereview.chromium.org//900513004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43386 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 09:53:31 +00:00
johnniwinther@google.com d9e1bcc91b Support async/await in dart2dart.
BUG=
R=floitsch@google.com, paulberry@google.com

Review URL: https://codereview.chromium.org//880973005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43380 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 08:31:54 +00:00
paulberry@google.com bde433f33a Report a compile-time error if async/sync/yield used as an identifier.
This error is only reported inside methods marked "async", "async*",
or "sync*".

BUG=dartbug.com/22206
R=scheglov@google.com

Review URL: https://codereview.chromium.org//890253003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43368 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-02 23:13:08 +00:00
paulberry@google.com b40a5702b3 Fix async/await type checking in analyzer.
This required making the "async" library into TypeProvider so that we
can create Future<...> types when doing resolution and error/hint
checking.

BUG=21888,22053,22091,22092,22160,22164
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//898513002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43361 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-02 20:58:37 +00:00
johnniwinther@google.com 9a42285d5f Fix new dart2dart backend.
BUG=
R=herhut@google.com

Review URL: https://codereview.chromium.org//885313002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43330 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-30 11:24:24 +00:00
brianwilkerson@google.com 3f369c141c Add missed issue number
R=paulberry@google.com

Review URL: https://codereview.chromium.org//873393005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43300 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 17:03:34 +00:00
brianwilkerson@google.com cb6c16922f Fix for issue 22052
R=scheglov@google.com

Review URL: https://codereview.chromium.org//881403002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43292 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 16:01:58 +00:00
johnniwinther@google.com d0ece3e22f Remove status lines.
BUG=

Review URL: https://codereview.chromium.org//884693002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43234 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 11:51:21 +00:00
johnniwinther@google.com 519263807a Support enums in dart2dart.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org//878843003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43230 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 09:04:49 +00:00
sigurdm@google.com c95d6162a8 Let the dart2dart compiler stop in case of failure (errors).
This is a stop-gap measure to avoid crashes

BUG= dartbug.com/22085
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//868273003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43172 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 09:03:08 +00:00
vegorov@google.com d96def0231 Mark load_to_load_unaligned_forwarding_vm_test as Pass, Crash on platforms other than IA32/X64.
For some reason it passes on the real ARM hardware.

TBR=fschneider@google.com
BUG=

Review URL: https://codereview.chromium.org//879613002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43141 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 16:50:29 +00:00
vegorov@google.com 2b42069b43 Fix LoadOptimizer's handling of load/stores with constant indices for TypedData.
LoadOptimizer computes KILL sets in assumption that place X[C] can alias place X[K] if and only if K == C. This however does not hold for TypedData where X[0] can alias X[1] if we are reading 32bit value at X[0] and 8bit value at X[1]. The only thing that TypedData guarantees is that all accesses are done with byte offsets aligned by the size of the data type.

This change incorporates TypeData elements aliasing rules into LoadOptimizer:

- Place hierarchy was extended with constant index places for TypedData X[C|S]:
  - C is a byte offset to the element being read instead of an unscaled index that was used before;
  - S size of the element being read.

- KILL set computation ensures the following aliasing rule:

      X[C|S] aliases X[RoundDown(C, S')|S'] for all sizes S' > S

R=fschneider@google.com
BUG=http://dartbug.com/22120

Review URL: https://codereview.chromium.org//868283002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43137 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 15:14:35 +00:00
johnniwinther@google.com 21e29f9a60 Update enum_const_test to isolate problem.
BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//844723003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43128 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 08:04:40 +00:00
rmacnak@google.com db79e9cca6 Rename is_visible to is_reflectable; use is_debuggable instead of is_reflectable to decide whether to filter a frame from stack traces.
Merge verbose_stacktrace flag into show_hidden_frames.

Don't mark native functions as non-debuggable (breakpoints don't actually work there now but nothing goes wrong).

BUG=

Review URL: https://codereview.chromium.org//868453002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43121 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-23 21:16:40 +00:00
fschneider@google.com e081d375e4 Fix 64-bit bug in optimized class-check instructions.
The mask is machine-word wide, so the computation of the mask
must not use a 32-bit shift operation.

BUG=dartbug.com/22104
TEST=tests/language/vm/optimized_check_class_test.dart
R=vegorov@google.com

Review URL: https://codereview.chromium.org//859943005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43014 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-20 16:00:43 +00:00
sigurdm@google.com b9c1798175 Improve mirror_in_static_init_test
Make it a multitest.
Fix a syntax error.
Also move it to lib/mirrors/ - it will then automatically be skipped by
dart2dart.

BUG=dartbug.com/22071
R=floitsch@google.com, karlklose@google.com

Review URL: https://codereview.chromium.org//813503005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42992 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-19 14:52:25 +00:00