Reviewers: fschneider,
Description:
Merge r9778 from the bleeding_edge to the 3.6 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/8394039/
SVN Base: http://v8.googlecode.com/svn/branches/3.6/
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 6
#define BUILD_NUMBER 6
-#define PATCH_LEVEL 5
+#define PATCH_LEVEL 6
// 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