commit | a603635b85733e640c9fcf1bbffac8bd80b2eabe | [log] [tgz] |
---|---|---|
author | Martin Kustermann <kustermann@google.com> | Thu Jun 07 11:35:58 2018 +0000 |
committer | Martin Kustermann <kustermann@google.com> | Thu Jun 07 11:35:58 2018 +0000 |
tree | 72a4aa027dfecb8741232c6602e8297836dba1ab | |
parent | 0d6be92bfb999c8f596805635d13622f6d11e20b [diff] |
[VM] Decouple frontend from frame layout So far the frontend (parser, flow graph builder, ssa construction) were aware of the actual frame layout. This CL makes the indices we assign to [LocalVariable]s logical indices, assigning: * M parameters the indices 1 ... M * N local variables the indices 0 -1 ... -(N-1) The scope building, flow graph builder and ssa construction operate on those logical indices. When emitting actual code, the backend will translate those indices into actual FP relative indices. This allows us to be more flexible in the backend which frame layout we choose. Issue https://github.com/dart-lang/sdk/issues/33274 Change-Id: I9a504bf97821c257aafd2b3430df9f4c9da4b442 Reviewed-on: https://dart-review.googlesource.com/57321 Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: Vyacheslav Egorov <vegorov@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.