Chromium Code Reviews
Descriptiondart2js cps: Refactor tracking of side effects.
Primitives now getter for its side effects, as a bitmask.
This avoids a lot of code duplication between GVN, BoundsChecker, and
LoopSideEffects.
There are more flags than those in the SideEffects class (which is used
by the SSA backend, foreign code annotations, and type inference).
We are going to need these extra flags in general, but I want to use
them in the CPS first to see how they work out.
Upcoming changes which are "loose ends" in this CL to keep it manageable:
- Simplify GvnVectorBuilder using dependency flags.
- Stop the overuse of isSafeForElimination.
- Add the extra flags to the rest of the compiler.
BUG=
R=sigmund@google.com
Committed: https://github.com/dart-lang/sdk/commit/7f6c587de6654ea0b33d23d1c55a8f2a29316d1f
Reverted: https://github.com/dart-lang/sdk/commit/a7fe3b140cf93f52cbed72d448c4229c4102ac6a
Committed: https://github.com/dart-lang/sdk/commit/6f3b69d36519e1a0305b2879f9413b50662f87c4
Patch Set 1 #Patch Set 2 : Minor doc change #Patch Set 3 : Clarification #
Total comments: 10
Patch Set 4 : Rebase #Patch Set 5 : Rename Primitive.{effectsFlags => effects} and add docs #Patch Set 6 : Set isFinal at build time #Patch Set 7 : Added docs for isFinal #Patch Set 8 : Rebase #Patch Set 9 : Treat named argument as optional #
Total comments: 1
Messages
Total messages: 17 (9 generated)
|