Reviewers: Kevin Millikin,

Message:
Please take a look. This change prevents invalid reuse of elements after
ElementsKindTransitions. To make that work, it allows hoisting and GVN on values that have side effects but don't make "observable" changes (feel free to suggest
another name). These side effects don't require Simulates.

Downside: GVN must be done repeatedly, since removing values with side effects
enable further GVN.

Description:
Add and use ElementsKind side effect

Also partition side effects into observable and not observable, with only
observable requiring Simulates and non-observable changes able to participate in
GVN and code hoisting.

BUG=none
TEST=none


Please review this at http://codereview.chromium.org/8380017/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/arm/lithium-arm.cc
  M src/hydrogen-instructions.h
  M src/hydrogen-instructions.cc
  M src/hydrogen.cc
  M src/ia32/lithium-ia32.cc
  M src/x64/lithium-x64.cc


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to