Commit graph

2810 commits

Author SHA1 Message Date
Emily Fortuna a721f87f99 More rearranging the deck chairs on the titanic.
According to the comments, only closures proper have free variables. Running tests support this. So let's move it into that branch.

BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2951923002 .
2017-06-21 10:47:54 -07:00
Johnni Winther 0600f0ad9a Add closure_test for kernel based members
+ change id_equivalence_test to check kernel from .dill

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2951723002 .
2017-06-21 09:52:46 +02:00
Johnni Winther e41d0a63c2 Compute KernelClosureRepresentationInfo.variableIsUsedInTryOrSync
This handles one of the current inequivalences on hello world from dill.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2938203003 .
2017-06-20 12:45:51 +02:00
Johnni Winther 4a31a0be47 Add closure_test
- currently only for AST-based elements; IR-based to come

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2950493002 .
2017-06-20 12:27:19 +02:00
Emily Fortuna 8ba4f78dd3 Revert "Reapply "Minor adjustment to usage of the ClosureClassRepresentation interface.""
This reverts commit d9c6ae3438.

BUG=

Review-Url: https://codereview.chromium.org/2944163003 .
2017-06-19 17:49:21 -07:00
Emily Fortuna d9c6ae3438 Reapply "Minor adjustment to usage of the ClosureClassRepresentation interface."
This reverts commit 0ee0717cc3.

BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2944073003 .
2017-06-19 17:39:20 -07:00
Emily Fortuna 0ee0717cc3 Revert "Minor adjustment to usage of the ClosureClassRepresentation interface."
This reverts commit 85f37133f9.

BUG=

Review-Url: https://codereview.chromium.org/2946843002 .
2017-06-19 17:11:17 -07:00
Emily Fortuna 85f37133f9 Minor adjustment to usage of the ClosureClassRepresentation interface.
BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2947763002 .
2017-06-19 16:42:37 -07:00
Peter von der Ahé 69d6e8e55a All strong mode cleaning of dart2js.
Fixes https://github.com/dart-lang/sdk/issues/29886

Supersedes CLs 2939193003, 2950433002, and 2947583002.

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2944843002 .
2017-06-19 14:06:38 +02:00
Johnni Winther 99ff7d2b77 Compile and run Hello World!
Committed: 1214e6fba6

Reverted: 482502705a
Review-Url: https://codereview.chromium.org/2942863002 .
2017-06-16 15:37:05 +02:00
Johnni Winther 208744eab7 Towards compiling Hello World!
R=efortuna@google.com, sigmund@google.com

Committed: 778feb0504

Reverted: 482502705a
Review-Url: https://codereview.chromium.org/2939033002 .
2017-06-16 14:48:07 +02:00
Johnni Winther dff4772a01 Add J-elements
This adds object for a simple 1-to-1 J-element model to test that the codegen doesn't depend on the frontend model.

BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2937203002 .
2017-06-16 13:48:49 +02:00
Johnni Winther 1b580129bf Fix unittests
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2939943005 .
2017-06-16 13:00:59 +02:00
Johnni Winther 795e078f21 Remove Compiler.mainApp and Compiler.mainFunction
This prepares for switching between K and J elements between resolution and codegen.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2936233003 .
2017-06-16 13:00:21 +02:00
Peter von der Ahé e24970ef40 dart2js isn't strong mode clean yet.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2939313003 .
2017-06-16 12:21:54 +02:00
Johnni Winther 482502705a Revert "Towards compiling Hello World!" and "Compile and run Hello World!"
This reverts commit 778feb0504 and 1214e6fba6.

Review-Url: https://codereview.chromium.org/2938193003 .
2017-06-16 11:34:05 +02:00
Johnni Winther 1214e6fba6 Compile and run Hello World!
Review-Url: https://codereview.chromium.org/2942863002 .
2017-06-16 11:23:00 +02:00
Johnni Winther 778feb0504 Towards compiling Hello World!
R=efortuna@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2939033002 .
2017-06-16 10:45:23 +02:00
Peter von der Ahé 2e6e44a69b Strong mode cleaning of many dart2js tests.
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2939063002 .
2017-06-16 09:31:29 +02:00
Emily Fortuna 0edf55ceab Change type of ClosureTask to ClosureConversionTask (new supertype) in one other file.
BUG=

Review-Url: https://codereview.chromium.org/2943023002 .
2017-06-15 17:24:07 -07:00
Sigmund Cherem dc329bdcf3 fix inferrer bug
BUG=https://github.com/dart-lang/sdk/issues/29885
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2940023004 .
2017-06-15 16:18:05 -07:00
Emily Fortuna 932dcd7145 Modify backend strategy and how we access the closure converter.
BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2939163002 .
2017-06-15 15:29:30 -07:00
Peter von der Ahé ba2cde4607 Switch the defaults: strong mode is now default, but we stil check tests in Dart mode.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2938943003 .
2017-06-15 14:16:39 +02:00
Peter von der Ahé 0750bc20ed Finish strong mode cleaning of dart2js.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2941033002 .
2017-06-15 13:49:02 +02:00
Peter von der Ahé b4066914eb Late night strong mode cleaning.
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2942763002 .
2017-06-15 09:44:50 +02:00
Peter von der Ahé 06b8ce5d34 More dart2js strong mode cleanup.
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2934333002 .
2017-06-15 09:42:22 +02:00
Peter von der Ahé fe2365584b More strong mode cleaning in dart2js.
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2941763002 .
2017-06-15 09:34:47 +02:00
Emily Fortuna 1e599fd213 Edit docs as per Siggi's feedback.
BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2937143002 .
2017-06-14 17:13:54 -07:00
Emily Fortuna 7302ea43cf Make requiresContextBox a getter as per Siggi's suggestion.
BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2936323003 .
2017-06-14 17:12:33 -07:00
Emily Fortuna e6d7c0500c Rename ClosureClassMaps to CLosureDataLookup
(doing small tasks while I wait to talk to Siggi).

BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2938853004 .
2017-06-14 16:55:57 -07:00
Emily Fortuna a05f5000ad Modify types in dump_info to make kernel checked mode happy.
This is a follow up CL from https://codereview.chromium.org/2933363003

BUG=

Review-Url: https://codereview.chromium.org/2940883006 .
2017-06-14 13:39:46 -07:00
Peter von der Ahé 87700d381c Start making dart2js strong mode clean.
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2938823002 .
2017-06-14 20:34:07 +02:00
Emily Fortuna a27ebd0c94 Add ClosureRepresentationInfo, the new public face of ClosureClassMap
(removal of methods exposing ClosureClassMap coming in follow up CL).

BUG=
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2933363003 .
2017-06-14 11:15:08 -07:00
Johnni Winther 195470419e Fix strong mode warning
Review-Url: https://codereview.chromium.org/2942583002 .
2017-06-14 13:45:05 +02:00
Johnni Winther 6a6a330623 Parameterize and move JumpTarget/LabelDefition to elements/jumps.dart
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2930293002 .
2017-06-14 12:27:38 +02:00
Johnni Winther 52b1ea04e8 Refactor LoopHandler to avoid calling KernelAstAdapter.getNode
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2932023003 .
2017-06-14 12:18:34 +02:00
Johnni Winther ea070c7264 Add ClosedWorld.elementEnvironment and remove Compiler.elementEnvironment
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2935063002 .
2017-06-14 10:27:38 +02:00
Johnni Winther 5afe65e891 Remove Compiler.commonElements
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2935663002 .
2017-06-14 10:18:42 +02:00
Emily Fortuna 0753ac689e Handle named mixin application in emitter
Fixes regression in language/regress_18713_test with --csp

Closes #29844
Closes #29843

This reapplies Johnni's change from here: https://codereview.chromium.org/2934783002/

I am submitting it instead of Johnni because without this change we are blocking the new dart update internally in Google.
BUG=
TBR

Review-Url: https://codereview.chromium.org/2936063002 .
2017-06-13 14:23:20 -07:00
Emily Fortuna 32e0be82ff Reapply "Separate out loop closure information."
This reverts commit d85512e0ad.

BUG=

Review-Url: https://codereview.chromium.org/2936693002 .
2017-06-12 14:55:17 -07:00
Emily Fortuna d85512e0ad Revert "Separate out loop closure information."
This reverts commit 5636a225d7.

BUG=

Review-Url: https://codereview.chromium.org/2936683002 .
2017-06-12 11:01:09 -07:00
Emily Fortuna 5636a225d7 Separate out loop closure information.
BUG=
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2932103002 .
2017-06-12 10:07:09 -07:00
Peter von der Ahé d8783acfb3 Revert "Handle named mixin application in emitter"
This reverts commit d109fad7f3.

Also, update status and ignore strong mode warning.

R=erikcorry@google.com

Review-Url: https://codereview.chromium.org/2933093002 .
2017-06-12 14:21:34 +02:00
Johnni Winther d109fad7f3 Handle named mixin application in emitter
Fixes regression in language/regress_18713_test with --csp

Review-Url: https://codereview.chromium.org/2934783002 .
2017-06-12 11:49:29 +02:00
Johnni Winther 44258bc8eb Support field initializers and static/top-level fields in compile_with_dill_test
+ a String literal!

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2931153002 .
2017-06-12 10:01:25 +02:00
Johnni Winther 7bd8cfe670 Handle instance fields in compile_from_dill_test
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2929143002 .
2017-06-12 09:46:37 +02:00
Johnni Winther b1f129d258 Add MemberEntity.member and refactor Emitter.getReflectionName to avoid mixin Selector and Entity
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2933553002 .
2017-06-12 09:42:22 +02:00
Johnni Winther bed356cd46 Add FrontendStrategy.commonElements and remove Backend.commonElements
This a step towards support different models between the frontend and the backend.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2932883002 .
2017-06-12 09:35:22 +02:00
Johnni Winther 61c100da49 Rename FrontEndStrategy to FrontendStrategy
It hurts my eyes to see

  FrontEndStrategy frontEndStrategy ...
  BackendStrategy backendStrategy ...

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2932793005 .
2017-06-12 09:30:18 +02:00
Emily Fortuna d9015a73ea Separate out ClosureAnalysisInfo to separate interfaces between what
the SSA builder needs to know and what the locals handler needs.

BUG=
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2928063002 .
2017-06-09 13:29:17 -07:00