Commit Graph

5559 Commits

Author SHA1 Message Date
johnniwinther@google.com 25115a67e4 Fix analyzer status again.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37314 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 13:19:30 +00:00
johnniwinther@google.com 0ea92b90b4 Update analyzer status.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37313 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 12:59:30 +00:00
asgerf@google.com b73bfcf636 dart2dart: Preserve variable names throughout the IR.
I had to add register allocation to avoid unsoundness in some cases where an expression needs to reference a previous version of a variable.

Register allocation is disabled for variables without an associated element, because it will typically block inlining of these variables.

BUG=
R=kmillikin@google.com, sigurdm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37312 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 12:50:57 +00:00
johnniwinther@google.com a8a4c07e5a Handle ambiguous prefix members.
BUG=http://dartbug.com/19413
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37309 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 11:32:53 +00:00
ngeoffray@google.com 4936f84613 Fix a bug in ParallelMoveResolver::AllocateScratchRegister, where we end up allocating PC on ARM.
1) Iterate from first_free_register to last_free_register to ensure we're not using protected registers.
2) Break when finding an ok register.

2) fixes allocating PC on ARM by itself, but we could need 1) for another architecture.

The reason this has not been exposed yet, is because we call this method for a memory <-> memory
swap, which almost never happens on ARM.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37304 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 08:02:23 +00:00
asgerf@google.com 7c3de14b45 dart2dart: Restore loops with conditions and updates in backend.
BUG=
R=kmillikin@google.com, sigurdm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37266 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-12 12:47:51 +00:00
iposva@google.com ab18821876 - Fix the external_test.dart as it was relying on outdated
functionality and broken syntax. So some tests were passing
  for the wrong reason.
- Fix the VM parser to properly report the compilation errors.
- Fix the generation of pretty names of private identifiers.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37208 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 22:19:33 +00:00
fschneider@google.com 844d6459ad Fix bug with range of shift operations.
A shift can only deoptimize if the rhs is negative: This is the
case if the range of the rhs is not contained within [0, +inf].

!range->IsPositive() is _not_ the same as range->IsNegative(). I find
these names confusing and we should find better alternatives.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37176 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 12:58:31 +00:00
whesse@google.com c68a75e963 Update test status for ContentShellOnAndroid
Skipped two more timing-out tests.  Merged two issues, alphabetized a status file section.

BUG=dartbug.com/19127
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37165 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 07:23:22 +00:00
srdjan@google.com 97d88d064b Fix dart2dart builds (deferred loading not yet supported).
Review URL: https://codereview.chromium.org//323853005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37126 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-09 18:05:14 +00:00
regis@google.com 02f242021c Unify handling of identical(NaN, NaN) between generated code and Dart API.
Addresses issue 18738, assuming that the spec spec will be/has been updated so
doubles are identical iff they have the same representation as 64-bit IEEE
floating point numbers.

R=koda@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37118 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-09 16:40:58 +00:00
srdjan@google.com 3480ac4a0e Fix deferred library code disabling for inlined functions.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37107 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-06 22:14:40 +00:00
srdjan@google.com ff276cd808 Fix deferred loading code invalidation when both unoptimized and optimized code of the same function are entered in the dependency list.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37101 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-06 21:04:29 +00:00
scheglov@google.com d06a1cff08 New analyzer snapshot.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37096 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-06 19:48:47 +00:00
whesse@google.com 56e8555efd Mark failing android content_shell tests in status files.
BUG=dartbug.com/19276 dartbug.com/19274
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37079 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-06 13:37:19 +00:00
fschneider@google.com 96a454a01e Fix try-catch and continue in switch statements.
When assigning the try-index for continue targets, use
the try index of the enclosing nested statement, not the
current try-index of the graph builder.

BUG=dartbug.com/18869
TEST=tests/language/switch_try_catch_test.dart
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36876 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-02 15:46:31 +00:00
whesse@google.com 512ef6b6c8 Update status files with ContentShellOnAndroid failures.
BUG=dartbug.com/19127
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36867 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-02 11:40:06 +00:00
regis@google.com b7c5f90bf0 Address TODOs and remove obsolete ones.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36813 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-29 23:06:02 +00:00
paulberry@google.com 2c4bba8522 Generate proper override warnings when conflicting members are inherited.
BUG=dartbug.com/16135 dartbug.com/17983
R=jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36690 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-27 15:57:31 +00:00
asgerf@google.com 6dd0c99091 dart2dart: Introduce compound assignment and prefix increment in dart_codegen.
Rewrite x = x + E ==> x += E.
Rewrite x += 1 ==> ++x

Currently, this never clicks for variables because are still in pseudo-SSA form, but it clicks for fields and index assignemnts.

BUG=
R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36681 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-27 14:12:06 +00:00
asgerf@google.com f29b3960a8 dart2dart: Test cases for better code coverage in dart_tree rewritings.
Also:
- fixes a pattern matching bug revealed by a test.
- contains a tool for profiling multiple compilations in Dart Observatory.

BUG=
R=sigurdm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36678 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-27 13:39:35 +00:00
johnniwinther@google.com 8522acc30c Handle metadata on nested function parameters.
BUG=http://dartbug.com/16281
R=karlklose@google.com

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

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36653 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-27 08:29:27 +00:00
asgerf@google.com 9e6547b68e dart2dart: Fix fallthrough in while statements.
BUG=
R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36566 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-23 12:38:04 +00:00
johnniwinther@google.com b4c8f544ee Revert "Handle metadata on nested function parameters."
This reverts commit r36547.

