Commit Graph

4835 Commits

Author SHA1 Message Date
kmillikin@google.com d729e9a9b5 dart2dart: Remove the list of closureVariables from FunctionDefinitions.
Function definitions had a list of closure variables (which was always
empty in the JS backend).  This list has no code generation semantics
because it is ignored by the Tree IR builder.  Instead, when translating
to Tree IR, a reference to an unbound closure variable implicitly
'declares' it.

The closure variables were however used for the S-expression serialized
representation.  They can be eliminated here as well by using the same
trick as the Tree IR builder.

R=asgerf@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43337 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-30 13:20:23 +00:00
johnniwinther@google.com 6adce0d176 Enable enums by default.
BUG=http://dartbug.com/21885
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43334 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-30 12:21:12 +00:00
johnniwinther@google.com f555a43210 Support async getters.
BUG=http://dartbug.com/22184
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43333 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-30 12:13:46 +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
zarah@google.com 6a8effe2c9 dart2js: move recording of interceptorInvocationNames from addParameterStub.
This is done as a step towards sharing the generation of parameter stubs between the new and the old emitter. The remaining code in addParameterStub is now independent of the old emitter.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43326 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-30 07:52:48 +00:00
floitsch@google.com c7b7332e92 dart2js: Rename metadata_emitter.dart to metadata_collector.dart.
R=zarah@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43321 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 23:25:02 +00:00
floitsch@google.com 2abf9d8f50 dart2js: emit metadata in new emitter.
The metadata currently doesn't yet contain all the information that is needed.

R=zarah@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43320 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 23:23:30 +00:00
floitsch@google.com aaedcf4982 dart2js: Fix types in new emitter.
R=zarah@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43319 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 23:22:25 +00:00
floitsch@google.com b06ece7160 dart2js: Rename metadataEmitter to metadataCollector and make it independent of old emitter.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43293 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 16:05:58 +00:00
herhut@google.com f3320ee386 Revert "Move reflection support out of model."
This reverts r43289.

BUG=
TBR=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43291 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 15:39:19 +00:00
herhut@google.com b1cbce0324 Move reflection support out of model.
BUG=
R=floitsch@google.com, zarah@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43289 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 15:05:04 +00:00
floitsch@google.com b5aaeefa52 dart2js: Move metadata from old_emitter to shared directory.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43288 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 14:54:25 +00:00
herhut@google.com d7d9541c39 Suffix temporary API for incremental compilation in program_builder with HackForIncrementalCompilation.
BUG=
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43286 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 14:50:21 +00:00
zarah@google.com 13c8a282a4 Revert "dart2js: remove invalid case in generateParameterStubStatements in NativeEmitter."
Added comment.

