Reviewers: Mads Ager,

Description:
Fix an issue discovered in regress-969.

When running with 10 stress runs we get polymorphic stores.  This revealed
an incorrect bailout ID for the state following a polymorphic store.  The ID
should be the internal ID of the assignment side-effect, not the ID of the
end of the expression.

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

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

Affected files:
  M src/hydrogen.cc


Index: src/hydrogen.cc
diff --git a/src/hydrogen.cc b/src/hydrogen.cc
index bfb6d1bdcef9c0655b10d81f0c9a45ba34bfc772..e8185451fbb4b018849323b8a107d31944ccd7d6 100644
--- a/src/hydrogen.cc
+++ b/src/hydrogen.cc
@@ -3257,7 +3257,7 @@ void HGraphBuilder::HandlePolymorphicStoreNamedField(Assignment* expr,
     }

     HBasicBlock* new_exit_block =
-        BuildTypeSwitch(&maps, &subgraphs, object, expr->id());
+        BuildTypeSwitch(&maps, &subgraphs, object, expr->AssignmentId());
     subgraph()->set_exit_block(new_exit_block);
   }



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

Reply via email to