Crash in
http://build.chromium.org/p/client.dart/builders/dart2js-linux-release-minified-1-5-be/builds/4716/steps/dart2js-d8%20tests%20--minified/logs/stdio

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36563 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-23 11:45:44 +00:00
johnniwinther@google.com 7d040cee6b Handle metadata on nested function parameters.
BUG=http://dartbug.com/16281
R=karlklose@google.com

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36547 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-23 08:30:36 +00:00
paulberry@google.com 086a6aee39 Get rid of unnecessary flaky annotation
Issue 16498 was fixed in February, so we should be able to run these
tests normally now.

R=brianwilkerson@google.com, jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36519 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-22 18:16:11 +00:00
scheglov@google.com 555bc4ef2d New analyzer snapshot.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36511 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-22 16:58:29 +00:00
johnniwinther@google.com bca0af893a Revert "Handle metadata on nested function parameters."
This reverts commit r36485.

Crash in
http://build.chromium.org/p/client.dart/builders/dart2js-ff-linux-4-4-be/builds/5670/steps/dart2js-ff%20tests/logs/stdio

R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36489 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-22 12:29:18 +00:00
johnniwinther@google.com 4f6742dc8e Handle metadata on nested function parameters.
BUG=http://dartbug.com/16281
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36485 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-22 11:20:21 +00:00
fschneider@google.com 9bd4d203fe Fix bug with optimized try-catch and unboxed values.
The environment at calls inside try-blocs must only contain tagged values.
Therefore we can't eliminate boxing instructions that are used in environments.

Since we only generate boxing instructions for environment uses inside try-blocks
there are no performance implications otherwise (outside try-blocks).

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36472 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-22 08:25:42 +00:00
brianwilkerson@google.com 5d7cf18eb4 Fix for issue 17476
R=jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36441 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-21 17:20:26 +00:00
regis@google.com 38319b0f33 Fix issue 18435 (2nd attempt).
Add regression test.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36402 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-21 00:32:32 +00:00
brianwilkerson@google.com 2b4968e242 Fix for issue 14527
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36371 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-20 18:19:14 +00:00
regis@google.com 8d7bc4bef5 Revert bad fix.
Review URL: https://codereview.chromium.org//288343005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36365 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-20 17:03:10 +00:00
regis@google.com 9ae1b1f5e0 Fix issue 18435.
Add regression test.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36362 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-20 16:41:37 +00:00
asgerf@google.com 7b2d4019c1 dart2dart: Logical operators and related rewrite rules in dart_tree.
BUG=
R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36356 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-20 13:13:28 +00:00
regis@google.com 295aa14d5f Fix issue 18865.
Add regression test.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36307 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-19 17:31:14 +00:00
zra@google.com ccf5def384 Fixes bug in megamorphic instance call on arm64.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36306 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-19 16:48:10 +00:00
ricow@google.com 87736b119b Mark language/megamorphic_no_such_method_test and standalone/io/http_shutdown_test as skip on simarm64
I did _not_ file a new bug since there is already a section with tests that times out on simarm64 without a bug, so I assume this is being worked on.

The cl that triggered this is pretty strange, should not really have an impact:
https://code.google.com/p/dart/source/detail?r=36290

R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36294 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-19 12:59:53 +00:00
scheglov@google.com af851cdcdc New analyzer snapshot (with CaughtException).
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36256 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-16 01:43:54 +00:00
jwren@google.com 94dc67f9b5 Fix for analyzer, 18562, warning for deferred types is now generated on type tests, casts and catch clauses.
R=brianwilkerson@google.com, scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36223 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-15 14:51:36 +00:00
regis@google.com 989aa3348a Fix an undetected Smi overflow on ARM.
Fix wrongly triggered overflow in optimized code on Intel.
Add a test.
Address a few TODOs.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36186 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-14 19:57:04 +00:00
brianwilkerson@google.com c217bd1284 Fix for issue 16423
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36127 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-13 20:37:03 +00:00
zra@google.com eb11b8a7a0 Adds far-branches to arm64.
Also fixes bugs and enables tests.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36051 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-12 18:43:08 +00:00
zra@google.com ea99b1e6f8 Adds debugger patching to arm64.
Also other small fixes.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36003 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-09 23:20:14 +00:00
brianwilkerson@google.com ed77fdec57 Triage some failing tests
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35975 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-09 15:29:42 +00:00
paulberry@google.com 5e0f96f201 Evaluate constant instance creation expressions in ConstantValueComputer.
Previously, we evaluated them in ConstantVisitor; as a result we
couldn't take advantage of the ConstantValueComputer's depedendency
graph, so we couldn't detect cycles involving constant constructor
declarations.  This will become important soon, when we expand our
constant evaluation logic to traverse constructor field initializers.

With this change, ConstantValueComputer stores the computed value of
each constant instance creation expression in the AST (similar to how
it stores the computed value of each constant variable in the element
model), and ConstantVisitor simply looks up the already-computed
value.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35969 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-09 12:51:25 +00:00
floitsch@google.com 43658855d0 Fix checkedInstructionOrNonGenerateAtUseSite.
BUG= http://dartbug.com/15720

R=sra@google.com

Committed: https://code.google.com/p/dart/source/detail?r=32074
Reverted: https://code.google.com/p/dart/source/detail?r=32080

Committed: https://code.google.com/p/dart/source/detail?r=34325
Reverted: https://code.google.com/p/dart/source/detail?r=34335

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35966 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-09 09:45:42 +00:00
scheglov@google.com 86d01fb53a Issue 18653. Report error for a const constructor in a class with a mixin.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=18653

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35953 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-08 23:21:36 +00:00
zra@google.com 5d94e8900f Adds single-precision and SIMD load/store to arm64.
Also adds conversion between double an single-precision floats.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35933 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-08 19:06:04 +00:00