This reverts commit r43282.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43285 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 14:32:28 +00:00
zarah@google.com 23f271218d dart2js: remove invalid case in generateParameterStubStatements in NativeEmitter.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43282 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 13:36:42 +00:00
herhut@google.com 3a3481efdf Fix CPA inference.
BUG=
TBR=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43281 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 13:25:36 +00:00
herhut@google.com 52473bd7ba Move computation of method flags into model.
BUG=
R=floitsch@google.com, zarah@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43279 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 12:56:04 +00:00
zarah@google.com c34e9461c0 dart2js: remove unused parameter.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43278 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 12:51:06 +00:00
herhut@google.com cf16709196 Fix remaining uses of lookupConstructor.
BUG=
TBR=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43277 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 12:24:54 +00:00
johnniwinther@google.com adb08cfc80 Supported versioned patching.
BUG=
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43275 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 12:07:48 +00:00
herhut@google.com 93fe77b250 Change signature of lookupConstructor to only require a name.
BUG=
R=johnniwinther@google.com

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

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43272 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 09:34:42 +00:00
johnniwinther@google.com 6fb90bc36c Support constructor declarations in analyzer2dart.
BUG=
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43271 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 07:57:57 +00:00
sra@google.com 42c9644934 Give CodeEmitterTask a name for -v compiles
It was printing as 'Unknown task'.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43269 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 02:35:17 +00:00
floitsch@google.com 993755261e Address comments frorm https://codereview.chromium.org/871073002/
Review URL: https://codereview.chromium.org//885673002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43245 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 16:25:16 +00:00
herhut@google.com 8bb44a196d Improve comment of isInstantiated.
BUG=
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43243 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 13:43:39 +00:00
floitsch@google.com 11e7613aae dart2js: Remove unused variable.
R=zarah@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43240 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 13:29:38 +00:00
floitsch@google.com 9fb8b88e0c dart2js: store typeToInterceptorMap in the model.
R=zarah@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43239 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 13:11:26 +00:00
floitsch@google.com 345f72a4bd dart2js: Not all interceptor accesses are safe.
R=zarah@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43237 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 13:09:52 +00:00
floitsch@google.com 16e7e0cc85 dart2js: add mangled-global-names embedded global to new emitter.
R=zarah@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43236 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 13:03:59 +00:00
herhut@google.com e2d3745597 Use [ClassElement.isSubclassOf] instead of [World.isSubClassOf].
BUG=
TBR=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43232 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 09:45:13 +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
herhut@google.com f1ac5d30ad Use prototype inheritance to reduce number of is check properties.
BUG=
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43229 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 08:54:46 +00:00
zarah@google.com ce4808f59f dart2js: add type lookup in the new emitter.
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43189 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 16:21:01 +00:00
herhut@google.com 01bfb2af9d Use the unused [assembleCode].
BUG=
TBR=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43187 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 15:19:56 +00:00
floitsch@google.com fabe7580cc dart2js: remove unused function in native emitter.
Review URL: https://codereview.chromium.org//881803002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43186 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 14:13:46 +00:00
floitsch@google.com 10f80000e5 dart2js: move mapTypeToInterceptor generation to interceptor_stub_generator. and rename to typeToInterceptorMap.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43183 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 13:04:51 +00:00
floitsch@google.com 8285fa7ddf dart2js: extract a native-blob handler and make it emitter-independent.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43182 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 13:03:41 +00:00
floitsch@google.com f5a02dcbca dart2js: remove additionalProperties and store it directly as nativeBlob.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43181 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 12:59:15 +00:00
floitsch@google.com d5377710ba dart2js: native classes go through the normal code path.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43178 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 12:14:55 +00:00
floitsch@google.com b4678cab8b dart2js: Run prepareNativeClasses in the program builder.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43177 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 12:10:38 +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
hausner@google.com 14a76e2389 Unfix the fix
TBR

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43166 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 00:39:37 +00:00
hausner@google.com 6265a49bc9 Fix build, work around broken --enable-async flag
TBR

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43165 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 00:18:36 +00:00
kmillikin@google.com 5f57d08cb8 Reapply "Add a shrinking reduction for dead continuation parameters."
This reapplies SVN revision r43093 with bug fixes.  A failing assert
was fixed, and continuation eta-reduction was restricted to not change
non-call continuations into call continuations.  If these were to
occur, they risk duplicating code and so are not always on
optimization.

BUG=
R=asgerf@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43135 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 13:51:37 +00:00
floitsch@google.com b60b8dbd4d dart2js: Fix small typo in warnings comments.
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43134 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 13:45:43 +00:00
floitsch@google.com e317d42708 dart2js: move emitClass to emitter.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43133 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 13:44:16 +00:00
floitsch@google.com 65fa8ebc3a Don't create builders to determine if a native class is trivial or not.
Also use `emitClass` to emit the native classes (instead of duplicating the code).

R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43132 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 13:43:35 +00:00
floitsch@google.com bceae09ccc dart2js: Fix bad is-check in native_emitter.
Review URL: https://codereview.chromium.org//867963003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43112 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-23 16:35:29 +00:00
floitsch@google.com 7a3a84f249 dart2js: add work-around hack for try.
Review URL: https://codereview.chromium.org//871073002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43109 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-23 15:40:00 +00:00
floitsch@google.com 039742118f dart2js: Make emitInstanceMember take a Class and not a classElement.
R=zarah@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43108 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-23 14:50:20 +00:00