commit | ff57e4f355f14bc47a97348416a63f14baf93e76 | [log] [tgz] |
---|---|---|
author | Vyacheslav Egorov <vegorov@google.com> | Fri Jun 29 20:11:49 2018 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Fri Jun 29 20:11:49 2018 +0000 |
tree | 16528e65b0139455d26ed9714abcb466e94b8e02 | |
parent | a2cca0ad2b7d807f3370245280b34eddda23fa1b [diff] |
[vm/compiler] Teach compiler to fold load of type_args_len from constant args desc. This allows optimizer to eliminate redundant code branching on type_args_len which arises when inlining generic methods. Start refactoring how loads of native fields are represented: instead of simply setting a bunch of unrelated attributes introduce NativeFieldDesc structure that captures attributes of native fields, which don't have representation as Field objects. Over the time we should be able to eliminate "raw" LoadField/StoreInstanceField instructions that just address fields by their offset and use NativeFieldDesc-s in load forwarding to disambiguate different native fields that happen to have the same offset. Change-Id: I91658888e17bd68c5f9d4f2e1a783b2827efe61f Reviewed-on: https://dart-review.googlesource.com/62304 Commit-Queue: Vyacheslav Egorov <vegorov@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com>
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
Visit the dartlang.org to learn more about the language, tools, getting started, and more.
Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.
If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.
There are more documents on our wiki.
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.