Reviewers: fschneider,

Description:
Merge r9778 from the bleeding_edge to the 3.5 branch.

Take loop side-effects into account when collecting side-effects on the path
between two blocks.

[email protected]
BUG=100409
TEST=test/mjsunit/regress/regress-100409.js

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

SVN Base: http://v8.googlecode.com/svn/branches/3.5/

Affected files:
  M     src/hydrogen.cc
  M     src/version.cc
  A  +  test/mjsunit/regress/regress-100409.js


### BEGIN SVN COPY METADATA
#$ cp branches/bleeding_edge/test/mjsunit/regress/regress-100409.js test/mjsunit/regress/regress-100409.js
### END SVN COPY METADATA
Index: src/hydrogen.cc
===================================================================
--- src/hydrogen.cc     (revision 9791)
+++ src/hydrogen.cc     (working copy)
@@ -1487,6 +1487,9 @@
         block->block_id() < dominated->block_id() &&
         visited_on_paths_.Add(block->block_id())) {
       side_effects |= block_side_effects_[block->block_id()];
+      if (block->IsLoopHeader()) {
+        side_effects |= loop_side_effects_[block->block_id()];
+      }
       side_effects |= CollectSideEffectsOnPathsToDominatedBlock(
           dominator, block);
     }
Index: src/version.cc
===================================================================
--- src/version.cc      (revision 9791)
+++ src/version.cc      (working copy)
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     5
 #define BUILD_NUMBER      10
-#define PATCH_LEVEL       22
+#define PATCH_LEVEL       23
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0
Index: test/mjsunit/regress/regress-100409.js


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

Reply via email to