Florian Schneider b043314bce VM: Fix illegal code motion.
Without tracking dependencies more explicitly we can't propagate the
cid of values whose cid is guarded by a CheckClassId:

The CheckClassId c may not be hoisted by LICM because it is guarded
by a Redefinition r. However, after constant propagation and branch simplification
code that was not previously dominated by c (and r) may become dominated by c and r.

This code won't be using the redefined value r, but the original value and therefore
LICM can illegally eliminated checks / hoist dependent loads.

BUG=
R=vegorov@google.com

Review URL: https://codereview.chromium.org/1928633002 .
2016-04-27 19:05:19 +02:00
2016-04-27 19:05:19 +02:00
2016-04-27 08:14:24 -07:00
2015-09-14 16:27:51 -07:00
2015-05-18 19:33:16 +02:00
2015-07-16 09:51:56 -07:00
2016-04-22 14:20:25 -07:00
2015-09-18 13:18:10 -07:00

Dart

Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.

Using Dart

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.

Building Dart

Learn how to get the source and prepare your machine to build the SDK.

There are more documents on our wiki.

Contributing to Dart

The easiest way to contribute to Dart is to file issues.

You can also contribute patches, as described in Contributing.

License

See LICENSE.

S
Description
No description provided
Readme BSD-3-Clause 1.4 GiB
Languages
Dart 84.6%
C++ 13%
Python 0.7%
JavaScript 0.5%
HTML 0.4%
Other 0.5%